Commit Graph
61 Commits
Author SHA1 Message Date
Daniel Holbert 648f3a95c5 Bug 2044510: Pass already_AddRefed types by-value instead of by rvalue reference, in dom/html. r=dom-core-reviewers,smaug
Differential Revision: https://phabricator.services.mozilla.com/D304360
2026-06-05 21:06:40 +00:00
Emilio Cobos Álvarez 1ddad57128 Bug 2034055 - Clean up NodeList / HTMLCollection set-up. r=smaug
Make them concrete classes rather than interfaces, and make the
inheritance chain simpler.

Differential Revision: https://phabricator.services.mozilla.com/D296484
2026-04-28 07:38:27 +00:00
Silaghi ce61f876cc Revert "Bug 2034055 - Clean up NodeList / HTMLCollection set-up. r=smaug" for causing wpt failures at BaseContentList
This reverts commit cde3e5607b.
2026-04-28 03:43:46 +00:00
Emilio Cobos Álvarez cde3e5607b Bug 2034055 - Clean up NodeList / HTMLCollection set-up. r=smaug
Make them concrete classes rather than interfaces, and make the
inheritance chain simpler.

Differential Revision: https://phabricator.services.mozilla.com/D296484
2026-04-28 00:24:11 +00:00
Jan-Niklas Jaeschke c53e5b66b0 Bug 2024437 - Restore mFirstLegend on failure. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D288843
2026-03-24 10:37:13 +00:00
Sylvestre Ledru 9eb1a31a98 Bug 2023419 - Remove Emacs/Vim modelines from dom/ r=emilio,media-playback-reviewers,webidl,padenot
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287843
2026-03-16 21:02:32 +00:00
serge-sans-paille 1f953987a5 Bug 1993127 - Remove unused inclusion of Attributes.h from dom/* r=emilio,media-playback-reviewers,webrtc-reviewers,firefox-svg-reviewers,mjf,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D269713
2025-10-24 08:54:35 +00:00
Frédéric Wang 1f81a41d25 Bug 1928932 - Part 3 - Transmit proper MutationEffectOnScript to mutation observers. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D253633
2025-09-02 20:04:43 +00:00
Olli Pettay 0b460dc40d Bug 1923880, ParentNode.moveBefore(), r=edgar,emilio
iframe tests neeeded tweak because the changes for about:blank haven't landed quite yet.
Render blocking and such aren't supported, so the .ini files are still there.
Selection test seemed to be very chromium specific.

Differential Revision: https://phabricator.services.mozilla.com/D255463
2025-07-21 16:33:44 +00:00
iulian moraru d9d5a440a7 Revert "Bug 1923880, ParentNode.moveBefore(), r=edgar,emilio" for causing non-unified build bustages on nsGenericHTMLFrameElement.cpp.
This reverts commit feac8d52fc.
2025-07-21 10:49:53 +00:00
Olli Pettay feac8d52fc Bug 1923880, ParentNode.moveBefore(), r=edgar,emilio
iframe tests neeeded tweak because the changes for about:blank haven't landed quite yet.
Render blocking and such aren't supported, so the .ini files are still there.
Selection test seemed to be very chromium specific.

Differential Revision: https://phabricator.services.mozilla.com/D255463
2025-07-21 09:37:38 +00:00
Emilio Cobos Álvarez 3c1b64acfe Bug 1940412 - Add batch removal information to nsIMutationObserver::ContentWillBeRemoved, and use it in some trivial-ish places. r=dom-core,credential-management-reviewers,sefeng
The idea is to use it on the style (via PresShell->RestyleManager) to do
invalidation faster in cases like bug 1940405.

Differential Revision: https://phabricator.services.mozilla.com/D233547
2025-01-15 20:39:40 +00:00
Emilio Cobos Álvarez 72f00fc947 Bug 1850293 - Make validity states non-intrinsic. r=smaug
Add a RAII helper to notify of multiple state changes together for
these.

The UpdateState CustomElementInternals calls that are getting removed
are unnecessary (the state should be up-to-date by then, there's nothing
changing there particularly).

Same for the call in nsGenericHTMLFormElement::UnbindFromTree. ClearForm
already does an state update.

Differential Revision: https://phabricator.services.mozilla.com/D187033
2023-08-30 09:18:32 +00:00
Edgar Chen 7f1817d5af Bug 1839642 - Overriding method in HTMLFieldSetElement don't need to be virtual; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D181702
2023-06-26 09:46:58 +00:00
Edgar Chen d0beb0667a Bug 1839642 - Notify all fieldset's elements properly when fieldset's disabled state is changed; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D181701
2023-06-26 09:46:58 +00:00
Emilio Cobos Álvarez ded1458b5b Bug 1829189 - Make OnAttrSetButNotChanged and AfterSetAttr infallible. r=smaug
Same rg + sed shenanigans as the first patch.

There were two that could fail, both due to OOM:

 * HTMLInputElement::AfterSetAttr: If we fail (only in the type=range
   case) we end up with an old value without it being clamped by
   min/max/step.

 * HTMLBodyElement::AfterSetAttr: If we fail we won't peek up the
   DocShell's frame margins and styling could be incorrect.

That seems better than having to deal with broken states after we've
already set the attribute.

Depends on D176069

Differential Revision: https://phabricator.services.mozilla.com/D176070
2023-04-21 08:56:27 +00:00
Emilio Cobos Álvarez 1c58e2a928 Bug 1773070 - Unify Gecko and Servo EventState/ElementState bits. r=smaug
Add a dom/base/rust crate called just "dom" where we can share these.

Most of the changes are automatic:

  s/mozilla::EventStates/mozilla::dom::ElementState/
  s/EventStates/ElementState/
  s/NS_EVENT_STATE_/ElementState::/
  s/NS_DOCUMENT_STATE_/DocumentState::/

And so on. This requires a new cbindgen version to avoid ugly casts for
large shifts.

Differential Revision: https://phabricator.services.mozilla.com/D148537
2022-06-07 23:09:52 +00:00
Edgar Chen c0e4a58a2e Bug 1556364 - Part 2-1: Split nsGenericHTMLFormControlElement-only members from nsIConstraintValidation to a separated class; r=smaug
As ElementInternal has it own implmentation.

Differential Revision: https://phabricator.services.mozilla.com/D130259
2021-11-26 11:47:39 +00:00
Marian-Vasile Laza 1e7f538843 Backed out 5 changesets (bug 1556364) for causing web-platform test failures. CLOSED TREE
Backed out changeset dabffbe71a31 (bug 1556364)
Backed out changeset 76fc30f27c39 (bug 1556364)
Backed out changeset f6f7f949551f (bug 1556364)
Backed out changeset c77ef41d43d4 (bug 1556364)
Backed out changeset 2c8c74e99e47 (bug 1556364)
2021-11-26 05:01:08 +02:00
Edgar Chen d577441402 Bug 1556364 - Part 2-1: Split nsGenericHTMLFormControlElement-only members from nsIConstraintValidation to a separated class; r=smaug
As ElementInternal has it own implmentation.

Differential Revision: https://phabricator.services.mozilla.com/D130259
2021-11-25 21:58:04 +00:00
Edgar Chen b5ebddd6e6 Bug 1556351 - Part 2: Add nsGenericHTMLFormControlElement; r=smaug
The end goal of this inheritance changes is,
- The common codes that could be shared between form-assciated custom elements
  (FACE) and other form-assciated elements would be left in nsGenericHTMLFormElement.
- The codes that doesn't require for FACE would be moved to nsGenericHTMLFormControlElement.
- The nsGenericHTMLFormControlElement would inherit the nsIFormControl instead.
- HTMLElement would inherit nsGenericHTMLFormElement in order to make it could be
  add into HTMLFormElement or HTMLFieldElement if it is a FACE.

This part is just a skeleton change, code movement and adjustment are in subsequent parts.

Differential Revision: https://phabricator.services.mozilla.com/D124785
2021-10-04 20:51:26 +00:00
Edgar Chen 65159a887b Bug 1728664 - Move IsDisabledForEvents out of nsIFormControl; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D124319
2021-09-02 13:26:09 +00:00
Edgar Chen 2a45c41a27 Bug 1721349 - Move mSubmitter from HTMLFormSubmission to FormData and make it participate in cycle collection; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D120334
2021-07-21 09:52:20 +00:00
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
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Marcos Cáceres 62fdb0177b Bug 329509 - allow dispatching event when element is disabled. r=annevk,smaug
Allow untrusted Events and Custom events to be dispatched at disabled form element. This is for interop and some developers have asked for this.

Differential Revision: https://phabricator.services.mozilla.com/D10000
2018-10-31 08:55:33 +00:00
Nathan Froyd f93834868a Bug 1492894 - part 1 - make the node hierarchy consistently constructed with NodeInfo&&; r=mccr8
Various places in dom/ use the pattern:

  already_AddRefed<NodeInfo> ni = ...;

which is supposed to be disallowed by our static analysis code, but
isn't, for whatever reason.  To fix our static analysis code, we need to
eliminate instances of the above pattern.

Unfortunately, eliminating this pattern requires restructuring how Nodes
are created.  Most Node subclasses take `already_AddRefed<NodeInfo>&` in
their constructors, and a few accept `already_AddRefed<NodeInfo>&&`.  We
need to enforce the latter pattern consistently, which requires changing
dozens of source files.
2018-09-21 16:45:49 -04:00
Emilio Cobos Álvarez 693b3d3877 Bug 1481601 - Remove now-useless aPreallocateChildren from nsINode::Clone() and friends. r=bzbarsky
Since sed on multiple lines ended up being such a pain and I didn't end up
writing a script for this because I didn't think it'd end up being so boring, I
may have made a couple cleanups here and there as well...

Differential Revision: https://phabricator.services.mozilla.com/D2887
2018-08-08 23:58:44 +00:00
8b5d84e341 Bug 1469385 - Remove InsertChildAt_Deprecated and RemoveChildAt_Deprecated, r=bz,smaug 2018-06-19 12:21:18 +03:00
Boris Zbarsky 6dc31b1b43 Bug 1466253. HTMLFieldSetElement::GetType should return void. r=qdot 2018-06-01 22:35:26 -04:00
Boris Zbarsky 5b75c1416d Bug 1449631 part 8. Remove nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: 5wQ2LYrjUxf
2018-04-05 13:42:41 -04:00
Boris Zbarsky 6ea42abd76 Bug 1447098 part 2. Rename the NS_IMPL_FROMCONTENT macros to NS_IMPL_FROMNODE. r=mystor 2018-03-21 17:39:04 -04:00
Andrea Marchesini d7fcfacf9a Bug 1431000 - Introduce nsINode::InsertChildBefore, r=catalinb 2018-01-25 15:59:42 +01:00
Andrea Marchesini 5cd368a179 Bug 1430998 - Rename nsINode::InsertChildAt to InsertChildAt_Deprecated, r=catalinb 2018-01-23 14:30:18 +01:00
Andrea Marchesini fd42ab061c Bug 1425440 - Introduce nsINode::RemoveChildNode, r=catalinb 2018-01-15 17:18:38 +01:00
Andrea Marchesini 082fc2f0f2 Bug 1425321 - Renaming nsINode::RemoveChildAt to RemoveChildAt_Deprecated, r=catalinb 2018-01-03 14:01:03 +01: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
Masatoshi Kimura b87d3e615b Bug 1390209 - Remove unused nsIDOMHTML*Element interfaces. r=qdot
MozReview-Commit-ID: DagD3IHhRZy
2017-08-15 01:31:47 +09:00
Boris Zbarsky 7883a597ca Bug 1380415 part 2. Remove XPCOM constraint validation APIs. r=mccr8 2017-07-13 23:46:28 -04:00
Kirk Steuber e2ea33731f Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr r=bz
In order to facilitate the movement of code with side-effects called by Element::SetAttr to Element::BeforeSetAttr and Element::AfterSetAttr, Element::AfterSetAttr should have access to the old value of the attribute. This includes information about whether there was previously a value set or not.

Accomplishing this involved passing an additional argument through functions that find and change the old attribute value in order to ensure that we can differentiate between an empty old value and an absent old value (attribute was not set).

Note that while I tried to ensure that accurate values (and their absence) are reported to Element::AfterSetAttr, I largely ignored SVG. While the old value reported for SVG values should be however accurate the value already being reported to SetAttrAndNotify was, SVG elements do not currently report unset values properly because they will never pass a null pointer to SetAttrAndNotify.

MozReview-Commit-ID: K1mha8CNFZP
2017-05-18 14:09:01 -07:00
Kirk Steuber 9386a2f3e1 Bug 1359556 - Optimize cloneNode by preinitializing attribute and child arrays r=bz
Currently, attribute and child arrays (implemented in dom/base/nsAttrAndChildArray.h) start out empty. When cloning, the array ends up being resized multiple times in order to add the attributes and children that are being cloned from the original node. This would be quicker if the array was initialized to the correct size in the first place so that resizes are not necessary.

However, preallocating space for children is only necessary when performing a deep clone. Therefore, an additional parameter is being added to the Clone, CopyInnerTo, and CloneDocHelper methods to indicate whether preallocation of children should happen. Attributes are copied either way, so that part of the array is preallocated in both cases.

MozReview-Commit-ID: 3iVezeAKXnI
2017-04-20 12:57:48 -07:00
Olli Pettay 45822311b7 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica 2017-03-31 22:49:00 -04:00
Olli Pettay 694b05ce02 Backout Bug 1351860, r=backout 2017-03-31 16:55:32 -04:00
Olli Pettay fa83f6684e Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica 2017-03-31 13:13:36 -04:00
Boris Zbarsky 0460b51e8f Bug 1338725 part 1. Change the matcher functions used for nsContentList to take an Element argument, not nsIContent. r=baku 2017-02-13 16:06:45 -05:00
Stone Shih b921261b1b Bug 1305458 Part1: Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: FM3vDUyLOCb
2016-10-21 10:11:07 +08:00
Andrea Marchesini 790712f749 Bug 1279860 - part 1 - Renaming nsFormSubmission to mozilla::dom::HTMLFormSubmission, r=smaug 2016-06-16 08:24:16 +01:00
John Dai f27c6c5b07 Bug 1088761 - Support reportValidity() for form controls. r=smaug
From 2c2f7223e9d88f431f3e3fee7384dffbca07d8a9 Mon Sep 17 00:00:00 2001
2016-04-15 16:13:00 +08:00
Sebastian Hengst 5f84204d8d Backed out changeset 403d9c085544 (bug 1088761) 2016-05-12 13:19:15 +02:00