Commit Graph

202 Commits

Author SHA1 Message Date
Andrew McCreight
0be4f07765 Bug 1449670, part 2 - Remove nsINode::eTEXT. r=bz
MozReview-Commit-ID: HwVj2udQWbE
2018-04-06 17:56:46 +00:00
Andrew McCreight
7a07e0c48b Bug 1449670, part 1 - Convert IsNodeOfType(nsINode::eTEXT) to IsText(). r=bz
This method is not a virtual call, and also looks nicer.

This patch was mostly generated by a Python script, but I manually
cleaned up the code in a few places where statements didn't need to be
split across multiple lines any more.

MozReview-Commit-ID: 8JExxqSRc59
2018-04-12 15:41:00 -07:00
Gurzau Raul
eeb58c6fc7 Merge inbound to mozilla-central. a=merge 2018-04-08 00:50:24 +03:00
Olli Pettay
3fbc9661a9 Bug 1452386 - Add a helper to get the existing nsIWeakReference from nsINode, r=emilio 2018-04-07 20:41:03 +03:00
Emilio Cobos Álvarez
95a825cbf6 Bug 1303605: Remove the undisplayed maps. r=bz,mats
This is mostly code removal, changing GetDisplayContentsStyle(..) checks by an
FFI call to Servo.

The tricky parts are:

 * MaybeCreateLazily, which I fixed to avoid setting bits under display: none
   stuff. This was a pre-existing problem, which was wallpapered by the
   sc->IsInDisplayNoneSubtree() check, which effectively made the whole
   assertion useless (see bug 1381017 for the only crashtest that hit this
   though).

 * ContentRemoved, where we can no longer know for sure whether the element is
   actually display: contents if we're removing it as a response to a style
   change. See the comment there. That kinda sucks, but that case is relatively
   weird, and it's better than adding tons of complexity to handle that.

 * GetParentComputedStyle, which also has a comment there. Also, this function
   has only one caller now, so we should maybe try to remove it.

The different assertions after DestroyFramesForAndRestyle are changed for a
single assertion in the function itself, and the node bit used as an
optimization to avoid hashtable lookups is taken back.

MozReview-Commit-ID: AZm822QnhF9
2018-04-07 15:21:56 +02:00
Boris Zbarsky
5c75dce30c Bug 1449631 part 11. Remove nsIDOMEventTarget::AddSystemEventListener. r=smaug
The security checks outer window did here don't seem right, because the whole
point is that this method is only called by C++ code for its own purposes.
We're not adding random untrusted listeners via addSystemEventListener!

MozReview-Commit-ID: JdS5gTESclu
2018-04-05 13:42:42 -04:00
Boris Zbarsky
1e89238dca Bug 1449631 part 10. Devirtualize AddEventListener. r=smaug
The CanCallerAccess check in the "webidl" version of
nsGlobalWindowOuter::AddEventListener was pointless, because bindings never
call things on outer windows.

MozReview-Commit-ID: 1CGMJ277bPu
2018-04-05 13:42:42 -04:00
Boris Zbarsky
238fc00322 Bug 1449631 part 9. Remove nsIDOMEventTarget::AddEventListener. r=smaug
Also switch the XPCOM-y version of EventTarget::AddEventListner to a
Nullable<bool> for aWantsUntrusted.

The three-arg overload of AddEventListener in ContentFrameMessageManager was
never called, so all the AddEventListener overloads there are not needed.

MozReview-Commit-ID: 4IhqHmPVWzE
2018-04-05 13:42:42 -04:00
Boris Zbarsky
d54406240d Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Boris Zbarsky
d92531bde9 Bug 1449631 part 5. Move Will/Pre/PostHandleEvent out of nsIDOMEventTarget. r=smaug
MozReview-Commit-ID: K2nOZNPy0XE
2018-04-05 13:42:41 -04:00
Boris Zbarsky
51e653f001 Bug 1449631 part 2. Remove nsIDOMEventTarget::RemoveEventListener. r=smaug
We can't have a null content in
ScrollbarActivity::StopListeningForScrollAreaEvents, because only viewport
frames have a null GetContent().

