-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Closed
Labels
[Feature] Block APIAPI that allows to express the block paradigm.API that allows to express the block paradigm.[Feature] HTML APIAn API for updating HTML attributes in markupAn API for updating HTML attributes in markup[Type] IterationScoped iteration of an effort from a tracking issue or overview issue ideally for a major release.Scoped iteration of an effort from a tracking issue or overview issue ideally for a major release.
Description
🔝Block API | HTML issues | Refactors | ↑ Broader Roadmap | ← Plans for 6.6 | → Plans for 6.8
Publications
Pre-release checklist.
- Review all docblocks and ensure they have appropriate example code.
- Review HTML API class docblocks and ensure they are updated to match currently support.
- Gather all non-
trunk
bug-fixes and enhancements into the Updates to the HTML API post.
Lingering work from 6.6
- Review all of the push/pop mechanics and polish them, figure out the proper comprehensive model of operation, and refactor the internals to ensure they are elegant and can be introspected.
Added Spec Support (Core-61576)
-
Tag supports:
- SVG and MathML foreign content.
- HTML API: Handle parsing changes in foreign content. wordpress-develop#6006
- Have
get_qualified_tag_name()
return lowercase tag names.
- TABLE support.
- SELECT support.
- FORM support.
- TEMPLATE support.
- PLAINTEXT support.
- SVG and MathML foreign content.
-
Various supports:
- HTML API: Stub out remaining insertion modes. wordpress-develop#6973
- HTML API: Improve implementation of adoption agency algorithm wordpress-develop#6983
- HTML API: Implement active format reconstruction wordpress-develop#6982
- HTML API: Implement reset_insertion_mode wordpress-develop#6020
- HTML API: Complete missing tags in the IN BODY insertion mode. wordpress-develop#6972
- HTML API: Add
create_full_parser()
for non-fragment parsing. wordpress-develop#6977 - HTML API: Simplify breadcrumb accounting. wordpress-develop#6981
- HTML API: Implement step_in_caption wordpress-develop#7041
- HTML API: Add in_column_group parsing wordpress-develop#7042
- HTML API: Implement step_in_select_in_table wordpress-develop#7044
- HTML API: Close all elements at the end of a document. wordpress-develop#7085
- HTML API: Allow additional fragment contexts. wordpress-develop#7141
- HTML API: Add support for missing FRAMESET and "after" insertion modes. wordpress-develop#7165
- HTML API: Fix A tag active formatting element loop missing break wordpress-develop#7281
- HTML API: Add missing NOBR end tag handling wordpress-develop#7282
-
Text handling
-
Parse DOCTYPE public and system identifiers, used for detecting quirks mode.
-
Testing and verification (Core-61646, Core-61530)
- HTML API: Join successive text nodes in html5lib test representation. wordpress-develop#6984
- HTML API: Expand Unsupported class and make it available for debugging. wordpress-develop#6985
- HTML API: Fix unsupported insertion mode messages wordpress-develop#7043
- HTML API: Add tests for comments wordpress-develop#6765
- HTML API: Test improvements wordpress-develop#7030
- HTML API: Use full parser for html5lib tests wordpress-develop#7117
- HTML API: Improve skipped test reporting with unsupported exception wordpress-develop#7285
New Features and Interfaces
- Core-61617 Add
set_modifiable_text()
for plaintext-only modifications. - Core-62036 Add
normalize()
,serialize()
, andget_full_comment_text()
Bug Fixes
-
Core-61560 The Fragment parser should not add the context node to the stack of open elements.
-
Core-61851
HTML_Processor::next_tag()
should respect thetag_name
argument. -
Various fixes:
- HTML API: Correct node name in
generate_implied_end_tags()
. wordpress-develop#6988 - Core-61719 If
kses
rejects an attribute update,set_attribute()
should returnfalse
. - Core-61810 Infinite loop on inputs with a missing SCRIPT end tag, which end in
-
or<
.
- HTML API: Correct node name in
-
Audit of CSS semantics and behaviors (Core-61531)
- HTML API: Remove leading whitespace removing class names wordpress-develop#6933
- HTML API: Parse doctypes and set full parser quirks mode correctly wordpress-develop#7195
- HTML API: Replace null-bytes in class_list class names wordpress-develop#7187
- HTML API: CSS class name methods should behave according to quirks mode wordpress-develop#7169
Enhancements
-
Core-61545 General performance improvements.
-
Core-61399 Add type annotations to HTML API code.
-
Add
is_self_contained_element()
to identify special atomic elements likeSCRIPT
,STYLE
,TITLE
, etc…
Blocks
- Continue developing block attribute sourcing.
- Iterate on the Server Directive Processor.
- Iterate on the Block Bindings processor.
Not likely in 6.7
- Setting inner or outer HTML because it should parse the provided new HTML in a fragment parser whose context node is the one in which it is found. Also, because we have to solve the problem of composition and avoiding re-parsing every level of inner content.
- With outside help a form of this may make it in to 6.7.
Backports into Gutenberg
Metadata
Metadata
Assignees
Labels
[Feature] Block APIAPI that allows to express the block paradigm.API that allows to express the block paradigm.[Feature] HTML APIAn API for updating HTML attributes in markupAn API for updating HTML attributes in markup[Type] IterationScoped iteration of an effort from a tracking issue or overview issue ideally for a major release.Scoped iteration of an effort from a tracking issue or overview issue ideally for a major release.