Граф коммитов

58 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Boris Zbarsky 93f488667a Bug 1509102. Stop converting \n to 
 in attribute values when serializing HTML. r=ehsan 2018-11-28 03:11:08 -05:00
Brindusan Cristian 80c35b4119 Backed out changeset 8fc810b6e528 (bug 1509102) for xpcshell failures from test_serializers_entities.js. CLOSED TREE
--HG--
extra : rebase_source : 7a12ff17e67c37bdd4ae8ef6e727c7516cf72f98
2018-11-28 12:16:26 +02:00
Boris Zbarsky aa595a8902 Bug 1509102. Stop converting \n to 
 in attribute values when serializing HTML. r=ehsan 2018-11-28 03:11:08 -05:00
Ehsan Akhgari 6099c9f67b Bug 1508472 - Part 1: First batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13046

--HG--
extra : moz-landing-system : lando
2018-11-27 10:08:58 +00:00
Sylvestre Ledru dd5741407b Bug 1498586 - Add clang-format off to avoid the reformatting of the data structures r=Ehsan
Too hard/impossible for the tool to format correctly these structs

Differential Revision: https://phabricator.services.mozilla.com/D8569

--HG--
extra : moz-landing-system : lando
2018-10-12 20:48:24 +00:00
Henri Sivonen 3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Olli Pettay 51b5db9342 Bug 1440382, there should be no is-attribute, only internal is-value, in custom elements, r=mrbkap 2018-06-28 14:22:58 +03:00
Margareta Eliza Balazs e5cb974437 Backed out changeset 9fe49c825ba3 (bug 1440382) for causing bustage in builds/worker/workspace/build/src/dom/base/nsNodeUtils.cpp 2018-06-28 14:00:18 +03:00
Olli Pettay 7a0ce01ed8 Bug 1440382, there should be no is-attribute, only internal is-value, in custom elements, r=mrbkap 2018-06-28 13:39:05 +03:00
Emilio Cobos Álvarez 83fd987aec Bug 1454233: Remove nsINode::eDOCUMENT. r=bz
MozReview-Commit-ID: ItjdI79zme7
2018-04-20 01:30:11 +02:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Boris Zbarsky 000840f44a Bug 1446533 part 3. Remove nsIDOMCharacterData::Get/SetData. r=mystor
MozReview-Commit-ID: 5YeaCPwvIJH
2018-03-19 15:18:07 -04:00
Boris Zbarsky 12ef963787 Bug 1446599 part 1. Stop using nsIDOMProcessingInstruction in serializers. r=mystor
MozReview-Commit-ID: loUmk0rNYV
2018-03-19 15:15:39 -04:00
Boris Zbarsky 4fa4d2a7f5 Bug 1446598 part 2. Get rid of nsIDOMComment. r=mystor
MozReview-Commit-ID: GGXPQnlwuUM
2018-03-19 15:15:39 -04:00
Boris Zbarsky 51c87c6d96 Bug 1446598 part 1. Stop using nsIDOMComment in serializers. r=mystor
MozReview-Commit-ID: IBVkQJOi6O7
2018-03-19 15:15:39 -04:00
Boris Zbarsky 9fc39d5647 Bug 1445140 part 4. Remove nsIDOMDocumentType members. r=mystor
MozReview-Commit-ID: D9Xwt3qJQDI
2018-03-13 16:24:01 -04:00
Boris Zbarsky 7bbb9b0ced Bug 1445140 part 3. Pass a DocumentType to nsIContentSerializer::AppendDoctype. r=mystor
MozReview-Commit-ID: 5UjRSP6MoDI
2018-03-13 16:24:01 -04:00
Ashish Kulkarni 23dc66c6b8 Bug 169521: fix XML attribute serialization for proper roundtripping r=bz
This is due to incomplete specification, see discussion on Chromium bug
https://bugs.chromium.org/p/chromium/issues/detail?id=418531

Behavior is now in line with Edge and Chromium.

MozReview-Commit-ID: AxIRtIj5j8r

