WordPress/wp-includes
Bernhard Reiter 12884f0361 HTML API: Add support for BUTTON element.
This patch adds support to process the BUTTON element. This requires adding some additional semantic rules to handle situations where a BUTTON element is already in scope.

Also included is a fixup to enforce that `WP_HTML_Processor::next_tag()` never returns for a tag closer. This is useful with the Tag Processor, but not for the HTML Processor. There were tests relying on this behavior to assert that internal processes were working as they should, but those tests have been updated to use the semi-private `step()` function, which does stop on tag closers.

This patch is one in a series of changes to expand support within the HTML API, moving gradually to allow for more focused changes that are easier to review and test. The HTML Processor is a work in progress with a certain set of features slated to be ready and tested by 6.4.0, but it will only contain partial support of the HTML5 specification even after that. Whenever it cannot positively recognize and process its input it bails, and certain function stubs and logical stubs exist to structure future expansions of support.

Props dmsnell.
Fixes #58961.
Built from https://develop.svn.wordpress.org/trunk@56380


git-svn-id: http://core.svn.wordpress.org/trunk@55892 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-10 08:37:20 +00:00
..
assets Docs: Remove @see references for SimplePie classes. 2023-08-10 01:06:21 +00:00
block-patterns
block-supports Editor: Lazily load Duotone settings only when needed. 2023-07-13 11:34:28 +00:00
blocks Editor: second update of npm packages for 6.3 RC3. 2023-08-01 08:01:54 +00:00
certificates
css Editor: second update of npm packages for 6.3 RC3. 2023-08-01 08:01:54 +00:00
customize Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:00:22 +00:00
fonts
html-api HTML API: Add support for BUTTON element. 2023-08-10 08:37:20 +00:00
ID3
images
IXR
js Docs: Remove @see references for SimplePie classes. 2023-08-10 01:06:21 +00:00
php-compat
PHPMailer
pomo
Requests
rest-api Docs: Fix indentation issue in WP_REST_Global_Styles_Revisions_Controller class. 2023-07-19 22:53:23 +00:00
SimplePie
sitemaps Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:19:23 +00:00
sodium_compat
style-engine Editor: add box shadow support to blocks. 2023-06-26 23:44:29 +00:00
Text
theme-compat
widgets Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:21:22 +00:00
admin-bar.php Coding Standards: Use instanceof keyword instead of the is_a() function. 2023-08-03 12:10:28 +00:00
atomlib.php
author-template.php
block-editor.php Editor: add iframe around post editor. 2023-06-27 00:23:23 +00:00
block-i18n.json
block-patterns.php Editor: allow filtering block patterns by source. 2023-06-27 11:13:27 +00:00
block-template-utils.php Editor: fix duplication in templates list. 2023-08-01 02:12:24 +00:00
block-template.php Toolbar: Make the 'Edit site' link open the editor with the current template. 2023-07-11 11:33:27 +00:00
blocks.php Editor: trim footnote anchors from post excerpts. 2023-07-17 01:47:26 +00:00
bookmark-template.php
bookmark.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:17:29 +00:00
cache-compat.php
cache.php
canonical.php Code Modernization: Use str_contains() in a few more places. 2023-07-17 13:18:27 +00:00
capabilities.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:17:29 +00:00
category-template.php Coding Standards: Rewrite loose comparison in wp_list_categories(). 2023-08-05 14:02:26 +00:00
category.php
class-feed.php
class-http.php
class-IXR.php
class-json.php
class-oembed.php
class-phpass.php
class-phpmailer.php
class-pop3.php
class-requests.php
class-simplepie.php
class-smtp.php
class-snoopy.php
class-walker-category-dropdown.php
class-walker-category.php
class-walker-comment.php
class-walker-nav-menu.php Menus: Allow themes and plugins to pass HTML attributes to various Nav Walker outputs. 2023-06-27 15:26:27 +00:00
class-walker-page-dropdown.php
class-walker-page.php
class-wp-admin-bar.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:17:29 +00:00
class-wp-ajax-response.php
class-wp-application-passwords.php
class-wp-block-editor-context.php
class-wp-block-list.php
class-wp-block-parser-block.php Editor: Update block-serialization-default-parser package for WP 6.3 Beta 1. 2023-06-27 00:45:38 +00:00
class-wp-block-parser-frame.php Editor: Update block-serialization-default-parser package for WP 6.3 Beta 1. 2023-06-27 00:45:38 +00:00
class-wp-block-parser.php Editor: Update block-serialization-default-parser package for WP 6.3 Beta 1. 2023-06-27 00:45:38 +00:00
class-wp-block-pattern-categories-registry.php
class-wp-block-patterns-registry.php
class-wp-block-styles-registry.php
class-wp-block-supports.php
class-wp-block-template.php
class-wp-block-type-registry.php
class-wp-block-type.php
class-wp-block.php
class-wp-classic-to-block-menu-converter.php Docs: Various docblocks corrections. 2023-07-18 07:37:21 +00:00
class-wp-comment-query.php
class-wp-comment.php
class-wp-customize-control.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:17:29 +00:00
class-wp-customize-manager.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:17:29 +00:00
class-wp-customize-nav-menus.php
class-wp-customize-panel.php
class-wp-customize-section.php
class-wp-customize-setting.php
class-wp-customize-widgets.php
class-wp-date-query.php
class-wp-dependencies.php
class-wp-dependency.php
class-wp-duotone.php Editor: Lazily load Duotone settings only when needed. 2023-07-13 11:34:28 +00:00
class-wp-editor.php Editir: Fix open_basedir warnings on the classic Edit Post screen when additional TinyMCE plugins are used. 2023-07-14 20:59:26 +00:00
class-wp-embed.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:17:29 +00:00
class-wp-error.php
class-wp-fatal-error-handler.php
class-wp-feed-cache-transient.php
class-wp-feed-cache.php Docs: Remove @see references for SimplePie classes. 2023-08-10 01:06:21 +00:00
class-wp-hook.php
class-wp-http-cookie.php Code Modernization: Use str_starts_with() and str_ends_with() in a few more places. 2023-06-24 17:17:23 +00:00
class-wp-http-curl.php HTTP API: Declare a few default parameters in WP_Http_Curl and WP_Http_Streams. 2023-07-03 14:03:29 +00:00
class-wp-http-encoding.php
class-wp-http-ixr-client.php
class-wp-http-proxy.php
class-wp-http-requests-hooks.php
class-wp-http-requests-response.php
class-wp-http-response.php
class-wp-http-streams.php HTTP API: Declare a few default parameters in WP_Http_Curl and WP_Http_Streams. 2023-07-03 14:03:29 +00:00
class-wp-http.php
class-wp-image-editor-gd.php Docs: Fix incorrect type for $crop param is various WP_Image_Editor classes and methods. 2023-07-11 06:31:22 +00:00
class-wp-image-editor-imagick.php Media: Adjust PDF upload handling to remove non-opaque alpha channels from previews. 2023-07-19 22:35:27 +00:00
class-wp-image-editor.php Coding Standards: Use strict comparison in wp-includes/class-wp-image-editor.php. 2023-08-06 12:52:25 +00:00
class-wp-list-util.php General: Revert strict comparison in WP_List_Util for now. 2023-07-05 11:15:22 +00:00
class-wp-locale-switcher.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:25:23 +00:00
class-wp-locale.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:25:23 +00:00
class-wp-matchesmapregex.php
class-wp-meta-query.php
class-wp-metadata-lazyloader.php
class-wp-navigation-fallback.php Docs: Various docblocks corrections. 2023-07-18 07:37:21 +00:00
class-wp-network-query.php
class-wp-network.php Coding Standards: Use strict comparison in wp-includes/class-wp-network.php. 2023-07-12 09:46:25 +00:00
class-wp-object-cache.php
class-wp-oembed-controller.php
class-wp-oembed.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:25:23 +00:00
class-wp-paused-extensions-storage.php
class-wp-post-type.php
class-wp-post.php
class-wp-query.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:25:23 +00:00
class-wp-recovery-mode-cookie-service.php
class-wp-recovery-mode-email-service.php
class-wp-recovery-mode-key-service.php
class-wp-recovery-mode-link-service.php
class-wp-recovery-mode.php
class-wp-rewrite.php Coding Standards: Use strict comparison in wp-includes/class-wp-rewrite.php. 2023-07-11 11:35:23 +00:00
class-wp-role.php
class-wp-roles.php Coding Standards: Use strict comparison in wp-includes/class-wp-roles.php. 2023-07-28 11:37:25 +00:00
class-wp-scripts.php Coding Standards: Correct equals sign alignment in various files. 2023-07-20 00:06:21 +00:00
class-wp-session-tokens.php
class-wp-simplepie-file.php Docs: Remove @see references for SimplePie classes. 2023-08-10 01:06:21 +00:00
class-wp-simplepie-sanitize-kses.php Docs: Remove @see references for SimplePie classes. 2023-08-10 01:06:21 +00:00
class-wp-site-query.php
class-wp-site.php
class-wp-styles.php
class-wp-tax-query.php Coding Standards: Use strict comparison in wp-includes/class-wp-tax-query.php. 2023-07-08 10:48:24 +00:00
class-wp-taxonomy.php
class-wp-term-query.php
class-wp-term.php
class-wp-text-diff-renderer-inline.php
class-wp-text-diff-renderer-table.php Code Modernization: Deprecate dynamic properties in WP_Text_Diff_Renderer_Table magic methods. 2023-08-03 18:13:24 +00:00
class-wp-textdomain-registry.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:25:23 +00:00
class-wp-theme-json-data.php
class-wp-theme-json-resolver.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:40:23 +00:00
class-wp-theme-json-schema.php
class-wp-theme-json.php Themes: Use isset instead of array_key_exists in WP_Theme_JSON class. 2023-08-01 20:31:25 +00:00
class-wp-theme.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:48:22 +00:00
class-wp-user-meta-session-tokens.php
class-wp-user-query.php Code Modernization: Deprecate dynamic properties in WP_User_Query magic methods. 2023-08-03 16:27:25 +00:00
class-wp-user-request.php
class-wp-user.php Coding Standards: Use strict comparison in wp-includes/class-wp-user.php. 2023-07-10 12:53:26 +00:00
class-wp-walker.php
class-wp-widget-factory.php
class-wp-widget.php
class-wp-xmlrpc-server.php Code Modernization: Use str_contains() in a few more places. 2023-07-17 13:18:27 +00:00
class-wp.php Coding Standards: Use strict comparison in wp-includes/class-wp.php. 2023-08-07 10:01:27 +00:00
class-wpdb.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:48:22 +00:00
class.wp-dependencies.php
class.wp-scripts.php
class.wp-styles.php
comment-template.php
comment.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:48:22 +00:00
compat.php General: Increase the minimum supported version of PHP to 7.0.0. 2023-07-05 17:41:22 +00:00
cron.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:48:22 +00:00
date.php
default-constants.php Docs: Clarify where the wp_get_development_mode() value is retrieved from. 2023-07-14 14:10:26 +00:00
default-filters.php Default Filters: Correct hook type for wp_print_scripts and customize_controls_print_styles. 2023-07-05 16:21:27 +00:00
default-widgets.php
deprecated.php General: Rename wp_in_development_mode() to wp_is_development_mode(). 2023-07-17 14:50:21 +00:00
embed-template.php
embed.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:48:22 +00:00
error-protection.php
feed-atom-comments.php Coding Standards: Use strict comparison in wp-includes/feed-atom-comments.php. 2023-07-29 00:31:35 +00:00
feed-atom.php
feed-rdf.php
feed-rss2-comments.php
feed-rss2.php
feed-rss.php
feed.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 21:48:22 +00:00
formatting.php Coding Standards: Use strict comparison in wp-includes/formatting.php. 2023-07-30 08:53:25 +00:00
functions.php Coding Standards: Use strict comparison in wp-includes/functions.php. 2023-07-31 13:33:24 +00:00
functions.wp-scripts.php Script Loader: Add support for HTML 5 "async" and "defer" attributes. 2023-06-26 13:42:23 +00:00
functions.wp-styles.php
general-template.php Code Modernization: Use str_contains() in a few more places. 2023-06-26 10:17:25 +00:00
global-styles-and-settings.php Editor: Fix bug where it was not possible to style custom block elements in theme.json. 2023-07-18 00:02:22 +00:00
http.php Coding Standards: Use instanceof keyword instead of the is_a() function. 2023-08-03 12:10:28 +00:00
https-detection.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:38:25 +00:00
https-migration.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:38:25 +00:00
kses.php Coding Standards: Use strict comparison in wp-includes/kses.php. 2023-08-09 11:01:24 +00:00
l10n.php I18N: Ensure determine_locale() does not potentially return an empty string. 2023-06-23 16:03:25 +00:00
link-template.php Code Modernization: Use str_contains() in a few more places. 2023-07-17 13:18:27 +00:00
load.php General: Rename wp_in_development_mode() to wp_is_development_mode(). 2023-07-17 14:50:21 +00:00
locale.php
media-template.php
media.php Media: Simplify logic in wp_get_loading_optimization_attributes(). 2023-08-02 17:58:26 +00:00
meta.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:38:25 +00:00
ms-blogs.php
ms-default-constants.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
ms-default-filters.php
ms-deprecated.php
ms-files.php
ms-functions.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
ms-load.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
ms-network.php
ms-settings.php
ms-site.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
nav-menu-template.php
nav-menu.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
navigation-fallback.php Editor: load title on navigation fallback. 2023-07-25 06:30:20 +00:00
option.php Options, Meta APIs: Expand $autoload parameter documentation. 2023-08-07 19:33:32 +00:00
pluggable-deprecated.php
pluggable.php Code Modernization: Use str_contains() in a few more places. 2023-07-17 13:18:27 +00:00
plugin.php
post-formats.php
post-template.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
post-thumbnail-template.php
post.php Editor: update string incorrectly marked for translation in Chrome. 2023-07-11 05:10:23 +00:00
query.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
registration-functions.php
registration.php
rest-api.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 22:48:22 +00:00
revision.php Coding Standards: Use strict comparison in wp-includes/revision.php. 2023-08-04 11:58:25 +00:00
rewrite.php Coding Standards: Use strict comparison in wp-includes/rewrite.php. 2023-07-11 11:15:27 +00:00
robots-template.php
rss-functions.php
rss.php
script-loader.php Script Loader: Use defer loading strategy for wp-embed script and move to head (in block themes). 2023-08-03 19:22:22 +00:00
session.php
shortcodes.php Coding Standards: Correct equals sign alignment in various files. 2023-07-20 00:06:21 +00:00
sitemaps.php
spl-autoload-compat.php
style-engine.php
taxonomy.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:11:22 +00:00
template-canvas.php
template-loader.php
template.php Themes: Avoid unnecessary check whether parent template file exists when not using a child theme. 2023-08-03 20:31:22 +00:00
theme-i18n.json
theme-previews.php General: Escape nonce used for block theme activation. 2023-07-12 05:21:23 +00:00
theme-templates.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:11:22 +00:00
theme.json Editor: stabilise layout and refactor definitions. 2023-06-27 07:25:22 +00:00
theme.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:11:22 +00:00
update.php Upgrade/Install: Pass stored credentials to WP_Filesystem() where appropriate. 2023-08-01 16:07:25 +00:00
user.php Coding Standards: Use instanceof keyword instead of the is_a() function. 2023-08-03 12:10:28 +00:00
vars.php General: Update Opera browser sniff follow UA string changes. 2023-07-13 00:58:25 +00:00
version.php HTML API: Add support for BUTTON element. 2023-08-10 08:37:20 +00:00
widgets.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-10 23:11:22 +00:00
wp-db.php
wp-diff.php