Commit Graph

376 Commits

Author SHA1 Message Date
Edgar Chen
492d02e96b Bug 1685421 - Part 2: Stop using NS_ERROR_DOM_HIERARCHY_REQUEST_ERR in nsINode; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113344
2021-06-02 13:43:39 +00:00
Simon Giesecke
2161198260 Bug 708901 - Migrate to nsTHashSet in dom/base. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108593
2021-03-24 17:56:46 +00:00
Csoregi Natalia
37fe7677dd Backed out 13 changesets (bug 708901, bug 1184468) for causing build bustage on GeckoViewHistory.cpp. CLOSED TREE
Backed out changeset b1e4c01e63b8 (bug 708901)
Backed out changeset 37b52cce83c0 (bug 708901)
Backed out changeset eee75f33f060 (bug 708901)
Backed out changeset 479bf64c7986 (bug 708901)
Backed out changeset 15a8fb94d15d (bug 708901)
Backed out changeset be31ccd9a61d (bug 708901)
Backed out changeset fc54f4eaedd5 (bug 708901)
Backed out changeset 03c3a56c3d13 (bug 708901)
Backed out changeset 73f11d3c1298 (bug 708901)
Backed out changeset aed22fd80893 (bug 708901)
Backed out changeset 74d8249fbe7e (bug 708901)
Backed out changeset acb725eb3c1d (bug 1184468)
Backed out changeset 70f3ea6efec4 (bug 1184468)
2021-03-24 19:26:20 +02:00
Simon Giesecke
f29debc280 Bug 708901 - Migrate to nsTHashSet in dom/base. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108593
2021-03-24 16:58:58 +00:00
Gerald Squelart
f25e1c0093 Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian
There are no code changes, only #include changes.
It was a fairly mechanical process: Search for all "AUTO_PROFILER_LABEL", and in each file, if only labels are used, convert "GeckoProfiler.h" into "ProfilerLabels.h" (or just add that last one where needed).
In some files, there were also some marker calls but no other profiler-related calls, in these cases "GeckoProfiler.h" was replaced with both "ProfilerLabels.h" and "ProfilerMarkers.h", which still helps in reducing the use of the all-encompassing "GeckoProfiler.h".

Differential Revision: https://phabricator.services.mozilla.com/D104588
2021-02-16 04:44:19 +00:00
Simon Giesecke
62523ac1b9 Bug 1688833 - Migrate LookupForAdd to WithEntryHandle in dom/base. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D104203
2021-02-09 18:19:39 +00:00
Edgar Chen
b8dec0ea6d Bug 1221868 - Correct the document check for appending a document fragment node; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D101339
2021-01-11 15:01:09 +00:00
Sean Feng
5e02d085eb Bug 1646604 - Fix cross docGroup node adoption may not correctly keep the arena alive r=smaug
We use nsINode::Adopt to store the arenas to a hashtable to keep them
alive, however this method is not guaranteed to be called, so it
may cause arenas to be disposed before all nodes are destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D101042
2021-01-08 00:24:53 +00:00
Emilio Cobos Álvarez
f631db2019 Bug 1682988 - Use UTF8String for querySelector and similar OM methods. r=heycam
This has no observable behavior change because we were converting to
UTF-8 in ParseSelectorList.

Differential Revision: https://phabricator.services.mozilla.com/D99961
2020-12-23 05:42:00 +00:00
Emilio Cobos Álvarez
abbb60945e Bug 1682159 - Do a minor cleanup of the Element clone code. r=edgar
Depends on D99632

Differential Revision: https://phabricator.services.mozilla.com/D99633
2020-12-16 07:54:10 +00:00
smolnar
697fb41c3a Backed out 2 changesets (bug 1669933, bug 1682159) because failures were not from wptsync , for failing print reftest animations-print.html CLOSED TREE
Backed out changeset 7e9cf639b261 (bug 1669933)
Backed out changeset bee3e0399e0d (bug 1682159)
2020-12-15 01:46:51 +02:00
Emilio Cobos Álvarez
60b21d6433 Bug 1682159 - Do a minor cleanup of the Element clone code. r=edgar
Depends on D99632

