WordPress/wp-includes
audrasjb b1cb307a40 HTML API: Defer applying attribute updates until necessary.
When making repeated updates to a document, the Tag Processor will end
up copying the entire document once for every update. This can lead to
catastrophic behavior in the worse case.

However, when batch-applying updates it's able to copy chunks of the
document in one thread and only end up copying the entire document once
for the entire batch.

Previously the Tag Processor has been eagerly applying udpates, but in
this patch it defers applying those updates as long as is possible.
Developed in https://github.com/WordPress/wordpress-develop/pull/6120
Discussed in https://core.trac.wordpress.org/ticket/60697

Follow-up to [55706], [56941], [57348].

Reviewed by swissspidy.
Merges [57805] to the to the 6.5 branch.

Props dmsnell, bernhard-reiter, jonsurrell, westonruter.
Fixes #60697.




Built from https://develop.svn.wordpress.org/branches/6.5@57815


git-svn-id: http://core.svn.wordpress.org/branches/6.5@57316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-03-12 14:27:14 +00:00
..
assets Editor: Update Packages with the latest bug fixes for 6.5 RC 1 2024-03-04 14:08:24 +00:00
block-bindings Editor: Update Packages with the latest bug fixes for 6.5 RC 1 2024-03-04 14:08:24 +00:00
block-patterns
block-supports Editor: Fix instance element styles for links applying to buttons. 2024-02-20 11:22:09 +00:00
blocks Partially revert [57774]. 2024-03-05 13:59:18 +00:00
certificates
css Toolbar: Fix dropdown admin menu styles on front-end. 2024-03-12 09:56:10 +00:00
customize UI-Copy: Use capital cased singular for Site Icon. 2024-03-05 00:12:11 +00:00
fonts Font face resolver: print font faces from font families defined in all theme.json origins. 2024-02-27 12:06:10 +00:00
html-api HTML API: Defer applying attribute updates until necessary. 2024-03-12 14:27:14 +00:00
ID3 External Libraries: Update getID3 to version 1.9.23. 2023-10-20 13:29:27 +00:00
images Media: Replace media icon images with SVG. 2024-02-15 23:49:10 +00:00
interactivity-api Docs: Add missing @global mention in wp_interactivity(). 2024-03-05 13:39:13 +00:00
IXR
js Editor: Update Packages with the latest bug fixes for 6.5 RC 1 2024-03-04 14:08:24 +00:00
l10n I18N: Cast magic MO marker number to integer. 2024-03-04 15:54:10 +00:00
php-compat Tests: Use a @requires annotation for readonly() function test. 2023-10-26 20:33:22 +00:00
PHPMailer External Libraries: Upgrade PHPMailer to version 6.9.1. 2023-11-26 19:27:25 +00:00
pomo I18N: Improve docs for pomo library classes. 2024-02-28 09:31:12 +00:00
Requests External Libraries: Update Requests to 2.0.9. 2023-11-08 19:47:26 +00:00
rest-api REST API: Remove unnecessary upload overrides in font face controller. 2024-03-12 13:35:13 +00:00
SimplePie
sitemaps Coding Standards: Correct equals sign alignment in various files. 2023-11-02 00:04:24 +00:00
sodium_compat
style-engine Editor: introduce dimensions.aspectRatio block support. 2024-01-31 02:54:17 +00:00
Text Docs: Fix several typos in inline comments. 2024-01-18 22:13:16 +00:00
theme-compat I18N: Improve translator comments for strings containing date formats. 2023-11-26 16:43:30 +00:00
widgets Script Loader: Harden removal of script tag wrappers. 2023-09-29 19:47:21 +00:00
admin-bar.php Toolbar: Polish design and code combining duplicate profile links. 2024-03-04 21:50:11 +00:00
atomlib.php
author-template.php
block-bindings.php Editor: Merge uses_context defined by block bindings sources with block types 2024-02-16 12:55:11 +00:00
block-editor.php Editor: Remove 'wp-edit-site' stylesheet enqueue from iframe. 2023-09-27 17:40:20 +00:00
block-i18n.json
block-patterns.php Docs: Improve docblock for WP_Block_Patterns_Registry::register. 2024-02-27 21:05:11 +00:00
block-template-utils.php Block Hooks: Use new Templates Controller filter instead of action. 2024-03-11 14:15:33 +00:00
block-template.php Themes: Skip wrapping block template for singular content with a main query loop when the template was injected from outside the current theme. 2023-10-27 18:18:22 +00:00
blocks.php Editor: Add fallback for block version when registering block script module 2024-02-21 11:20:10 +00:00
bookmark-template.php
bookmark.php General: Revert code changes from [57191]. 2023-12-15 14:33:25 +00:00
cache-compat.php
cache.php
canonical.php Canonical: Limit post types searched by redirect_guess_404_permalink(). 2024-02-16 23:34:11 +00:00
capabilities.php
category-template.php Coding Standards: Upgrade WPCS to version 3.0.0. 2023-09-26 00:27:12 +00:00
category.php
class-avif-info.php Media: enable AVIF support. 2024-02-02 17:48:15 +00:00
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 General: Further improve language in SimplePie code comments. 2024-02-17 13:25:10 +00:00
class-smtp.php
class-snoopy.php
class-walker-category-dropdown.php Coding Standards: Restore more descriptive variable names in a few class methods. 2023-09-14 12:46:20 +00:00
class-walker-category.php Coding Standards: Remove superfluous blank lines at the end of various classes. 2023-09-08 09:32:23 +00:00
class-walker-comment.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-walker-nav-menu.php
class-walker-page-dropdown.php Coding Standards: Restore more descriptive variable names in a few class methods. 2023-09-14 12:46:20 +00:00
class-walker-page.php Coding Standards: Restore more descriptive variable names in a few class methods. 2023-09-14 12:46:20 +00:00
class-wp-admin-bar.php Toolbar: Polish design and code combining duplicate profile links. 2024-03-04 21:50:11 +00:00
class-wp-ajax-response.php
class-wp-application-passwords.php
class-wp-block-bindings-registry.php Editor: Merge uses_context defined by block bindings sources with block types 2024-02-16 12:55:11 +00:00
class-wp-block-bindings-source.php Editor: Merge uses_context defined by block bindings sources with block types 2024-02-16 12:55:11 +00:00
class-wp-block-editor-context.php
class-wp-block-list.php Coding Standards: Correct equals sign alignment in various files. 2023-11-02 00:04:24 +00:00
class-wp-block-parser-block.php
class-wp-block-parser-frame.php
class-wp-block-parser.php Update editor related npm packages for 6.4 RC1. 2023-10-16 19:17:19 +00:00
class-wp-block-pattern-categories-registry.php
class-wp-block-patterns-registry.php Docs: Improve docblock for WP_Block_Patterns_Registry::register. 2024-02-27 21:05:11 +00:00
class-wp-block-styles-registry.php
class-wp-block-supports.php Editor: Replace property_exists calls in block related functions with instanceof 2023-09-29 10:20:30 +00:00
class-wp-block-template.php
class-wp-block-type-registry.php Prevent unintended behavior when certain objects are unserialized. 2023-10-12 12:34:33 +00:00
class-wp-block-type.php Editor: Merge uses_context defined by block bindings sources with block types 2024-02-16 12:55:11 +00:00
class-wp-block.php Editor: Add id to the supported Image's binding attributes 2024-02-23 09:20:12 +00:00
class-wp-classic-to-block-menu-converter.php
class-wp-comment-query.php Query: Remove leading whitespace from certain database queries. 2024-03-02 13:38:07 +00:00
class-wp-comment.php
class-wp-customize-control.php Coding Standards: Add missing escaping functions to WP_Customize_Control and WP_Customize_Nav_Menu_Location_Control. 2024-01-28 07:50:18 +00:00
class-wp-customize-manager.php UI-Copy: Use capital cased singular for Site Icon. 2024-03-05 00:12:11 +00:00
class-wp-customize-nav-menus.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-customize-panel.php Coding Standards: Correct spacing for spread operators. 2023-09-10 09:04:18 +00:00
class-wp-customize-section.php Coding Standards: Correct spacing for spread operators. 2023-09-10 09:04:18 +00:00
class-wp-customize-setting.php Coding Standards: Correct spacing for spread operators. 2023-09-10 09:04:18 +00:00
class-wp-customize-widgets.php Docs: Fix several typos in inline comments. 2024-01-18 22:13:16 +00:00
class-wp-date-query.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-dependencies.php Coding Standards: Remove superfluous blank lines at the end of various classes. 2023-09-08 09:32:23 +00:00
class-wp-dependency.php
class-wp-duotone.php Editor: Prevent PHP warning when parsing duotone hue values. 2024-02-18 14:59:07 +00:00
class-wp-editor.php Docs: Document the $current_screen global in _WP_Editors::editor(). 2023-12-16 09:31:29 +00:00
class-wp-embed.php
class-wp-error.php
class-wp-fatal-error-handler.php Docs: Document the $wp_locale global in WP_Fatal_Error_Handler::handle(). 2023-12-16 09:38:25 +00:00
class-wp-feed-cache-transient.php
class-wp-feed-cache.php
class-wp-hook.php Plugins: Store result of call to array_keys, to save repeated calls in WP_Hook class. 2023-09-18 12:41:18 +00:00
class-wp-http-cookie.php
class-wp-http-curl.php HTTP API: Deprecate WP_Http_Curl and WP_Http_Streams classes. 2023-09-21 18:29:12 +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 Docs: Use US spelling and correct a typing mistake. 2023-10-11 07:05:25 +00:00
class-wp-http-response.php
class-wp-http-streams.php HTTP API: Deprecate WP_Http_Curl and WP_Http_Streams classes. 2023-09-21 18:29:12 +00:00
class-wp-http.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-image-editor-gd.php Docs: Revisit the canonical location for the image_save_progressive filter. 2024-02-13 11:54:13 +00:00
class-wp-image-editor-imagick.php Docs: Correct the duplicate hook reference for image_save_progressive filter. 2024-02-13 12:26:11 +00:00
class-wp-image-editor.php Media: enable AVIF support. 2024-02-02 17:48:15 +00:00
class-wp-list-util.php General: Revert r57698 for WP_List_Util::pluck(). 2024-02-27 22:38:15 +00:00
class-wp-locale-switcher.php I18N: Rename WP_Translation_Controller::instance() method to get_instance(). 2024-01-25 07:53:17 +00:00
class-wp-locale.php
class-wp-matchesmapregex.php Coding Standards: Rename the $oSelf variable in WP_MatchesMapRegex::apply(). 2024-02-06 01:25:14 +00:00
class-wp-meta-query.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-wp-metadata-lazyloader.php
class-wp-navigation-fallback.php Editor: Move wp_navigation schema updating to WP_Navigation_Fallback class. 2023-10-06 14:06:22 +00:00
class-wp-network-query.php Query: Remove leading whitespace from certain database queries. 2024-03-02 13:38:07 +00:00
class-wp-network.php
class-wp-object-cache.php
class-wp-oembed-controller.php
class-wp-oembed.php
class-wp-paused-extensions-storage.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-plugin-dependencies.php Plugins: Remove extra space in a translatable string. 2024-03-12 12:21:09 +00:00
class-wp-post-type.php REST API: Revert the refactor of global styles endpoints in REST API in [57624]. 2024-02-13 15:13:17 +00:00
class-wp-post.php
class-wp-query.php Docs: Update WP_Query::tax_query docblock to reflect that the property can be null. 2024-03-04 14:48:13 +00:00
class-wp-recovery-mode-cookie-service.php
class-wp-recovery-mode-email-service.php
class-wp-recovery-mode-key-service.php Docs: Document the $wp_hasher global in wp_generate_user_request_key(). 2023-12-24 13:05:21 +00:00
class-wp-recovery-mode-link-service.php
class-wp-recovery-mode.php
class-wp-rewrite.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
class-wp-role.php Coding Standards: Remove superfluous blank lines at the end of various classes. 2023-09-08 09:32:23 +00:00
class-wp-roles.php
class-wp-script-modules.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-scripts.php Script Loader: Remove unused WP_Scripts::get_unaliased_deps() method. 2024-02-05 09:43:12 +00:00
class-wp-session-tokens.php
class-wp-simplepie-file.php
class-wp-simplepie-sanitize-kses.php
class-wp-site-query.php Query: Remove leading whitespace from certain database queries. 2024-03-02 13:38:07 +00:00
class-wp-site.php
class-wp-styles.php
class-wp-tax-query.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-taxonomy.php
class-wp-term-query.php Query: Remove leading whitespace from certain database queries. 2024-03-02 13:38:07 +00:00
class-wp-term.php
class-wp-text-diff-renderer-inline.php Coding Standards: Allow $newlineEscape parameter in WP_Text_Diff_Renderer_inline::_splitOnWords(). 2024-02-14 19:27:09 +00:00
class-wp-text-diff-renderer-table.php Code Modernization: Declare dynamic properties on WP_Text_Diff_Renderer_Table. 2023-10-15 14:55:23 +00:00
class-wp-textdomain-registry.php I18N: Prevent incorrect language dropdown entries when there are .l10n.php files. 2024-02-16 10:28:12 +00:00
class-wp-theme-json-data.php Coding Standards: Remove superfluous blank lines at the end of various classes. 2023-09-08 09:32:23 +00:00
class-wp-theme-json-resolver.php Editor: Allow default duotone styles if not explicitly disabled in theme.json. 2024-01-10 00:27:15 +00:00
class-wp-theme-json-schema.php Coding Standards: Remove redundant ignore annotations, take 5. 2023-10-02 11:27:24 +00:00
class-wp-theme-json.php Editor: Simplify sanitization code path in WP_Theme_JSON after [57496] 2024-03-02 13:41:05 +00:00
class-wp-theme.php Themes: Add 'theme_files' cache group to block pattern cache operations. 2024-02-13 08:54:11 +00:00
class-wp-user-meta-session-tokens.php
class-wp-user-query.php Query: Remove leading whitespace from certain database queries. 2024-03-02 13:38:07 +00:00
class-wp-user-request.php
class-wp-user.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
class-wp-walker.php General: Consistently cast return value to int in functions that use ceil(). 2024-02-17 15:24:08 +00:00
class-wp-widget-factory.php
class-wp-widget.php
class-wp-xmlrpc-server.php General: Remove ableist language from code comments. 2024-02-11 19:14:19 +00:00
class-wp.php
class-wpdb.php Docs: Replace "sanity" with "confidence" for inclusive language. 2024-01-03 21:59:19 +00:00
class.wp-dependencies.php
class.wp-scripts.php
class.wp-styles.php
comment-template.php Themes: Use original template paths when switching blogs. 2024-02-21 19:26:08 +00:00
comment.php General: Consistently cast return value to int in functions that use ceil(). 2024-02-17 15:24:08 +00:00
compat.php Media: enable AVIF support. 2024-02-02 17:48:15 +00:00
cron.php Docs: Replace "sanity" with "confidence" for inclusive language. 2024-01-03 21:59:19 +00:00
date.php
default-constants.php Bundled Themes: Twenty Twenty-Four is now the default theme. 2023-09-26 17:33:20 +00:00
default-filters.php Block Hooks: Use new Templates Controller filter instead of action. 2024-03-11 14:15:33 +00:00
default-widgets.php
deprecated.php Media: Ensure wp_mine_type_icon() returns expected file type. 2024-02-21 19:29:04 +00:00
embed-template.php
embed.php General: Consistently cast return value to int in functions that use ceil(). 2024-02-17 15:24:08 +00:00
error-protection.php
feed-atom-comments.php Docs: Document the $post global in comment feed templates. 2024-03-04 12:41:10 +00:00
feed-atom.php
feed-rdf.php
feed-rss.php
feed-rss2-comments.php Docs: Document the $post global in comment feed templates. 2024-03-04 12:41:10 +00:00
feed-rss2.php
feed.php
fonts.php Editor: Prevent infinite loops when filtering the font library folder. 2024-02-29 10:17:07 +00:00
formatting.php Emoji: Replace twitter/twemoji with jdecked/twemoji. 2024-02-13 14:36:07 +00:00
functions.php Upgrade/Install: Normalize major versions in is_wp_version_compatible(). 2024-02-25 22:17:13 +00:00
functions.wp-scripts.php Docs: Correct some docblock formatting errors. 2023-11-01 15:10:20 +00:00
functions.wp-styles.php
general-template.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
global-styles-and-settings.php Script Loader: always output core block global styles after base global styles. 2024-02-07 04:37:15 +00:00
http.php
https-detection.php Security: remove the cron event that checked for https support. 2023-09-22 19:08:19 +00:00
https-migration.php
kses.php KSES: Add background-repeat to the list of safe CSS properties. 2023-12-26 14:24:21 +00:00
l10n.php I18N: Prevent incorrect language dropdown entries when there are .l10n.php files. 2024-02-16 10:28:12 +00:00
link-template.php Docs: Typo correction in wp_internal_hosts docblock. 2024-01-28 16:40:17 +00:00
load.php Coding Standards: Remove some extra trailing spaces. 2024-03-05 11:54:13 +00:00
locale.php
media-template.php Media: Change link text when attachment pages disabled. 2023-09-26 14:45:23 +00:00
media.php Coding Standards: Correct alignment in wp_get_attachment_image_src(). 2024-02-22 11:56:10 +00:00
meta.php Revisions: framework for storing post meta revisions. 2023-09-26 15:32:19 +00:00
ms-blogs.php Themes: Add 'theme_files' cache group to block pattern cache operations. 2024-02-13 08:54:11 +00:00
ms-default-constants.php
ms-default-filters.php
ms-deprecated.php
ms-files.php
ms-functions.php Docs: Replace miscellaneous incorrect PHPDoc tags. 2023-11-13 11:13:27 +00:00
ms-load.php
ms-network.php
ms-settings.php
ms-site.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
nav-menu-template.php Docs: Remove a trailing period from a URL in a @see tag. 2024-01-01 14:17:16 +00:00
nav-menu.php
option.php Docs: Use typed array notation for the $options parameter in some new functions. 2023-11-14 12:44:27 +00:00
pluggable-deprecated.php
pluggable.php Docs: Improve docblock for $x_redirect_by param in wp_redirect(). 2024-02-22 10:58:12 +00:00
plugin.php
post-formats.php
post-template.php
post-thumbnail-template.php
post.php Docs: Add a @since note for $preferred_ext parameter in wp_mime_type_icon(). 2024-02-23 09:43:12 +00:00
query.php
registration-functions.php
registration.php
rest-api.php Docs: Use more inclusive term in rest_filter_response_fields docblock. 2024-02-22 09:54:08 +00:00
revision.php Docs: Improve documentation for meta revision functions. 2023-10-23 13:17:22 +00:00
rewrite.php
robots-template.php
rss-functions.php
rss.php Docs: Improve various globals documentation, as per docblock standards. 2024-01-28 08:19:17 +00:00
script-loader.php Site icon: Polish up Site Icon on the general settings screen. 2024-02-26 20:18:09 +00:00
script-modules.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
session.php
shortcodes.php Shortcodes: Fix small typo in inline documentation. 2024-02-22 15:53:13 +00:00
sitemaps.php
spl-autoload-compat.php
style-engine.php Editor: disable default style engine optimisation. 2023-09-14 04:56:21 +00:00
taxonomy.php Docs: Various improvements and corrections to inline documentation. 2024-02-16 21:47:12 +00:00
template-canvas.php Coding Standards: Remove redundant ignore annotations, take 4. 2023-10-01 00:22:27 +00:00
template-loader.php
template.php Themes: Use original template paths when switching blogs. 2024-02-21 19:26:08 +00:00
theme-i18n.json
theme-previews.php Themes: fix documentation link. 2023-12-08 06:32:24 +00:00
theme-templates.php Script Loader: Enqueue inline style for block template skip link in head instead of footer. 2023-10-13 17:21:22 +00:00
theme.json General: Add $schema property to block and theme JSON files. 2024-01-23 13:07:16 +00:00
theme.php Themes: Use original template paths when switching blogs. 2024-02-21 19:26:08 +00:00
update.php Coding Standards: Include one space after function keyword for closures. 2023-09-12 15:23:18 +00:00
user.php Login and Registration: Slash email address when updating an existing user. 2024-02-26 10:43:06 +00:00
vars.php Coding Standards: Add missing fullstop to docblocks in wp-includes/vars.php 2024-02-13 10:11:09 +00:00
version.php HTML API: Defer applying attribute updates until necessary. 2024-03-12 14:27:14 +00:00
widgets.php Docs: Improve various globals documentation, as per docblock standards. 2024-01-28 08:19:17 +00:00
wp-db.php
wp-diff.php