MozReview-Commit-ID: 9iAg0ivVqqG
2018-04-05 13:42:40 -04:00
Emilio Cobos Álvarez
50415d801a Bug 1449502: Cleanup a bit more the selector cache and CSSOM methods. r=xidorn
MozReview-Commit-ID: 32FgbGFUdCM
2018-03-29 17:12:55 +02:00
Boris Zbarsky
da3d4d37a5 Bug 1449404 part 1. Get rid of nsIContent::SetText. r=mccr8 2018-03-28 18:01:46 -04:00
Boris Zbarsky
625601ee0f Bug 1449393. Devirtualize some nsINode bits. r=mccr8 2018-03-28 18:01:46 -04:00
Olli Pettay
ff39409418 Bug 1441277 - nsINode needs better documentation on GetComposedDoc vs GetUncomposedDoc, r=annevk 2018-03-28 19:51:14 +03:00
Xidorn Quan
99b3d4120a Bug 1448728 part 1 - Make popular headers not include nsWindowSizes.h. r=njn
MozReview-Commit-ID: EC5J9Im3gfu
2018-03-28 10:44:49 +11:00
Emilio Cobos Álvarez
c48b1f646b Bug 1448690: Remove IsStyledByServo. r=xidorn
MozReview-Commit-ID: I3MDbo2Yu7d
2018-03-26 09:39:26 +02:00
Emilio Cobos Álvarez
68ee99d4c8 Bug 1448688: Remove RestyleTracker, ComputedStyle::AsServo, old style system element bits. r=xidorn
MozReview-Commit-ID: ALiOngGqozN
2018-03-26 09:38:07 +02:00
Emilio Cobos Álvarez
b1a35fbef7 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Boris Zbarsky
d7af509907 Bug 1446533 part 4. Remove nsIDOMCharacterData::SubstringData. r=mystor
FromContent will be renamed to FromNode in bug 1447098.

MozReview-Commit-ID: DhiN6mCOb34
2018-03-19 15:18:07 -04:00
Boris Zbarsky
8dd8d25044 Bug 1446533 part 1. Rename nsGenericDOMDataNode to CharacterData. r=mystor
This is not renaming the files yet; that will be a separate changeset.

MozReview-Commit-ID: 5TxkEiQlaKF
2018-03-19 15:18:06 -04:00
Boris Zbarsky
12c2d235e9 Bug 1446599 part 2. Stop using nsIDOMProcessingInstruction in webbrowserpersist. r=mystor
MozReview-Commit-ID: 51QLffCZeW1
2018-03-19 15:15:39 -04:00
Boris Zbarsky
c618525ae2 Bug 1433566 part 1. Add a non-virtual nsINode::IsText(). r=mystor
MozReview-Commit-ID: Ik5hGubUDqX
2018-03-19 15:15:37 -04:00
Emilio Cobos Álvarez
e49d2a630b Bug 1446597: Remove unused Node.getMutationObservers. r=smaug
Summary:
I'm happy to keep it around if you think having the test_mutationobservers check
is useful.

MozReview-Commit-ID: LbWvJiO9LRZ

Reviewers: smaug

Bug #: 1446597

Differential Revision: https://phabricator.services.mozilla.com/D750
2018-03-19 11:11:48 +01:00
Emilio Cobos Álvarez
3a349583ff Bug 749981: Remove Node.getUserData / setUserData. r=smaug
Summary: MozReview-Commit-ID: JkUCvVZ4V2Y

Reviewers: smaug

Bug #: 749981

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

