Commit graph

230 commits

Author SHA1 Message Date
Nicholas Nethercote
a560608963 Bug 1451169 - Use nsStaticAtom* instead of nsStaticAtom** in Element.h. r=baku
And then fix up everything else that needs to change as well.

MozReview-Commit-ID: GDMfERqdQAc

--HG--
extra : rebase_source : 01fe06c3182245a409099a53383d92bf4fa0155c
2018-04-03 13:21:06 +10:00
Xidorn Quan
4cf9aed667 Bug 1449400 part 5 - Remove StyleSetHandle. r=emilio
This patch basically does:
* remove StyleSetHandle and its corresponding files
* revisit #includes of related header files and change correspondingly
* change nsIPresShell::mStyleSet to be UniquePtr<ServoStyleSet>
* change the creating path of ServoStyleSet to pass UniquePtr
* change other mentions of StyleSetHandle to ServoStyleSet*
* remove AsServo() calls on ServoStyleSet

Some unfortunate bits:
* some methods of (Servo)StyleSet only accepts ServoStyleSheet while
  many places call into the methods with StyleSheet, so there are many
  ->AsServo() added to sheets

MozReview-Commit-ID: K4zYnuhOurA

--HG--
extra : rebase_source : 459e8efeb171adad089d94272e143e8c244bd279
extra : source : 65ba2f174fcf7dba4e59c00ee8908b1bd0820a48
2018-03-29 22:15:46 +11:00
Xidorn Quan
3e1eaab1ee Bug 1449798 - Remove GenericSpecifiedValues::ShouldComputeStyleStruct and mSIDs. r=emilio
This was useful because nsRuleData in the old style system may not hold
all the data, but the only subclass ServoSpecifiedValues is always able
to hold any data, and thus passes NS_STYLE_INHERIT_MASK to mSIDS. Given
this, this method and mSIDs seems to be useless and can be removed.

MozReview-Commit-ID: 4vWcV4DRS2i

--HG--
extra : rebase_source : 4f364d431821e29838082e391c6dde08af7f5343
2018-03-29 12:39:07 +11:00
Jonathan Watt
6af9cd851b Bug 1449566 - Remove GenericSpecifiedValues::ShouldIgnoreColors. r=emilio
--HG--
extra : source : 72f9188800afb4dec5b69d0a9066bb0453c61fbc
2018-03-23 16:40:12 +00:00
Jonathan Watt
68e78b291f Bug 1449321 - Remove the IsServo and IsGecko methods from the style system code. r=emilio
--HG--
extra : source : 763277b299e42d8ee7eafede027ee690b66a7a2a
2018-03-23 16:01:34 +00:00
Boris Zbarsky
29d232e53f Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor
MozReview-Commit-ID: 202nkbmkwfR
2018-03-21 17:39:04 -04:00
Emilio Cobos Álvarez
f7522ae728 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
89ea512161 Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot
We can't include MouseEventBinding.h in MouseEvents.h because that produces
this include loop:

MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> MouseEventBinding.h

MozReview-Commit-ID: 6FNksGil7uD
2018-03-20 00:16:06 -04:00
Adrian Wielgosik
43a3ada8a9 Bug 1418077 - Remove nsIDOMHTMLFormElement. r=bz
MozReview-Commit-ID: 9eQxvfIMB22

--HG--
extra : rebase_source : f75e043da542b567e31d15db25791c738b275a09
2018-03-14 21:42:25 +01:00
Olli Pettay
51b6aa1b21 Bug 1066965, make contentEditable and spellchecking to work in ShadowDOM, r=mrbkap 2018-03-06 09:34:40 +09:00
Emilio Cobos Álvarez
822eb19c88 Bug 1442080: Make IsOrHasAncestorWithDisplayNone faster in the Servo case. r=xidorn
The code there wasn't flushing anyway, so kept doing that...

MozReview-Commit-ID: CwGiwOs9xaI

--HG--
extra : rebase_source : 325fe56deb842847575bfba6f1e2c30e5c1662ac
2018-03-01 02:03:24 +01:00
Adrian Wielgosik
9dae626b64 Bug 659610 - Remove nsGenericHTMLElement::SetAttrHelper and related helper macros. r=qdot
The only remaining instance of NS_IMPL_BOOL_ATTR macro was expanded by hand.

MozReview-Commit-ID: DQ8fGGNTl3y

--HG--
extra : rebase_source : 9ab13bd3e0702b518f8ec8418f2a7a9861ad5062
2018-02-24 20:20:23 +01:00
Emilio Cobos Álvarez
7dffe29d8f Bug 1432490: Make nsComputedDOMStyle::GetStyleContext / GetStyleContextNoFlush not take a presShell. r=bz
Everyone calls them with the shell of the current composed document, and this
allows the multi-presShell stuff to just be in UpdateCurrentStyleSources /
DoGetStyleContextNoFlush.

The only reason we need to use OwnerDoc()->GetShell() instead of the composed
doc in GetStyleContext / GetStyleContextNoFlush is Element::GetBindingURL, which
does expect to get the binding URL for stuff outside of the composed doc (and
changing that gave me a useless browser).

