Commit Graph

257 Commits

Author SHA1 Message Date
Boris Zbarsky
9dd08d91e3 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
117877dd3e Bug 1276438 part 5. Get rid of IsCurrentBodyElement. r=mystor
MozReview-Commit-ID: JMBFmVoMiMS
2018-01-26 00:53:35 -05: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
Andrea Marchesini
8d41475807 Bug 1430997 - Rename nsINode::IndexOf to nsINode::ComputeIndexOf, r=catalinb 2018-01-23 14:30:18 +01:00
Boris Zbarsky
f49a0fc3b7 Bug 1431964 part 10. Remove nsIDOMAttr. r=mccr8
MozReview-Commit-ID: xj4QeXBF9V
2018-01-21 12:07:31 -05:00
Andrea Marchesini
6d68b56179 Bug 1425440 - Replace RemoveChildAt_Deprecated with RemoveChildNode in nsGenericHTMLElement, r=catalinb 2018-01-16 14:17:11 +01:00
Andrea Marchesini
da198e698b Bug 1425440 - Get rid of GetChildAt_Deprecated in nsRange, r=catalinb 2018-01-12 15:33:13 +01:00
Emilio Cobos Álvarez
3fb51af7bf Bug 1428339: Make attribute mapping work without a pres context. r=heycam
MozReview-Commit-ID: FisYWoArX0N
2018-01-05 13:47:04 +01:00
Andrea Marchesini
082fc2f0f2 Bug 1425321 - Renaming nsINode::RemoveChildAt to RemoveChildAt_Deprecated, r=catalinb 2018-01-03 14:01:03 +01:00
Emilio Cobos Álvarez
8a71d3197b 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
ecd202d763 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
b3956b6171 Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-07 19:13:50 +01:00
Kris Maglione
48e53b3df5 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
2017-11-01 20:35:52 -07:00
Nika Layzell
d8c117bc28 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
2bab7a2d78 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
8b82ba4f1a Bug 1414233 - Remove nsINode::GetChildAt from nsRange::GetInnerTextNoFlush. r=masayuki 2017-11-03 04:35:00 -04:00
Emilio Cobos Álvarez
cf5ec03009 Bug 1411612: Kill nsINode::eCONTENT. r=bz
MozReview-Commit-ID: ESlOqlwhcHI
2017-10-25 17:19:11 +02:00
Hiroyuki Ikezoe
f50a03dd72 Bug 1407463 - Drop unused pseudo atom argument from ResolveStyleLazily and ResolveStyleLazilyInternal. r=heycam
MozReview-Commit-ID: Lmjqbr7QsTU
2017-10-11 10:00:28 +09:00
Kris Maglione
5f00cf0c65 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
2017-10-09 14:33:38 -07: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
Cameron McCormack
99ea52a095 Bug 1404180 - Don't allow associating form elements by ID to <form>s across anonymous subtree boundaries. r=smaug
MozReview-Commit-ID: KRJjrkL4FgZ
2017-10-02 13:10:18 +08:00
Nicholas Nethercote
9fda5528d2 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
2017-09-26 08:33:21 +10:00
Boris Zbarsky
e51cd34838 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
bd89d24ab0 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
b87d3e615b Bug 1390209 - Remove unused nsIDOMHTML*Element interfaces. r=qdot
MozReview-Commit-ID: DagD3IHhRZy
2017-08-15 01:31:47 +09:00
Masayuki Nakano
5d4c1b5b7d 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
2017-08-07 16:53:59 +09:00
Emilio Cobos Álvarez
fb300dc11e Bug 1382568: followup: Fix comment wording. r=me
MozReview-Commit-ID: IHhceyG4oDz
2017-08-05 11:42:08 +02:00
Emilio Cobos Álvarez
f74a86dfd9 Bug 1382568: Avoid trying to resolve styles in an uninitialized presshell in GetInnerText. r=heycam
MozReview-Commit-ID: DFFb5OCQpHG
2017-08-05 08:55:50 +02:00
Cameron McCormack
3431e2f842 Bug 1384824 - Part 1: Lazily clear stale Servo element data from a document when its pres shell changes. r=bholley
MozReview-Commit-ID: 1c566PRqFpe
2017-08-04 19:26:04 +10:00
Jessica Jong
f6c04bf2c6 Bug 1385478 - Part 2: Change Required/IsRequired() to look at NS_EVENT_STATE_REQUIRED instead. r=bz
In order to speed up Required/IsRequired(), instead of querying for the
@required attribute, we're now using the NS_EVENT_STATE_REQUIRED flag to know
whether an element's value is required.

For this to work correctly, we need to set NS_EVENT_STATE_REQUIRED earlier,
that is, in AfterSetAttr(), before any consumer of IsRequired(). We also need
to update or clear our required states when input type changes, since we may
have changed from a required input type to a non-required input type or
vice versa.

Note that NS_EVENT_STATE_REQUIRED/OPTIONAL is now part of the
EXTERNALLY_MANAGED_STATES.

MozReview-Commit-ID: Bjiby9GqJSB
2017-08-03 01:27:00 -04:00
Sebastian Hengst
0f53503b6b merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 44WBcWjnVo
2017-07-30 11:19:17 +02:00
Jessica Jong
5b01fb8b01 Bug 1376695 - Check HasName() before CanHaveName(). r=ehsan
We should check HasName() first because HasName() should be cheaper and would
typically be false.

