Commit Graph
101 Commits
Author SHA1 Message Date
Adam Vandolder 1a930c2506 Bug 1890428 - Add shadowrootserializable attribute. r=dom-core,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D206954
2024-05-15 16:40:20 +00:00
Tamas Szentpeteri 2b8d8ca135 Backed out 2 changesets (bug 1890428) for causing wpt failures on idlharness.https.html. CLOSED TREE
Backed out changeset 1954ce9669b8 (bug 1890428)
Backed out changeset 3e45e3d15eed (bug 1890428)
2024-05-15 11:19:46 +03:00
Adam Vandolder b04d4d4a7c Bug 1890428 - Add shadowrootserializable attribute. r=dom-core,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D206954
2024-05-15 03:01:18 +00:00
Cristian Tuns badab1c1b7 Backed out 2 changesets (bug 1890428) for causing failures in idlharness.window.html?exclude=Node CLOSED TREE
Backed out changeset f9cf0740eef2 (bug 1890428)
Backed out changeset 37e2a10a9022 (bug 1890428)
2024-05-14 19:42:37 -04:00
Adam Vandolder 7c3aa4aeb8 Bug 1890428 - Add shadowrootserializable attribute. r=dom-core,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D206954
2024-05-14 16:43:27 +00:00
Henri Sivonen 8912e2899e Bug 1884108 - Add interned attribute "event" to the HTML parser. r=dom-core,peterv
Differential Revision: https://phabricator.services.mozilla.com/D203902
2024-03-08 11:51:56 +00:00
Adam Vandolder f6565c9ebc Bug 1880188 - Add shadowrootclonable attribute support. r=webidl,emilio
Differential Revision: https://phabricator.services.mozilla.com/D202357
2024-02-28 19:00:34 +00:00
Adam Vandolder 41253c9010 Bug 1712140 - Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D193673
2023-12-07 21:27:09 +00:00
Iulian Moraru 8d186a8450 Backed out 6 changesets (bug 1712140) for causing sanitizer failures on nsHtml5TreeBuilder.cpp. CLOSED TREE
Backed out changeset b374469160e9 (bug 1712140)
Backed out changeset dfc44cccff32 (bug 1712140)
Backed out changeset 3a35e1401130 (bug 1712140)
Backed out changeset a93481858c38 (bug 1712140)
Backed out changeset a861fd445f56 (bug 1712140)
Backed out changeset dc1dc389f2dc (bug 1712140)
2023-12-07 08:16:23 +02:00
Adam Vandolder df29580266 Bug 1712140 - Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D193673
2023-12-06 22:50:48 +00:00
Stanca Serban 34d35a19ee Backed out 6 changesets (bug 1712140) for causing Linux related wpt failures in nsHtml5TreeBuilder.cpp. CLOSED TREE
Backed out changeset 3d799b386f3e (bug 1712140)
Backed out changeset 2ed53d545d6d (bug 1712140)
Backed out changeset 6f50077df42a (bug 1712140)
Backed out changeset e7c5449482f9 (bug 1712140)
Backed out changeset 5490dad148ef (bug 1712140)
Backed out changeset 50828058065e (bug 1712140)
2023-12-06 00:18:38 +02:00
Adam Vandolder a84c60dcca Bug 1712140 - Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D193673
2023-12-05 18:18:15 +00:00
Iulian Moraru 80baabd575 Backed out 6 changesets (bug 1712140) for causing wpt failures on declarative-shadow-dom-opt-in.html.
Backed out changeset 78e3a33470ae (bug 1712140)
Backed out changeset 8601fce480ef (bug 1712140)
Backed out changeset 4d2749962c5f (bug 1712140)
Backed out changeset b65511d17150 (bug 1712140)
Backed out changeset 8ae1f766f1f9 (bug 1712140)
Backed out changeset 4ffe7a6ad366 (bug 1712140)
2023-12-04 22:30:04 +02:00
Adam Vandolder 093a1c208c Bug 1712140 - Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D193673
2023-12-04 17:35:48 +00:00
Stanca Serban 3fa8347485 Backed out 6 changesets (bug 1712140) for causing wpt failures in declarative-shadow-dom-opt-in.html.
Backed out changeset 554a46ed8046 (bug 1712140)
Backed out changeset 14ebbfca2e84 (bug 1712140)
Backed out changeset 98dd5766dd46 (bug 1712140)
Backed out changeset 4241a7241a9b (bug 1712140)
Backed out changeset 59ee434d503e (bug 1712140)
Backed out changeset ff3bb42f91d1 (bug 1712140)
2023-12-01 03:26:27 +02:00
Adam Vandolder 25e193dc4a Bug 1712140 - Part 1: Add Declarative ShadowDOM attributes to parser. r=dom-core,emilio,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D193673
2023-11-30 23:17:14 +00:00
Emilio Cobos Álvarez 990106b121 Bug 1861068 - Make nsHTML5AttributeName constructors allocate less. r=hsivonen
This removes a bunch of allocations on startup.