Differential Revision: https://phabricator.services.mozilla.com/D99633
2020-12-14 12:47:04 +00:00
Emilio Cobos Álvarez
a903917313 Bug 1682159 - Copy defined state to static clones. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D99632
2020-12-14 12:48:23 +00:00
Simon Giesecke
498d9ed9dc Bug 1673931 - Avoid including DebuggerNotificationBinding.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D97611
2020-12-10 11:09:32 +00:00
Simon Giesecke
9919e8f713 Bug 1673931 - Move ElementCallbackType from Document.h to CustomElementRegistry.h.
Differential Revision: https://phabricator.services.mozilla.com/D95184

Depends on D95048
2020-11-23 16:08:11 +00:00
Simon Giesecke
ec58955170 Bug 1673931 - Resolve Document/Element cycle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95045

Depends on D94869
2020-11-23 16:07:21 +00:00
Simon Giesecke
46908cfb51 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Masayuki Nakano
73681bea20 Bug 1623918 - part 1: Make nsINode::GetTextEditorRootContent() handle TextControlElement after stopping climbing the DOM tree up r=smaug
It was designed for retrieving associated `TextEditor` and its root content
(anonymous `<div>` element) if the node is in native anonymous subtree in a
text editor or if the node itself is a `TextControlElement`.  Additionally,
`TextControlElement` cannot be nested.  Therefore, it can stop climbing up the
DOM tree when it meets a `TextControlElement`.

Then, we can rewrite this without a loop implemented by itself.  Instead,
it can use `GetClosestNativeAnonymousSubtreeRootParent()` when the node is
in native anonymous subtree.  Otherwise, it just needs to check whether it's
a `TextControlElement` or not.  Therefore, we can make it stop using
`InclusiveAncestorsOfType`.

Finally, it calls `TextControlElement::GetTextEditor()` which is marked as
`MOZ_CAN_RUN_SCRIPT`.  And I think that it may cause running selection
listeners (mutation event listeners won't run because changes occur only in
the native anonymous subtree).  Therefore, we should mark all callers of
it with `MOZ_CAN_RUN_SCRIPT` later.

Differential Revision: https://phabricator.services.mozilla.com/D92728
2020-10-09 02:36:30 +00:00
Narcis Beleuzu
563e13d079 Backed out 2 changesets (bug 1623918) for crashtest failure on 1623918.html CLOSED TREE
Backed out changeset 519ca1b069e5 (bug 1623918)
Backed out changeset d8a09a5fea47 (bug 1623918)
2020-10-08 12:06:58 +03:00
Masayuki Nakano
4a80f1e088 Bug 1623918 - part 1: Make nsINode::GetTextEditorRootContent() handle TextControlElement after stopping climbing the DOM tree up r=smaug
It was designed for retrieving associated `TextEditor` and its root content
(anonymous `<div>` element) if the node is in native anonymous subtree in a
text editor or if the node itself is a `TextControlElement`.  Additionally,
`TextControlElement` cannot be nested.  Therefore, it can stop climbing up the
DOM tree when it meets a `TextControlElement`.

Then, we can rewrite this without a loop implemented by itself.  Instead,
it can use `GetClosestNativeAnonymousSubtreeRootParent()` when the node is
in native anonymous subtree.  Otherwise, it just needs to check whether it's
a `TextControlElement` or not.  Therefore, we can make it stop using
`InclusiveAncestorsOfType`.

Finally, it calls `TextControlElement::GetTextEditor()` which is marked as
`MOZ_CAN_RUN_SCRIPT`.  And I think that it may cause running selection
listeners (mutation event listeners won't run because changes occur only in
the native anonymous subtree).  Therefore, we should mark all callers of
it with `MOZ_CAN_RUN_SCRIPT` later.

