The HTML Processor had been calling the parent class `is_tag_closer()`
method, but since visiting virtual nodes was introduced, it's important
that all of the methods are called on the subclass.
This patch fixes one issue identified where the parent method was called
instead, and it fixes another case where the change from calling the
parent method to the `$this` method was done improperly.
Developed in https://github.com/WordPress/wordpress-develop/pull/6726
Discussed in https://core.trac.wordpress.org/ticket/61348
Props jonsurrell.
See #61348.
Follow-up to [58304].
git-svn-id: https://develop.svn.wordpress.org/trunk@58365 602fd350-edb4-49c9-b593-d223f7449a82
When the `WP_HTML_Processor` was introduced with its `::create_fragment()`
static creator method, that method has been returning a `new self(...)`.
Unfortunately, this means that subclasses cannot use that method since it
will return the `WP_HTML_Processor` instead of the subclass.
With this patch, the static creator method returns `new static(...)` to preserve
the intended behavior. A new test asserts this behavior for future changes.
Developed in https://github.com/WordPress/wordpress-develop/pull/6729
Discussed in https://core.trac.wordpress.org/ticket/61374
Props dmsnell, jonsurrell.
Follow-up to [56274].
Fixes#61374.
git-svn-id: https://develop.svn.wordpress.org/trunk@58363 602fd350-edb4-49c9-b593-d223f7449a82
The oEmbed endpoint for SlideShare is effectively deprecated and throws an error for the majority of slide-decks using the service.
Capitalize the name of the service in the deprecation notice in accordance with the wordmark.
Props peterwilsoncc, mukesh27, swissspidy, talldanwp, dd32.
Fixes#61349.
git-svn-id: https://develop.svn.wordpress.org/trunk@58362 602fd350-edb4-49c9-b593-d223f7449a82
Stores the font file sub-directory in the `wp_font_face` post meta. Similar to attachments, only the portion of the path relative to the base directory is stored.
This ensures the files can be deleted alongside their post on sites using a plugin to store font files in sub-directories. Previously running such a plugin would result in the files remaining on the file system post delete.
Props costdev, grantmkin, peterwilsoncc.
Fixes#61297.
git-svn-id: https://develop.svn.wordpress.org/trunk@58353 602fd350-edb4-49c9-b593-d223f7449a82
Fix issue where the image details would shift position during AJAX updates in the media modal. Occurred when the Attachment Details heading was translated into a language where the text no longer alowed space for the 'Saved' message to the right of the message.
Props pavelevap, SergeyBiryukov, antpb, joedolson, shailu25.
Fixes#27914.
git-svn-id: https://develop.svn.wordpress.org/trunk@58352 602fd350-edb4-49c9-b593-d223f7449a82
This prevents workflow runs in older branches that are using older versions of runner images from displaying the wrong operating system in job names.
Because the updated files are reusable, this change will automatically fix the issue in all older branches without the need to backport.
See #61213.
git-svn-id: https://develop.svn.wordpress.org/trunk@58351 602fd350-edb4-49c9-b593-d223f7449a82
This introduces a new input to separate the ability to save the built WordPress ZIP from generating the artifacts necessary for comments with Playground testing details.
The ZIP file is used by the performance testing workflow for performing comparisons, so it should be built and saved for every `push` event. The Playground related steps should only run on `pull_request`.
Follow up to [58274].
Props jorbin.
See #59416.
git-svn-id: https://develop.svn.wordpress.org/trunk@58345 602fd350-edb4-49c9-b593-d223f7449a82
This adds additional hardening to the Autoload options Health Check to avoid potential bugs when extenders return unserialzed values from `wp_load_alloptions()`.
Follow-up to [58332].
Props mukesh27, joemcgill, westonruter.
Fixes#61276.
git-svn-id: https://develop.svn.wordpress.org/trunk@58338 602fd350-edb4-49c9-b593-d223f7449a82
The `$comment_id` parameter of the `get_comment_author` filter is documented as a numeric string, however in case a non-existing comment ID is passed to the `get_comment_author()` function, it could be an integer instead.
This commit resolves the issue and adds a PHPUnit test demonstrating the behavior.
Includes updating `get_comment_author_url()` unit tests for consistency.
Follow-up to [41127], [52818].
Props david.binda.
Fixes#60475.
git-svn-id: https://develop.svn.wordpress.org/trunk@58335 602fd350-edb4-49c9-b593-d223f7449a82
This caches the generated CSS from block nodes in merged Theme JSON data to avoid repeated costly operations required to compute style properties for blocks. The generated CSS is saved to a transient that expires every hour.
Props thekt12, spacedmonkey, pereirinha, mukesh27, isabel_brison, oandregal, andrewserong, ramonjd.
Fixes#59595.
git-svn-id: https://develop.svn.wordpress.org/trunk@58334 602fd350-edb4-49c9-b593-d223f7449a82
This changeset ensures the `user_activation_key` is flushed after successful login, so reset password links can not be used anymore after the user successfully log into their dashboard.
Props nsinelnikov, rajinsharwar, Rahmohn, oglekler, hellofromTonya.
Fixes#58901.
See #32429
git-svn-id: https://develop.svn.wordpress.org/trunk@58333 602fd350-edb4-49c9-b593-d223f7449a82
This adds a new Site Health check that will alert site owners if they are autoloading a large amount of data from the options table, as it could result in poor performance. The issue will be shown if the size of autoloaded options is greater than 800 KB, which can be adjusted using the new `site_status_autoloaded_options_size_limit` filter.
Props mukesh27, joemcgill, rajinsharwar, costdev, audrasjb, krupajnanda, pooja1210, Ankit K Gupta, johnbillion, oglekler.
Fixes#61276.
git-svn-id: https://develop.svn.wordpress.org/trunk@58332 602fd350-edb4-49c9-b593-d223f7449a82
This allows a calling workflow to configure the PHPUnit workflow to `continue-on-error` when one occurs. This is useful for older branches where support for a specific version of PHP was not at 100% within the test suite.
Follow up to [58165], [58269], [58270], [58329].
See #61213.
git-svn-id: https://develop.svn.wordpress.org/trunk@58331 602fd350-edb4-49c9-b593-d223f7449a82
This allows a specific version of PHP to be used when calling the reusable end-to-end testing workflow, which is particularly useful in older branches.
Follow up to [58165], [58269], [58270].
See #61213.
git-svn-id: https://develop.svn.wordpress.org/trunk@58329 602fd350-edb4-49c9-b593-d223f7449a82
The Interactivity API has a concept of "derived state" but it only worked on the client (JavaScript). This is the implementation that mirrors it, so derived state has good server-side solution.
Props jonsurrell, darerodz, gziolo, luisherranz, cbravobernal.
Fixes#61037.
git-svn-id: https://develop.svn.wordpress.org/trunk@58327 602fd350-edb4-49c9-b593-d223f7449a82
Removing old code for registering the private version of the Interactivity API pre-6.5.
Props czapla, gziolo, shailu25, cbravobernal.
Fixes#60913.
git-svn-id: https://develop.svn.wordpress.org/trunk@58322 602fd350-edb4-49c9-b593-d223f7449a82
Aims to improve the developer experience of the Interactivity API server directives processing.
Props cbravobernal, jonsurrell, westonruter, darerodz, czapla, gziolo.
Fixes#61044.
git-svn-id: https://develop.svn.wordpress.org/trunk@58321 602fd350-edb4-49c9-b593-d223f7449a82
Ensures property access in PHP works for object properties or associative array values correctly when processing Interactivity API directives.
Props narenin, cbravobernal, jonsurrell, gziolo, czapla.
Fixes#61039.
git-svn-id: https://develop.svn.wordpress.org/trunk@58320 602fd350-edb4-49c9-b593-d223f7449a82
This changeset deactivates the download authenticity message by disabling package signature verification, at least until software signing is fully implemented on wordpress.org. The provided message had no actionability and only led to more support.
Props jipmoors, afercia, bridgetwillard, s0what, rajinsharwar, audrasjb, johnbillion, peterwilsoncc.
Fixes#47315.
git-svn-id: https://develop.svn.wordpress.org/trunk@58319 602fd350-edb4-49c9-b593-d223f7449a82
Adds a filter to move the duotone classname to the outer wrapper on aligned images.
Props scruffian, isabel_brison, ajlende.
Fixes#61271.
git-svn-id: https://develop.svn.wordpress.org/trunk@58313 602fd350-edb4-49c9-b593-d223f7449a82
Checks if `__experimentalSkipSerialization` is set and returns early from `wp_apply_shadow_support` if so.
Props colind, madhudollu, aaronrobertshaw, vcanales, isabel_brison, swissspidy, youknowriad.
Fixes#60784.
git-svn-id: https://develop.svn.wordpress.org/trunk@58312 602fd350-edb4-49c9-b593-d223f7449a82
The `WP_Style_Engine` class has a method `get_classnames` that builds classnames. It loops over an array to add each classname. This changeset adds a `continue` in the loop after adding the default classname.
Syncs changes from https://github.com/WordPress/gutenberg/pull/60153
Props ramonopoly.
Fixes#60847.
git-svn-id: https://develop.svn.wordpress.org/trunk@58311 602fd350-edb4-49c9-b593-d223f7449a82
This changeset adds a check in Site Health to display whether the fonts directory is writable or not.
Follow-up to [58299].
Props ironprogrammer.
Fixes#60719.
git-svn-id: https://develop.svn.wordpress.org/trunk@58310 602fd350-edb4-49c9-b593-d223f7449a82
[58139] introduced debugging flags to ensure debugging output would only be shown when both the `WP_DEBUG` and `WP_DEBUG_LOG` constants are defined as true. However, some of the flags incorrectly use `WP_DEBUG_DISPLAY` rather than `WP_DEBUG_LOG`.
This fixes the flags to consistently use `WP_DEBUG` and `WP_DEBUG_LOG` as intended.
Follow-up to [58128], [58139].
Props rogermedia, afragen, swissspidy, costdev.
Fixes#58281.
git-svn-id: https://develop.svn.wordpress.org/trunk@58309 602fd350-edb4-49c9-b593-d223f7449a82
The Rollback Auto-Update feature introduced additional maintenance mode toggling.
After installing WordPress in a non-English (US) language, translation updates are performed automatically. As there may be a large number of updates for Core and bundled themes, users will be presented with a maintenance notice upon visiting the newly installed website.
To avoid concerning users that the website has failed to install correctly, this excludes translation updates from triggering the additional maintenance mode toggling.
Follow-up to [58128].
Props benniledl, afragen, rajinsharwar, costdev.
Fixes#61260. See #58281.
git-svn-id: https://develop.svn.wordpress.org/trunk@58308 602fd350-edb4-49c9-b593-d223f7449a82
Change the edit menu item toggle to communicate more context about the item to be edited. Make edit text consistent between Customizer menu editor and admin menu editor.
The menu position is conveyed only visually, using indentation, because there are no organizational semantics in either editor. This change helps provide screen reader users with consistent contextual information about the order, position, and parent of the current item.
Props joedolson, rcreators, afercia, mohonchandra.
Fixes#60673, See #60672.
git-svn-id: https://develop.svn.wordpress.org/trunk@58306 602fd350-edb4-49c9-b593-d223f7449a82
Fix an issue where the GD image library falsely reports supporting the AVIF format, when support is actually missing. Add an additional function check to ensure AVIF support is really available.
Props niktat, adamsilverstein.
Fixes#60910
git-svn-id: https://develop.svn.wordpress.org/trunk@58305 602fd350-edb4-49c9-b593-d223f7449a82
HTML is a kind of short-hand for a DOM structure. This means that there are
many cases in HTML where an element's opening tag or closing tag is missing (or
both). This is because many of the parsing rules imply creating elements in the
DOM which may not exist in the text of the HTML.
The HTML Processor, being the higher-level counterpart to the Tag Processor, is
already aware of these nodes, but since it's inception has not paused on them
when scanning through a document. Instead, these are visible when pausing on a
child of such an element, but otherwise not seen.
In this patch the HTML Processor starts exposing those implicitly-created nodes,
including opening tags, and closing tags, that aren't foudn in the text content
of the HTML input document.
Previously, the sequence of matched tokens when scanning with
`WP_HTML_Processor::next_token()` would depend on how the HTML document was written,
but with this patch, all semantically equal HTML documents will parse and scan in
the same exact manner, presenting an idealized or "perfect" view of the document
the same way as would occur when traversing a DOM in a browser.
Developed in https://github.com/WordPress/wordpress-develop/pull/6348
Discussed in https://core.trac.wordpress.org/ticket/61348
Props audrasjb, dmsnell, gziolo, jonsurrell.
Fixes#61348.
git-svn-id: https://develop.svn.wordpress.org/trunk@58304 602fd350-edb4-49c9-b593-d223f7449a82