Java changes: https://github.com/validator/htmlparser/pull/90

Differential Revision: https://phabricator.services.mozilla.com/D191870
2023-10-25 18:26:49 +00:00
Emilio Cobos Álvarez b0151878a9 Bug 1861010 - Avoid leaking on the nsHtml5AttributeName constructor. rpending=hsivonen CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D191865
2023-10-25 14:04:40 +00:00
Emilio Cobos Álvarez 7aa7edbcb0 Bug 1861010 - Improve nsHtml5AttributeName. r=hsivonen
In particular:

 * Store local names, namespaces, etc inline.
 * Avoid taking unnecessary atom references for non-interned atoms.

As a follow-up, we can look into making the input data truly static,
which would be nice.

Depends on D191853

Differential Revision: https://phabricator.services.mozilla.com/D191854
2023-10-25 12:37:26 +00:00
Henri Sivonen aeec0d45b1 Bug 1859527 - Update the generated includes in the HTML parser. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D191186
2023-10-18 08:40:49 +00:00
Mirko Brodesser 8d5b09646a Bug 1845073: add "fetchpriority" attribute to HTML parser. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D184458
2023-08-01 06:47:51 +00:00
Tom Schuster 9800e4119b Bug 1842199 - Add nonce attribute to HTML parser. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D182777
2023-07-10 12:48:23 +00:00
Cristina Horotan 47466e06c7 Backed out changeset 24e6bd152417 (bug 1627263) as requested because it landed with the wrong bug number 2023-07-10 14:31:32 +03:00
Tom Schuster a07c2d992f Bug 1627263 - Add nonce attribute to HTML parser. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D182777
2023-07-10 10:39:45 +00:00
Noemi Erli b00c4f8caf Backed out changeset dd6b4605ab60 (bug 1627263) for causing bustages in nsHtml5StackNode.h CLOSED TREE 2023-07-07 15:01:27 +03:00
Tom Schuster 3a794aa214 Bug 1627263 - Add nonce attribute to HTML parser. r=hsivonen
Depends on D182564

Differential Revision: https://phabricator.services.mozilla.com/D182777
2023-07-07 11:26:55 +00:00
Henri Sivonen a8ed2707bb Bug 1701828 - meta charset rewrite. r=smaug
Implements https://github.com/whatwg/html/issues/6962 . Improves performance
when <meta charset> occurs in head but after the first kilobyte and aligns
behavior better with WebKit and Blink.

The main change is to avoid reloads when meta appears within head but
after the first kilobyte. Prior to this change, Gecko reloaded in that
case (in compliance with the spec!) even though WebKit and Blink did not.

Differences from WebKit and Blink:

* WebKit and Blink honor <meta charset> in <noscript>. This implementation
  does not.
* WebKit and Blink look for meta as if the tree builder was unaware of
  foreign content. This implementation is foreign content-aware. This
  makes a difference for CDATA sections that contain a > before the meta
  as well as style and script elements within foreign content. This could
  happen if the CDATA section that has mysteriously been introduced around
  a what looks like a meta tag also contains another prior tag-looking
  run of text.
* This implementation processes rel=preload and speculative loads that are
  seen before <meta charset> has been seen. WebKit and Blink instead first
  look for the meta and rewind before starting speculative parsing.
* Unlike WebKit, if there is neither an honored meta nor syntax resembling
  an XML declaration, detection from content takes place (as in Blink).
* Unlike Blink, if there is neither an honored meta nor syntax resembling
  an XML declaration, the detection from content is not dependent of network
  buffer boundaries.
* Unlike Blink, detection from content can trigger a reload at the end of
  the stream if the guess made at that point differs from the first guess.
  (See below for the definition of the input to the first guess.)

Differences from the old spec and Gecko previously:

* Meta inside script and RCDATA elements is no longer honored.
* Late meta is now ignored and no longer triggers a reload.
* Later meta counts as early enough meta: In addition to the previous
  meta within the first 1024 bytes, now a meta that started within the first
  1024 bytes counts as early enough. Additionally, if by then there hasn't
  been a template start tag and head hasn't ended, meta occurring before the
  earlier of the end of the head or a template start tag counts as early
  enough.
* Meta now counts as not-late even if the encoding label has numeric
  character reference escapes.