Differential Revision: https://phabricator.services.mozilla.com/D92728
2020-10-08 03:55:29 +00:00
Emilio Cobos Álvarez
498bdbed55 Bug 1667510 - Make UA widgets in print documents more static. r=smaug
This ensures that styles from UA widgets apply. Turns out they look
pretty much right without them, but there's a bug in nsDateTimeBoxFrame
where we rely on the styles in order for the baseline to be sensible.

Differential Revision: https://phabricator.services.mozilla.com/D91616
2020-09-29 10:31:48 +00:00
Bogdan Tara
21f0576989 Backed out changeset 482bd861c745 (bug 1667510) for causing mochitest leaks CLOSED TREE 2020-09-29 01:35:24 +03:00
Emilio Cobos Álvarez
a0d2ab0850 Bug 1667510 - Make UA widgets in print documents more static. r=smaug
This ensures that styles from UA widgets apply. Turns out they look
pretty much right without them, but there's a bug in nsDateTimeBoxFrame
where we rely on the styles in order for the baseline to be sensible.

Differential Revision: https://phabricator.services.mozilla.com/D91616
2020-09-28 18:29:28 +00:00
Emilio Cobos Álvarez
fd39ec39c3 Bug 1659457 - Do clone xml-pretty-printer's UA widget. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87714
2020-08-20 11:29:45 +00:00
Emilio Cobos Álvarez
f9f038eed5 Bug 1658469 - Don't clone UA widgets for printing. r=smaug
We run the widget initialization code regardless on bind, and some of it
doesn't deal with shadow roots being already populated.

Differential Revision: https://phabricator.services.mozilla.com/D86952
2020-08-14 16:27:49 +00:00
Simon Giesecke
5dfac77431 Bug 1652002 - Remove some unnecessary includes from BindingUtils.h. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D83098
2020-07-15 15:34:49 +00:00
longsonr
ba1943ecf8 Bug 1259861 - Move everything else into the mozilla namespace in layout/svg r=dholbert
Also: adjust include paths to be consistent for usages of various SVG headers,
and remove unused SVG includes (mostly for "utils" classes),
and drop stray "ns" from already-renamed SVG classes in various code comments.

Differential Revision: https://phabricator.services.mozilla.com/D83140
2020-07-11 02:20:20 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kris Maglione
5e6b872087 Bug 1645510: Part 1 - Make unprivileged junk scope creation lazy, weak, and fallible. r=mccr8,bholley
Differential Revision: https://phabricator.services.mozilla.com/D79719
2020-06-27 03:06:26 +00:00
Simon Giesecke
dbe490491a Bug 1645382 - Remove unnecessary arguments from NS_OBSERVER_ARRAY_NOTIFY_* macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79485
2020-06-15 09:05:00 +00:00
Simon Giesecke
187d32809a Bug 1645339 - Use range-based for with nsTObserverArray in xpcom. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79484
2020-06-15 08:55:27 +00:00
Alex Vincent
1e553e2a8f Bug 1626015 - Implement ParentNode#ReplaceChildren. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D75891
2020-05-28 00:58:24 +00:00
Razvan Maries
e8c8d40d45 Backed out changeset 004abcb3322e (bug 1626015) for perma failures on idlharness.window.html. CLOSED TREE 2020-05-28 01:23:57 +03:00
Alexander J. Vincent
c97d4d4f2e Bug 1626015 - Implement ParentNode#ReplaceChildren. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D75891
2020-05-27 18:44:13 +00:00
Emilio Cobos Álvarez
49d1601953 Bug 1640605 - Remove some now-unneeded casts / type-checks. r=edgar
IsInNativeAnonymousSubtree and IsRootOfNativeAnonymousSubtree are
exposed in nsINode, so we don't need to make sure to call them on
nsIContent objects.

Depends on D76681