That's technically a behavior change on the cases that used to pass nullptr, but
I think all callers are fine with that. I could also just add a special function
for that particular case, it may be worth it.

MozReview-Commit-ID: 2XlnkgdgDCK
2018-02-25 02:23:59 +01:00
Emilio Cobos Álvarez
8010ae3a8d Bug 1439155: Be consistent about what does readonly apply to. r=smaug
MozReview-Commit-ID: 4NiDe7pUzGa

--HG--
extra : rebase_source : 97c42c12cbeffaf360c9b91f4ee8bc7b95e4e48e
2018-02-22 08:07:55 +01:00
Hiroyuki Ikezoe
1b0cba9367 Bug 1417354 - Introduce nsIDocument::GetPresContext(). r=smaug
It would be convenient to get nsPresContext from nsIDocument.

MozReview-Commit-ID: Ei6V3UE8XGr

--HG--
extra : rebase_source : 8d2a917eb62cf341e4e1810451fd01c01dbc3bad
2018-02-21 07:00:10 +09:00
Emilio Cobos Álvarez
a6ad7e8448 Bug 1405087: Make nsGenericHTMLElement::IsDisabled not virtual. r=bz
The state bit is never added to object / output anyway (see the CanBeDisabled
check).

MozReview-Commit-ID: DBPpaHA2tME
2018-02-15 21:49:00 +01:00
Emilio Cobos Álvarez
d856f9f390 Bug 1405087: Don't use -moz-user-input: disabled to decide event handling stuff. r=smaug
We only set it on disabled form controls anyway, so use the content state
directly.

MozReview-Commit-ID: 7jJ75dvszyC
2018-02-15 21:48:58 +01:00
decltype
dd080e9eba Bug 712130 - Defer autofocus until after frame construction. r=bz
The autofocus attribute on form elements forces layout in CheckIfFocusable.
To avoid unpleasant FOUCs, defer autofocus processing until frames are
constructed in PresShell::Initialize.

Resolve the race between nsAutoFocusEvent running and page load by checking the
readystate at time of event posting. Skip autofocus if the element moved to a
different window in the meantime.

MozReview-Commit-ID: 90jiJYJWmRg

--HG--
extra : rebase_source : f94b479075df3e37ec1a658d71596c03930bab92
2018-01-08 22:35:00 +01:00
Cameron McCormack
d02e54b79b Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl

--HG--
extra : source : 78a2fc781eead47af3923efcde58569c5d882ab1
2018-02-01 15:04:04 +11:00
Gurzau Raul
c380dfe905 Merge inbound to mozilla-central. a=merge 2018-01-30 12:01:49 +02:00
Boris Zbarsky
7c392f077e Bug 1418085 part 6. Remove nsIDOMHTMLElement. r=mystor
MozReview-Commit-ID: 5QUyFeAQYZQ
2018-01-30 00:25:36 -05:00
Hiroyuki Ikezoe
4d9188d86d Bug 1433846 - Drop nsComputedDOMStyle::GetPresShellForContent(), use nsContentUtils::GetPresShellForContent(). r=xidorn
MozReview-Commit-ID: JcpEpqP32Yi

--HG--
extra : rebase_source : dc3649c882f7edd36f9dbc3463d186517b18bdc1
2018-01-29 14:19:25 +09:00
Boris Zbarsky
9da3878bc9 Bug 1418076 part 11. Eliminate the nsIDOMHTMLDocument interface. r=mystor
MozReview-Commit-ID: 4lEcUeenbg3
2018-01-26 01:03:25 -05:00
Boris Zbarsky
d3dc65034f Bug 1418076 part 9. Eliminate remaining uses of nsIDOMHTMLDocument. r=mystor
MozReview-Commit-ID: DqjJPKKRYOx
2018-01-26 01:01:25 -05:00
Boris Zbarsky
e2482fb957 Bug 1276438 part 5. Get rid of IsCurrentBodyElement. r=mystor
MozReview-Commit-ID: JMBFmVoMiMS
2018-01-26 00:53:35 -05:00
Boris Zbarsky
f60fd673d6 Bug 1432186 part 19. Remove the nsIDOMNode::*_NODE constants. r=mccr8
MozReview-Commit-ID: KvKjeKIOB9K
2018-01-29 23:10:53 -05:00
Andrea Marchesini
b8bb98af8c Bug 1430997 - Rename nsINode::IndexOf to nsINode::ComputeIndexOf, r=catalinb 2018-01-23 14:30:18 +01:00
Boris Zbarsky
f1d64479e7 Bug 1431964 part 10. Remove nsIDOMAttr. r=mccr8
MozReview-Commit-ID: xj4QeXBF9V
2018-01-21 12:07:31 -05:00
Andrea Marchesini
8768fe8991 Bug 1425440 - Replace RemoveChildAt_Deprecated with RemoveChildNode in nsGenericHTMLElement, r=catalinb 2018-01-16 14:17:11 +01:00
Andrea Marchesini
43c8e4e21b Bug 1425440 - Get rid of GetChildAt_Deprecated in nsRange, r=catalinb 2018-01-12 15:33:13 +01:00
Emilio Cobos Álvarez
63b7c47b72 Bug 1428339: Make attribute mapping work without a pres context. r=heycam
MozReview-Commit-ID: FisYWoArX0N