* Syntax resembling an XML declaration longer than a kilobyte is honored if
  there is no honored meta.
* If there is neither an honored meta nor syntax resembling an XML declaration,
  the initial chardetng scan is potentially longer than before: the first 1024
  bytes, the token spanning the 1024-byte boundary if there is such a token,
  and, if by then head hasn't ended and there hasn't been a template start tag
  until the end of the template start tag or the end of the token that causes
  head to end, ever comes first. However, if the token implying the end of the
  head is a text token, bytes only to the end of the previous non-text token is
  considered. (This definition avoids depending on network buffer boundaries.)
* XML View Source now uses the code for syntax resembling an XML declaration
  instead of expat for extracting the internal encoding label.

Reftest are added as both WPT and Gecko reftests in order to test both http:
and file: URL scenarios. The Gecko tests retain the WPT <link> tags in order
to use the exact same bytes.

An encoding declaration has been added to a number of old tests that didn't
intend to test the new speculation behavior especially in the context of
https://bugzilla.mozilla.org/show_bug.cgi?id=1727750 .

Differential Revision: https://phabricator.services.mozilla.com/D125808
2021-12-08 11:34:20 +00:00
Norisz Fay e844dde8a6 Backed out changeset 3dfd3c94a105 (bug 1701828) for causing mochitest failures on browser_hsts_host.js CLOSED TREE 2021-12-07 12:05:44 +02:00
Henri Sivonen 37fade70f0 Bug 1701828 - meta charset rewrite. r=smaug
Implements https://github.com/whatwg/html/issues/6962 . Improves performance
when <meta charset> occurs in head but after the first kilobyte and aligns
behavior better with WebKit and Blink.

The main change is to avoid reloads when meta appears within head but
after the first kilobyte. Prior to this change, Gecko reloaded in that
case (in compliance with the spec!) even though WebKit and Blink did not.

Differences from WebKit and Blink:

* WebKit and Blink honor <meta charset> in <noscript>. This implementation
  does not.
* WebKit and Blink look for meta as if the tree builder was unaware of
  foreign content. This implementation is foreign content-aware. This
  makes a difference for CDATA sections that contain a > before the meta
  as well as style and script elements within foreign content. This could
  happen if the CDATA section that has mysteriously been introduced around
  a what looks like a meta tag also contains another prior tag-looking
  run of text.
* This implementation processes rel=preload and speculative loads that are
  seen before <meta charset> has been seen. WebKit and Blink instead first
  look for the meta and rewind before starting speculative parsing.
* Unlike WebKit, if there is neither an honored meta nor syntax resembling
  an XML declaration, detection from content takes place (as in Blink).
* Unlike Blink, if there is neither an honored meta nor syntax resembling
  an XML declaration, the detection from content is not dependent of network
  buffer boundaries.
* Unlike Blink, detection from content can trigger a reload at the end of
  the stream if the guess made at that point differs from the first guess.
  (See below for the definition of the input to the first guess.)

Differences from the old spec and Gecko previously:

* Meta inside script and RCDATA elements is no longer honored.
* Late meta is now ignored and no longer triggers a reload.
* Later meta counts as early enough meta: In addition to the previous
  meta within the first 1024 bytes, now a meta that started within the first
  1024 bytes counts as early enough. Additionally, if by then there hasn't
  been a template start tag and head hasn't ended, meta occurring before the
  earlier of the end of the head or a template start tag counts as early
  enough.
* Meta now counts as not-late even if the encoding label has numeric
  character reference escapes.
* Syntax resembling an XML declaration longer than a kilobyte is honored if
  there is no honored meta.
* If there is neither an honored meta nor syntax resembling an XML declaration,
  the initial chardetng scan is potentially longer than before: the first 1024
  bytes, the token spanning the 1024-byte boundary if there is such a token,
  and, if by then head hasn't ended and there hasn't been a template start tag
  until the end of the template start tag or the end of the token that causes
  head to end, ever comes first. However, if the token implying the end of the
  head is a text token, bytes only to the end of the previous non-text token is
  considered. (This definition avoids depending on network buffer boundaries.)
* XML View Source now uses the code for syntax resembling an XML declaration
  instead of expat for extracting the internal encoding label.

Reftest are added as both WPT and Gecko reftests in order to test both http:
and file: URL scenarios. The Gecko tests retain the WPT <link> tags in order
to use the exact same bytes.

An encoding declaration has been added to a number of old tests that didn't
intend to test the new speculation behavior especially in the context of
https://bugzilla.mozilla.org/show_bug.cgi?id=1727750 .