MozReview-Commit-ID: KadWzpMjdW
2018-03-17 19:33:07 +01:00
arthur.iakab
66a7d3c3a7 Merge inbound to mozilla-central. a=merge 2018-03-14 12:00:13 +02:00
Robert Longson
1c8beb8b58 Bug 1325320 part 3 - move GetPathLengthScale to SVGGeometryElement and convert callers of SVGPathElement methods to work on the base SVGGeometryElement class and work for all shapes, not just paths r=dholbert 2018-03-13 19:52:03 +00:00
Emilio Cobos Álvarez
923d990216 Bug 1444905: Remove scoped style support from the old style system. r=xidorn,smaug
Summary: It uses two node bits that can be better suited for something else.

Reviewers: xidorn, smaug

Bug #: 1444905

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

MozReview-Commit-ID: HIPDtHm6xpM
2018-03-13 10:26:13 +01:00
Dorel Luca
c9a6190615 Merge autoland to mozilla-central. a=merge 2018-03-06 20:33:50 +02:00
Olli Pettay
fe9afade80 Bug 1066965, make contentEditable and spellchecking to work in ShadowDOM, r=mrbkap 2018-03-06 09:34:40 +09:00
Zibi Braniecki
537c9c93e6 Bug 1363862 - Add Node.localize API as a fast-path for Fluent DOM localization. r=baku
MozReview-Commit-ID: 6mj0q21Nbey
2018-02-21 14:07:53 -08:00
Brian Grinstead
00f65ec517 Bug 1443948 - Remove NODE_FORCE_XBL_BINDINGS;r=bz
This was used to attach a binding to a cloned node before it got inserted
into the doc. This is no longer used in the browser chrome, so this patch
removes the feature to prevent future usage and simplify dom code.

MozReview-Commit-ID: KnkHWJ8oQig
2018-03-12 13:24:10 -07:00
Emilio Cobos Álvarez
cc74b7b9fd Bug 1440258: Flag doc level anonymous content instead of guessing. r=bholley
Poking at the frame tree has problems: If we poke in negative (using
eSkipNativeAnonymousContent), as we were doing, we mess up the case where we're
actually _not_ doc-level, and _not_ ::before or ::after. This can't happen for
content documents, but can happen for chrome (since nsDocElementBoxFrame
implements nsIAnonymousContentCreator).

If we poke in positive, as we used to, you get that right, but mess up the
root scrollbar case.

Instead, use a node property to mark doc level anon content. This is a case rare
enough that it seems worth to not steal a node bit.