--HG--
extra : rebase_source : b47cd6960b9bb44fc4573b295068fec01339322a
2018-01-05 13:47:04 +01:00
Andrea Marchesini
6ee7f4e6f3 Bug 1425321 - Renaming nsINode::RemoveChildAt to RemoveChildAt_Deprecated, r=catalinb 2018-01-03 14:01:03 +01:00
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
Kris Maglione
1c66345e09 Bug 1415352: Part 1a - Pass subject principal through to ParseAttribute. r=bz
This is necessary in order to parse style attributes using the subject
principal of the caller, rather than defaulting to the page principal.

MozReview-Commit-ID: GIshajQ28la

--HG--
extra : rebase_source : 5dba46f61d70ec647cae16383b62961ac72d2f47
2017-11-01 20:35:52 -07:00
Nika Layzell
3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Sebastian Hengst
898ad474fe Backed out changeset 4427e7f72c8e (bug 1414233) for crashing in mochitest dom/base/test/test_bug1375050.html. r=backout on a CLOSED TREE 2017-11-06 23:38:00 +02:00
Catalin Badea
6187f14497 Bug 1414233 - Remove nsINode::GetChildAt from nsRange::GetInnerTextNoFlush. r=masayuki 2017-11-03 04:35:00 -04:00
Emilio Cobos Álvarez
dd634e3981 Bug 1411612: Kill nsINode::eCONTENT. r=bz
MozReview-Commit-ID: ESlOqlwhcHI

--HG--
extra : rebase_source : fe6a02469dca1e50c24ba166e15e39160ab4551b
2017-10-25 17:19:11 +02:00
Hiroyuki Ikezoe
a5c66d4d97 Bug 1407463 - Drop unused pseudo atom argument from ResolveStyleLazily and ResolveStyleLazilyInternal. r=heycam
MozReview-Commit-ID: Lmjqbr7QsTU

--HG--
extra : rebase_source : dc1587cd9058bf279f21116a843928289b2602f2
2017-10-11 10:00:28 +09:00
Kris Maglione
4275cd1039 Bug 1406278: Part 1 - Pass subject principal to SetAttribute and friends. r=bz
In order to tailor certain security checks to the caller that is attempting to
load a particular piece of content, we need to be able to attach an
appropriate triggering principal to the corresponding requests. Since most
HTML content is loaded based on attribute values, that means capturing the
subject principal of the caller who sets those attributes, which means making
it available to AfterSetAttr hooks.

MozReview-Commit-ID: BMDL2Uepg0X

--HG--
extra : rebase_source : 25e438c243700a9368c393e40e3a6002d968d6c8
2017-10-09 14:33:38 -07: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
Cameron McCormack
6fdd311839 Bug 1404180 - Don't allow associating form elements by ID to <form>s across anonymous subtree boundaries. r=smaug
MozReview-Commit-ID: KRJjrkL4FgZ

--HG--
extra : amend_source : 80cd5e00804a8b2a5fd4e51b0f7ea9160dd63b1c
2017-10-02 13:10:18 +08:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Boris Zbarsky
cb3d8d129c Bug 850684. Make sure offset* is computed correctly on absolutely positioned kids of relatively positioned elements with scrolllframes and borders. r=mats
The check for isAbsolutelyPositioned was an old incorrect attempt to fix bug
81290.  We have since added the proper fix (not adding offsets of the offset
parent frame) in bug 375003.

MozReview-Commit-ID: 7NgnfrYcs8h
2017-09-26 02:01:57 -04:00
Bobby Holley
2ceae78919 Bug 1401992 - Don't cross anonymous boundaries when finding the fieldset. r=bz
MozReview-Commit-ID: DiywRognpqx
2017-09-22 15:38:32 -07:00
Masatoshi Kimura
5f035965ac Bug 1390209 - Remove unused nsIDOMHTML*Element interfaces. r=qdot
MozReview-Commit-ID: DagD3IHhRZy

--HG--
extra : rebase_source : 2add5ad8e9181ba9bf29f53a6df75b730ab5ea78
2017-08-15 01:31:47 +09:00
Masayuki Nakano
8872065ef4 Bug 1388004 - part2: Make nsGenericHTMLElement::GetAssociatedEditor() return TextEditor instead of nsIEditor r=smaug
nsGenericHTMLElement::GetAssociatedEditor() retrieves TextEditor if the element is <input type="text"> or something, or <textarea>, or if it's editable, HTMLEditor associated to the document.  So, this method can return TextEditor (HTMLEditor is a subclass of TextEditor).

MozReview-Commit-ID: BvpFPaPLY70

--HG--
extra : rebase_source : 69edbe17aeb1ac72a8f8d247e5baca998569250e
2017-08-07 16:53:59 +09:00
Emilio Cobos Álvarez
f4670943e9 Bug 1382568: followup: Fix comment wording. r=me
MozReview-Commit-ID: IHhceyG4oDz
2017-08-05 11:42:08 +02:00