Differential Revision: https://phabricator.services.mozilla.com/D125808
2021-12-07 07:35:32 +00:00
Makoto Kato 3a9061232b Bug 1425291 - Part 2. Add autocapitalize attribute to htmlparser. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D86675
2020-09-15 14:26:14 +00:00
Makoto Kato 7765ee2635 Bug 1490661 - Part 2. Add enterkeyhint attribute to htmlparser. r=hsivonen
Bug 1618295 isn't merged into https://github.com/validator/htmlparser, I copy
it from /parser/html/javasrc/AttributeName.java

Differential Revision: https://phabricator.services.mozilla.com/D79642
2020-06-23 06:37:43 +00:00
Edgar Chen 030399473e Bug 1618295 - Add imagesrcset and imagesizes attribute to the HTML parser; r=hsivonen
See https://html.spec.whatwg.org/multipage/semantics.html#the-link-element:attr-link-imagesrcset.

Depends on D71949

Differential Revision: https://phabricator.services.mozilla.com/D72083
2020-05-11 14:09:36 +00:00
Robert Longson d8d0af840a Bug 1581691 - make transform-origin a mapped CSS attribute r=heycam,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D63016
2020-04-18 05:10:29 +00:00
Cosmin Sabou 3649a900c7 Backed out changeset 136b9329a6f7 (bug 1581691) for failures on svg/styling/presentation-attributes-relevant.html. 2020-04-18 06:15:10 +03:00
Robert Longson d7ffc7392a Bug 1581691 - make transform-origin a mapped CSS attribute r=heycam,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D63016
2020-04-18 01:32:40 +00:00
Hiroyuki Ikezoe 7cf87b7b64 Bug 1542784 - Add loading attribute to the HTML parser. r=hsivonen
Depends on D61433

Differential Revision: https://phabricator.services.mozilla.com/D61434
2020-02-12 21:29:07 +00:00
Henri Sivonen c652b1cf4d Bug 1594672 - Add the "as" attribute to the HTML parser. r=alchen
Also makes mozilla/ImportScanner.h part of the translation process.

Differential Revision: https://phabricator.services.mozilla.com/D52135
2019-11-22 16:55:58 +00:00
Jonathan Kingston f0bec843d0 Bug 903372 - Remove xml:base from parser. r=hsivonen 2018-12-13 15:47:01 +00:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Andreea Pavel 5576b63e80 Backed out 2 changesets (bug 903372) for multiple failures on a CLOSED TREE
Backed out changeset bf919773f9d1 (bug 903372)
Backed out changeset 6562c2392ac9 (bug 903372)
2018-11-30 04:16:21 +02:00
Jonathan Kingston 3f4bc01b65 Bug 903372 - Remove xml:base from parser. r=hsivonen 2018-10-21 12:55:44 +01:00
Emilio Cobos ÁlvarezandNicholas Nethercote 29483dd4e0 Bug 1392185 - Remove dynamic HTML5 atoms. r=njn,hsivonen
This is a rebase + manual refcounting on some places, + cleanup of the original
patch in the bug.

Co-authored-by: Nicholas Nethercote <[email protected]>

Differential Revision: https://phabricator.services.mozilla.com/D11035
2018-11-09 14:45:30 +01:00
Jon Coppeard 1228757e70 Bug 1382020 - Don't preload nomodule scripts when modules are enabled r=hsivonen 2018-01-23 13:07:37 +00:00
Chris Peterson f3d0ca9013 Bug 1424548 - Part 9a: clang-format generated HTML parser code. r=hsivonen 2017-12-21 00:02:43 -08:00
Jessica Jong 466d8e0b43 Bug 1378079 - Part 1: Gecko changes for adding attribute 'is' to parser. r=hsivonen 2017-10-26 14:08:10 +08:00
Nicholas Nethercote 7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Henri Sivonen 3b532a7391 Bug 483155 - Put content creator function pointers onto nsHtml5ElementName. r=smaug
MozReview-Commit-ID: E2AAx7Zz2UF
2017-07-04 11:00:03 +03:00
Sebastian Hengst b20f04d43a Backed out changeset 5b706cd241cb (bug 483155) for Valgrind failure on Linux x64 opt. r=backout 2017-08-11 10:48:10 +02:00
Henri Sivonen b2625c0d7e Bug 483155 - Put content creator function pointers onto nsHtml5ElementName. r=smaug
MozReview-Commit-ID: E2AAx7Zz2UF
2017-07-04 11:00:03 +03:00
William Chen 9399923726 Bug 1366241 - Change memory layout of element name and attribute name hashes in HTML parser from sorted to level order BST in order to take advantage of cache during lookup. r=hsivonen 2017-06-27 13:48:25 -07:00