MozReview-Commit-ID: 8l7WQR7Lcxj
2017-07-29 11:56:53 -04:00
Xidorn Quan
7a52208e72 Bug 1382568 followup - Fix build bustage.
MozReview-Commit-ID: 4GLzEe9wWqz
2017-07-30 15:11:53 +10:00
Emilio Cobos Álvarez
027d51f977 Bug 1382568: Use the flattened tree instead of the DOM tree in IsOrHasAncestorWithDisplayNone. r=heycam
MozReview-Commit-ID: 334fnSSHN7Z
2017-07-30 04:14:32 +02:00
Emilio Cobos Álvarez
b7536b1866 Bug 1382568: Use range-based for loop instead of array indexing in IsOrHasAncestorWithDisplayNone. r=heycam
MozReview-Commit-ID: H8Gbh523eoO
2017-07-30 04:13:48 +02:00
Emilio Cobos Álvarez
98b5117614 Bug 1382568: Use AutoTArray in IsOrHasAncestorWithDisplayNone. r=heycam
MozReview-Commit-ID: EiRJOPFWEiN
2017-07-30 04:12:34 +02:00
Jessica Jong
168de8a006 Bug 1376695 - Part 1: Let ElementHasName flag be applied to all nodes. r=ehsan
We'd like to use HasName() to know whether a node has a name attribute, but now
it's only applied to elements that CanHaveName(), hence we change it so that
it's applied to all nodes. Therefore, when document named items related
functions wants to use HasName() now, it must also check CanHaveName().

MozReview-Commit-ID: 2i5hfjnxXIF
2017-07-26 02:33:00 -04:00
Jessica Jong
0856214886 Bug 1375599 - Change IsDisabled() to look at NS_EVENT_STATE_DISABLED instead of the "disabled" attribute. r=bz
In order to speed up IsDisabled(), instead of querying for the @disabled
attribute, we're now using the NS_EVENT_STATE_DISABLED flag to know whether an
element is disabled.
It is safe to use the NS_EVENT_STATE_DISABLED flag for the following reasons:
- For form elements, nsGenericHTMLFormElement::IsDisabled() is only called on
  form elements that can be disabled; form elements that can't be disabled
  overrides IsDisabled() to return false directly.
  And, before this patch, NS_EVENT_STATE_DISABLED flag is set by
  nsGenericHTMLFormElement::IntrinsicState() if and only if IsDisabled() in all
  cases when CanBeDisabled() is true, and when CanBeDisabled() is false then
  IsDisabled() is always false and the flag is not set.
- For non form elements, optgroup and option have the flag matching
  IsDisabled(). Note that option's IsDisabled() should also refer to optgroup's
  (if it exists) disabled state, which was not done before this patch.

For this to work correctly, we need to set NS_EVENT_STATE_DISABLED earlier,
that is, in AfterSetAttr(), before any consumer of IsDisabled().
We also need to update the flag whenever the element's parent (e.g. fieldset or
optgroup) disabled state changes and when moving into/out of a parent
container.

Note that NS_EVENT_STATE_DISABLED/ENABLED is now part of the
EXTERNALLY_MANAGED_STATES.

MozReview-Commit-ID: KSceikeqvvU
2017-07-20 02:15:00 -04:00
Olli Pettay
c5b6e095f8 Bug 1377993 - Make node slots less memory hungry in common cases. r=peterv
MozReview-Commit-ID: Lhr1UsCrRTs
2017-07-18 00:25:49 +02:00
Jessica Jong
19243ff95e Bug 1366361 - Part 1: .action/formAction should return the document's URL if @action/formaction is missing or empty. r=smaug
MozReview-Commit-ID: H4CK0SVpaCv
2017-07-17 14:17:19 +08:00
Boris Zbarsky
01a42eb3b2 Bug 1380393 part 1. Remove some unused nsIDOMHTMLElement bits. r=mccr8 2017-07-13 23:45:49 -04:00
Kartikaya Gupta
94f4192698 Bug 1380375 - Remove the DOM bindings for the unused scrollgrab feature. r=smaug
MozReview-Commit-ID: 87aJOsc6zbO
2017-07-12 15:28:50 -04:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Olli Pettay
36c7177e03 Bug 1378196, Make IsEventAttributeName non-virtual in common case, r=ehsan 2017-07-04 23:54:30 +03:00
Ehsan Akhgari
9403409c1f Bug 1377801 - Add a var cache for the browser.autofocus pref; r=mystor 2017-07-04 13:49:41 -04:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Masayuki Nakano
53a0be1b54 Bug 1374207 - part4: Element classes should use TextEditor class instead of nIEditor r=smaug
Unfortunately, nsGenericHTMLElement::GetAssociatedEditor() cannot use concrete classes because it may return nsIEditor which is set via nsIDocShell.editor.  The editor set to nsIDocShell may be implemented by JS since nsIEditor isn't marked as builtinclass.

MozReview-Commit-ID: 6GY9LOYp4hM
2017-06-22 15:21:31 +09:00
Boris Zbarsky
f41e6e5b7d Bug 1373798 part 3. Rewrite our existing checks for the state of the "dir" attr on top of the new event state flags. r=mystor
MozReview-Commit-ID: LpCYABK5ZRN
2017-06-19 23:24:59 -04:00
Boris Zbarsky
d21ee929b4 Bug 1373798 part 2. Introduce event state flags that track the state of an element's "dir" attribute. r=mystor
MozReview-Commit-ID: EDCV2fUWGmX
2017-06-19 23:24:59 -04:00
Wes Kocher
02c40a5aad Backed out 5 changesets (bug 1373798) for browser_parseable_css.js failures a=backout CLOSED TREE
Backed out changeset ef2e6aa3ae88 (bug 1373798)
Backed out changeset 0970ac62b245 (bug 1373798)
Backed out changeset dc19b4db7e51 (bug 1373798)
Backed out changeset a5dd7744170e (bug 1373798)
Backed out changeset 2c8752c4b6fb (bug 1373798)

MozReview-Commit-ID: J1WkPvRqELs
2017-06-19 15:56:47 -07:00