Markus Stange
8f723e6f67
Bug 1843946 - Use an atom for the full class attribute value, to reduce string hash key cost during the AtomArrayCache lookup. r=emilio
...
This generalizes the previous "set single class from parser" fast-path to
also apply when there are multiple classes in the class attribute.
The main benefit is the cheaper cache lookup.
Another benefit is that this avoids a string copy (the same copy that the original
"set single class from parser" optimization avoided).
We now always atomize the full class attribute value before parsing it,
e.g. when somebody uses setAttribute. In the common case of a single class,
this atomization cost would have been paid anyway.
Before: https://share.firefox.dev/4576ulw
After: https://share.firefox.dev/3rNGBsH (though this is not the full story
because the atomization work is moved outside of nsHtml5TreeOperation::SetHTMLElementAttributes)
Differential Revision: https://phabricator.services.mozilla.com/D183813
2023-08-17 19:02:40 +00:00
Henri Sivonen
e8bf7114c7
Bug 786797 - Check for integer overflow when computing new buffer sizes. r=smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D102592
2021-01-21 17:02:58 +00:00
Simon Giesecke
39124586b5
Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
...
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +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
Emilio Cobos Álvarez
4d343d7da2
Bug 1506133 - More HTML parser cleanup post bug 1392185. r=hsivonen
...
Differential Revision: https://phabricator.services.mozilla.com/D11480
2018-11-12 14:37:09 +00:00
Emilio Cobos Álvarez and Nicholas 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
Chris Peterson
5d6b16ea3b
Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
...
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent
MozReview-Commit-ID: KuUsnVe2h8L
2018-04-28 12:50:58 -07:00
Boris Zbarsky
051041fc49
Bug 1446097. Switch to "set" as the canonical nsGkAtoms name of the string "set", so it matches the actual tag name "set" in SVG. r=hsivonen,njn
...
Most of the noise is from the fact that clang-format on parser/html/*.{h,cpp}
reformatted all sorts of stuff. Not running it caused lots of format changes
from the generator... I guess we changed the format rules since the last time
this got run?
MozReview-Commit-ID: IA2G87zUIKN
2018-03-16 11:26:06 -04:00
Nicholas Nethercote
c01fb5ef82
Bug 1444031 - Rename Is{Static,Dynamic,HTML5}Atom. r=froydnj
...
By removing the "Atom" suffix, which is redundant.
MozReview-Commit-ID: 4MCX9Icfjrw
2018-03-07 15:17:34 +11:00
Alphan Chen
ab20180bfb
Bug 500617 - Remove always-zero offsets from HTML5 parser. r=hsivonen
...
MozReview-Commit-ID: DT8oWxbbYNy
2017-10-23 14:42:21 +03: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
fa792cb56c
Bug 1375701 - Atomize class attribute value in the parser in the innerHTML case. r=Ehsan
...
MozReview-Commit-ID: CKyGlzYS15e
2017-08-11 09:22:57 +03:00
Sebastian Hengst
7e433bbe75
Backed out changeset fabf345eec6e (bug 1375701) for bustage at parser/html/nsHtml5String.h:143:3: bad implicit conversion constructor for 'nsHtml5String'. r=backout on a CLOSED TREE
2017-08-15 16:28:10 +02:00
Henri Sivonen
8d12eac1f2
Bug 1375701 - Atomize class attribute value in the parser in the innerHTML case. r=Ehsan
...
MozReview-Commit-ID: CKyGlzYS15e
2017-08-11 09:22:57 +03:00
Henri Sivonen
cb263a268d
Bug 1347737 - Introduce a new non-heap-allocated type for holding nsStringBuffer* in the HTML parser. r=wchen.
...
MozReview-Commit-ID: Gn9fXroxQhY
2017-03-20 14:45:15 +02:00
Olli Pettay
6a1acb22b7
Bug 1352734, use memcmp for nsIAtom Equals to improve performance, r=hsivonen
2017-04-02 22:40:06 +03:00
Henri Sivonen
4d0b61f3f6
Bug 1176698 - Use fallible allocator for attribute values in the HTML parser. r=wchen.
2015-08-25 18:05:46 +03:00
Ehsan Akhgari
68bfe70f09
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ehsan Akhgari
5ca3cefda6
Bug 928049 - Remove some prtypes.h inclusions from parser/; rs=bsmedberg
2013-10-18 20:34:58 -04:00
Ehsan Akhgari
243c878d26
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Gervase Markham
d697fdc8ec
Bug 759095 - upgrade license to MPL 2, and other licensing cleanups.
2012-05-29 16:52:43 +01:00
Ehsan Akhgari
478ad1a412
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
0fe7772ece
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
2011-09-28 23:19:26 -07:00
Henri Sivonen
d3fc35ebd5
Bug 612529 part 2 - Rework how scopingness and specialness is handled in stack nodes; refresh the set of scoping elements to spec. rs=jonas, a=blocking2.0-betaN.
2010-12-09 11:27:58 +02:00
Henri Sivonen
738dc53862
Bug 605466 - Implement new spec-based limits for formatting element proliferation in the HTML5 parsing algorithm. rs=jonas, a=blocking2.0-betaN.
2010-10-15 12:23:42 +03:00
Henri Sivonen
a00ca20e07
Bug 502176 - Replace static use of jArray with a plain old data staticJArray, introduce an autoJArray for nicer memory management. r=tglek, a=jst.
2010-09-28 10:32:31 +03:00
Henri Sivonen
ba3526f337
Bug 570898 - Defer isindex prompt reading until after startup. r=jonas.
2010-06-11 18:08:13 +03:00
Henri Sivonen
38060a4d7e
Bug 559819 - Change the string id for the isindex prompt. r=l10n.
2010-04-20 17:19:30 +03:00
Henri Sivonen
dc22fc775f
Bug 500631 part 1 - Make the default isindex prompt use a localized string in the HTML5 parser. r=bnewman.
2010-03-17 10:26:17 +02:00
Henri Sivonen
9f780eb112
Bug 549591 - Atom staticness checks lack a negation in the HTML5 parser. r=jonas.
2010-02-26 11:18:35 +02:00
Henri Sivonen
2cf48a3ad5
Bug 516406 - Make document.write() parser and stream parser have distinct tokenizers in the HTML5 parser. r=bnewman.
2009-09-21 16:18:20 +03:00
Henri Sivonen
4384f2fdf0
Bug 515338 - Make HTML5 parser internals not hold nsIContent or regular dynamic atoms. r=bnewman.
2009-09-21 14:43:43 +03:00
Henri Sivonen
78b7b31988
Bug 515142 - Make HTML5 parser never clone nodes. WHATWG spec SVN rev 2947. rs=sicking.
2009-09-21 10:00:10 +03:00
Henri Sivonen
d4ca3c01dd
Bug 503067 - New warnings from HTML5 parser: suggest parentheses around assignment used as truth value. r=benjamin
2009-07-15 14:32:58 +03:00
Henri Sivonen
3cb3b0a9bc
Bug 501015 - Address code style comments from timeless. r+sr=mrbkap
2009-07-15 14:30:33 +03:00
Henri Sivonen
39474984c2
Bug 502600 - Make quirky doctype list comparisons work. r+sr=mrbkap
2009-07-08 09:40:21 +03:00
Johnny Stenback
23765fdfed
Fixing bug 501725. Use nsDependentSubstring() on strings that are not null terminated. [email protected]
2009-07-06 14:00:23 -07:00
Henri Sivonen
2f19c38b3b
Bug 487949 - Land HTML5 parser on trunk preffed off r=mrbkap, sr=jonas
2009-06-29 00:44:22 +02:00
Johnny Stenback
64cf7ea628
Backed out changeset 168dd0eb7283
2009-06-28 11:47:11 -07:00
Jonas Sicking
6a0cbe0e68
Move files to better location
2009-06-26 17:12:29 -07:00