--HG--
extra : rebase_source : 45c8016537259c7d7a2af6e8b8a9f5a25521e4c5
2018-01-24 16:03:01 +05:30
Emilio Cobos Álvarez c8eb630ebe Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-25 17:50:10 +01:00
Emilio Cobos Álvarez ffdf5d2cb5 Backout changeset e43f568b3e9a (bug 1423990) because some OSX-only code still doesn't build. r=me 2017-12-25 12:55:45 +01:00
Emilio Cobos Álvarez c0959b2955 Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W

--HG--
extra : rebase_source : 09b82acb4f3d69e8a4345457ab217443bc28d6e2
2017-12-07 19:13:50 +01:00
Jonathan Kew 574a922078 Bug 1424898 - patch 1 - De-virtualize nsILineBreaker and rename to mozilla::intl::LineBreaker. r=m_kato
--HG--
rename : intl/lwbrk/nsJISx4051LineBreaker.cpp => intl/lwbrk/LineBreaker.cpp
rename : intl/lwbrk/nsILineBreaker.h => intl/lwbrk/LineBreaker.h
2017-12-13 22:17:32 -06:00
Emilio Cobos Álvarez 74b31155f7 Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz
MozReview-Commit-ID: 6WXqNiODttD
2017-12-06 16:05:59 +01:00
Nicholas Nethercote d225f7151b 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

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Nicholas Nethercote 2ef37710e7 Bug 1395828 (part 4) - Remove nsIParserService/nsParserService. r=mrbkap.
It a stateless wrapper around static methods in nsHTMLTags and nsHTMLElement,
and hence an unnecessary layer of indirection that just adds complexity and
slowness. This patch removes it, cutting almost 300 lines of code.

This requires making nsElementTable.h an exported header, to expose the
nsHTMLElement methods.

--HG--
extra : rebase_source : abbcb8e5001389affbf717092213b898673db07f
2017-09-05 20:19:06 +10:00
Aryeh Gregor b39b65ff8e Bug 1363658 - Serializing doctypes should omit internal subset; r=hsivonen
Changes to match spec, Chrome, and Safari.  The spec was discussed and
is what we want -- we already expand entities from the internal subset
when parsing, so there's no need to remember their definitions.  Indeed
it seems like it would make sense to alter the parser to throw away the
internal subset entirely at the end of parsing.

MozReview-Commit-ID: LDvYAqSZkgE