To recap the failure:

 * The initial value of -moz-control-character-visiblity is different on beta
   and nightly.

 * XUL has a global rule setting -moz-control-character-visibility on the root,
   to a value so that it's the initial one on nightly, but the non-initial one
   on beta.

 * Changes to this property cause a reframe.

 * Reframes of a nsIAnonymousContentCreator anon content reframe the container.

 * We were failing to inherit correctly for the nsIAnonymousContentCreator
   content for the root XUL element on the initial styling, inheriting from the
   default computed values instead, since we failed to reach the root element's
   primary frame from GetFlattenedTreeParentForDocumentElementNAC ->
   AppendDocumentLevelNativeAnonymousContentTo, since the primary frame is set
   _after_ processing children.

   This seems somewhat risky to change, and inconsistent with any other stuff
   the frame constructor does, see bug 973390.

 * Given that, the next restyle of the root element, in this case caused due to
   the customizable UI, we _found_ the actual correct parent, recomputed the
   style, saw that -moz-control-character-visiblity had changed, and reframed.
   But we were reframing the whole window, not just the NAC, because of the
   fourth bullet point. Reframing the whole window caused us to lose the popup
   state (that's bug 1440506).

   Worse than that is the fact that given we reframe and reconstruct the
   anonymous countent again, we go back to the initial bogus state, just
   awaiting for the next restyle to reframe the whole window.

I wish there was a bullet-proof way to test it that isn't just counting reframes
and relying on which properties reframe or not, but due to the nature of
nsIAnonymousContentCreator's NAC, it's not possible in any easy way I can think
of.

MozReview-Commit-ID: IPYB5trsN8R
2018-02-23 20:31:52 +01:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Boris Zbarsky
a04420f06a Bug 1432186 part 19. Remove the nsIDOMNode::*_NODE constants. r=mccr8
MozReview-Commit-ID: KvKjeKIOB9K
2018-01-29 23:10:53 -05:00
Boris Zbarsky
62a7155c3e Bug 1432186 part 18. Remove no-longer-needed nsIDOMNode-forwarding defines. r=mccr8
MozReview-Commit-ID: FbP5fVQ3c6m
2018-01-29 23:10:52 -05:00
Boris Zbarsky
8315488628 Bug 1432186 part 17. Remove nsIDOMNode's parentNode attribute. r=mccr8
MozReview-Commit-ID: 4xzDwwEqnvE
2018-01-29 23:10:52 -05:00
Boris Zbarsky
2e39082c0d Bug 1432186 part 16. Remove nsIDOMNode's ownerDocument attribute. r=mccr8
MozReview-Commit-ID: JqfAFxPBz41
2018-01-29 23:10:52 -05:00
Boris Zbarsky
3baf6d7196 Bug 1432186 part 15. Remove nsIDOMNode::HasChildNodes. r=mccr8
MozReview-Commit-ID: GFc2sv4E7b2
2018-01-29 23:10:51 -05:00
Boris Zbarsky
90cd5ccb7d Bug 1432186 part 14. Remove nsIDOMNode's childNodes attribute. r=mccr8
MozReview-Commit-ID: JyQjEYngKAT
2018-01-29 23:10:51 -05:00
Boris Zbarsky
72f89544cf Bug 1432186 part 13. Remove nsIDOMNode's nextSibling attribute. r=mccr8
MozReview-Commit-ID: DTaivhMORXr
2018-01-29 23:10:51 -05:00
Boris Zbarsky
8830274e81 Bug 1432186 part 12. Remove nsIDOMNode's previousSibling attribute. r=mccr8
MozReview-Commit-ID: 7UJFaxEnT9Q
2018-01-29 23:10:51 -05:00
Boris Zbarsky
da8fc8dbae Bug 1432186 part 11. Remove nsIDOMNode's firstChild attribute. r=mccr8
MozReview-Commit-ID: 5jCdAmSuPx8
2018-01-29 23:10:51 -05:00
Boris Zbarsky
4955f45013 Bug 1432186 part 10. Remove nsIDOMNode's lastChild attribute. r=mccr8
MozReview-Commit-ID: FhJs1MXAyeO
2018-01-29 23:10:51 -05:00
Boris Zbarsky
c6ddfdf4f1 Bug 1432186 part 9. Remove nsIDOMNode::CloneNode. r=mccr8
MozReview-Commit-ID: 3x3wJ9H38Wx
2018-01-29 23:10:51 -05:00
Boris Zbarsky
993835fe09 Bug 1432186 part 7. Remove nsIDOMNode's textContent attribute. r=mccr8
MozReview-Commit-ID: I5cIxa5WAk
2018-01-29 23:10:50 -05:00
Boris Zbarsky
23eabbfa8a Bug 1432186 part 6. Remove nsIDOMNode::RemoveChild. r=mccr8
MozReview-Commit-ID: 9ZbIEIRtYPL
2018-01-29 23:10:50 -05:00
Boris Zbarsky
f2f1b7a49a Bug 1432186 part 5. Remove nsIDOMNode's nodeType attribute. r=mccr8
MozReview-Commit-ID: LKsBgKcqtBS
2018-01-29 23:10:50 -05:00
Boris Zbarsky
be170aee2a Bug 1432186 part 4. Remove nsIDOMNode's nodeValue attribute. r=mccr8
MozReview-Commit-ID: Aqt4NDjcdKW
2018-01-29 23:10:50 -05:00
Boris Zbarsky
38e0d324fd Bug 1432186 part 3. Remove nsIDOMNode's nodeName attribute. r=mccr8
MozReview-Commit-ID: Jg0Tuvdi6uX
2018-01-29 23:10:50 -05:00