Differential Revision: https://phabricator.services.mozilla.com/D76682
2020-05-25 11:46:43 +00:00
Emilio Cobos Álvarez
b1fc84a629 Bug 1640605 - Remove IsInAnonymousSubtree / IsRootOfAnonymousSubtree. r=edgar
In favor of the NativeAnonymous versions which they forward to.

Done automatically with:

  rg -l 'IsInAnonymousSubtree' | xargs sed -i 's/IsInAnonymousSubtree/IsInNativeAnonymousSubtree/g'

And removing the function definitions afterwards.

Differential Revision: https://phabricator.services.mozilla.com/D76681
2020-05-25 11:43:51 +00:00
Olli Pettay
f41ed32728 Bug 1637712 - Consider to move *Ancestor* API to nsINode r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D75169
2020-05-20 14:55:15 +00:00
Emily McDonough
9fff759666 Bug 1564128 part 2 - Copy animations to static document clones r=emilio,hiro
This also requires changing the EffectCompositor to allow animations in print
and print preview, and setting up a document timeline for the cloned document

Differential Revision: https://phabricator.services.mozilla.com/D69069
2020-05-14 19:41:03 +00:00
Eric Rahm
274904a42d Bug 1626448 - Remove nsAutoPtr usage from dom/base. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D69119
2020-04-03 21:05:29 +00:00
Mirko Brodesser
f1441f8b58 Bug 1623858: part 1) Rename nsINode::IsSelectionDescendant to nsINode::IsMaybeSelected. r=smaug
More accurate.

Differential Revision: https://phabricator.services.mozilla.com/D67599
2020-03-20 14:27:39 +00:00
Sean Feng
5676e09483 Bug 1377999 - Set nsINode to use the customized new operator r=smaug
We customized the new operator to allow Dom Arena to be hooked
in.

Differential Revision: https://phabricator.services.mozilla.com/D62350
2020-03-17 14:52:47 +00:00
Sean Feng
cfb767c8d3 Bug 1377999 - Handle cross docGroup node adoption by keeping arena alive r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D66662
2020-03-17 14:52:45 +00:00
Sean Feng
c4047b6160 Bug 1377999 - Add the capability to do DOM node Arena allocation r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D57698
2020-03-17 14:52:37 +00:00
Boris Zbarsky
3dd9c503fe Bug 1622032. Improve some error messages in nsINode. r=nika
In particular, improve the error message for replaceChild when the two arguments get switched.

Differential Revision: https://phabricator.services.mozilla.com/D66640
2020-03-13 03:50:04 +00:00
Nathan Froyd
d126d6e534 Bug 1621313 - remove stray semicolon in nsINode.cpp; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D66238
2020-03-10 15:18:19 +00:00
Brad Werth
22b36f3377 Bug 1593756 Part 1: Add a new method GetBoxQuadsFromWindowOrigin. r=emilio,hiro
Window space is not a sensible space for CSS points, as returned by
getBoxQuads, since the CSS points are relative to window origin and not the
layout origin. This new method is useful in paired calling patterns, where
the returned quads are further translated by the position of the document
node relative to the window origin. Later parts of this patch demonstrate
this calling pattern in a test.

Differential Revision: https://phabricator.services.mozilla.com/D52788
2020-03-04 00:45:38 +00:00
Emilio Cobos Álvarez
b6d33321a0 Bug 1617084 - Add some simple DOM ancestor iterators. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63594
2020-03-02 11:36:42 +00:00
Erik Nordin
57d2fd53ca Bug 1609288 - Apply styles from adopted stylesheets r=emilio
- Ensure that adopted styles are applied correctly to ShadowRoot
- Ensure that adopted styles are applied correctly to Document
- Add new WPT test cases to ensure the ordering of the styles.

Differential Revision: https://phabricator.services.mozilla.com/D60083
2020-02-15 01:16:46 +00:00
Simon Giesecke
9bcfd47601 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980
2020-02-13 14:38:48 +00:00
shindli
6bb3487209 Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00