--HG--
extra : rebase_source : 928722b51d931a3c1ce358b2346c5e535bfa16df
2017-08-03 15:33:55 +03:00
Olli Pettay 21b0ca3bbf Bug 1378196, Make IsEventAttributeName non-virtual in common case, r=ehsan
--HG--
extra : rebase_source : 9daf46de13698348b7ab6b68f8da13ffb338c0a0
2017-07-04 23:54:30 +03:00
Nicholas Nethercote 1572f96f5d Bug 1374580 (part 1) - Remove nsASingleFragment{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsASingleFragmentString  --> nsAString
- nsASingleFragmentCString --> nsACString

--HG--
extra : rebase_source : e6a1ddc8938fecd9a735b15e872c054edf4c7910
2017-06-20 19:18:17 +10:00
Henri Sivonen 432653453a Bug 1261841 part 2 - Use encoding_rs instead of uconv. r=emk,mystor.
MozReview-Commit-ID: 15Y5GTX98bv
2017-06-13 13:23:23 +03:00
Ehsan Akhgari 7f656414b1 Bug 1370737 - Track seen preformatted elements in the document encoder to maintain stack balance correctly irrespective of element visibility; r=bzbarsky 2017-06-13 00:30:36 -04:00
Boris Zbarsky 259fd6811e Bug 1308675. Fix the XHTML serializer's handling of self-closing tags inside <pre> to correctly keep track of our mPreLevel. r=ehsan
The test change makes sure the test actually tests this codepath.  The resulting
test changes are all due to the test now recognizing <pre> as preformatted.
2016-10-11 13:49:39 -04:00
Andi-Bogdan Postelnicu 0631839b00 Bug 1308871 - removed dead code from nsXMLContentSerializer::SerializeAttr. r=baku
MozReview-Commit-ID: AxxLN41TvZc

--HG--
extra : rebase_source : 4c1c411f4069a5ce62dfe6ff102ff78475384e9f
2016-10-10 13:14:42 +03:00
Nathan Froyd a0a85b8519 Bug 1305422 - part 13 - don't call size_forward in nsXMLContentSerializer.cpp; r=baku 2016-09-29 22:33:57 -04:00
Nathan Froyd 3fb4b33af7 Bug 1305422 - part 7 - simplify nsXMLContentSerializer::SerializeAttr; r=smaug
The implementation of SerializeAttr, with its multiply-nested loops,
dates from the time when string iterators could be fragmented into
multiple pieces.  We no longer have such iterators, so we can write
SerializeAttr much more straightforwardly.
2016-09-29 22:33:57 -04:00
Igor 175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
Emilio Cobos Álvarez 11ac7c1d96 Bug 1288590: Rename nsAttrInfo to mozilla::dom::BorrowedAttrInfo. r=bholley
Unfortunately couldn't add all the debug checks that I'd want, since we can't
assert that is not safe to run script in quite a few places :(

MozReview-Commit-ID: 8m3Wm1WntZs
2016-07-27 11:18:33 -07:00
Emilio Cobos Álvarez 5b1b25967b Bug 1288590: Use GetAttrInfoAt in nsXMLContentSerializer.cpp. r=bholley
MozReview-Commit-ID: 1mOIlXK8O5a
2016-07-27 11:18:33 -07:00
Nicholas Nethercote 7f5bcf3c52 Bug 1255655 - Const-ify and shrink kEntities and kAttrEntities. r=baku.
This patch changes the table pointers (which are mostly null) into uint8_t
offsets into a much smaller table of strings.

This shrinks the four arrays by a combined total of 3 KiB, and also makes them
shareable between processes.

--HG--
extra : rebase_source : 96874aa9eb32f48011ac6ae6de8a930c57112263
2016-03-11 13:26:02 +11:00
sakshi 1af0b67296 Bug 1197311 - Remove PR_snprintf calls in dom/ r=froydnj 2016-02-17 14:23:39 -05:00
William Chen 15fa724be4 Bug 717722 - Implement WebKitCSSMatrix. r=baku
--HG--
extra : rebase_source : 225a96f30db5309d7d1032959b0ab8df437c820d
2016-01-20 14:48:01 -08:00
Chris Peterson c824bef9fe Bug 1240265 - Annotate intentional switch fallthroughs in dom/. r=mrbkap
dom/base/Element.cpp:2920:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/Element.cpp:2935:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsDocument.cpp:6595:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsDocument.cpp:7631:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsDocument.cpp:7922:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsGlobalWindow.cpp:7573:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsXMLContentSerializer.cpp:1393:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/cache/AutoUtils.cpp:487:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/html/HTMLInputElement.cpp:3808:15 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/html/HTMLInputElement.cpp:3836:15 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/storage/DOMStorageDBThread.cpp:224:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/workers/ScriptLoader.cpp:1994:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

--HG--
extra : rebase_source : ba9bd93b2c65e2db05b26e7b4c203dd7710516f3
2015-11-25 23:26:32 -08:00
Boris Zbarsky 6efc9783c7 Bug 1032979 part 2. Getting outerHTML on a node from an XML document should not use the self-closing form of empty container tags from the HTML namespace. r=smaug
--HG--
rename : testing/web-platform/tests/html/syntax/serializing-html-fragments/outerHTML.html => testing/web-platform/tests/html/syntax/serializing-xml-fragments/outerHTML.html
2016-01-13 21:36:25 -05:00
Jorg K 6b710fa7ee Bug 1225864 - New flag OutputDisallowLineBreaking to disallow line breaking. r=masayuki. 2015-11-27 15:27:00 +01:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Andrew McCreight 9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Nathan Froyd 4c7234747e Bug 1143651 - don't use CallQueryInterface when the compiler can do the cast for us; r=ehsan 2015-03-12 13:20:29 -04:00