Граф коммитов

109 Коммитов

Автор SHA1 Сообщение Дата
Brendan Dahl 934e37ef92 Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug
The majority of the XUL broadcaster logic is moved out of XULDocument and
into a separate class (XULBroadcastManager). The hookup points for when
listeners need to be created and listeners need to be notified is now
handled by the XULElement itself and nsDocument. To avoid any overhead,
the XULBroadcastManager is only ever created when a document uses a
listener.

The new approach does have the disadvantage that broadcasting can now only
work with XULElements, but going forward we'd like to discontinue this
feature and rely on MutationObservers to implement similar things.

One test had to be modified to use XUL elements instead of HTML elements
because of the reason noted above.

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

--HG--
extra : moz-landing-system : lando
2018-10-19 01:22:46 +00:00
Alexander Surkov bdd3f4e880 Bug 1494230 - replace #text-base binding by webidl control, r=smaug 2018-10-01 11:37:39 +08:00
Nathan Froyd 846d8789ee 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
Emma Malysz 696ceb303f Bug 1465219, use XULMenuElement, a subclass of nsXULElement, instead of MenuBoxObject for menu and menulist elements, r=paolo,bz
MozReview-Commit-ID: 5253hAlxbhw

--HG--
rename : dom/webidl/MenuBoxObject.webidl => dom/chrome-webidl/XULMenuElement.webidl
rename : layout/xul/MenuBoxObject.cpp => dom/xul/XULMenuElement.cpp
rename : layout/xul/MenuBoxObject.h => dom/xul/XULMenuElement.h
2018-07-31 12:30:17 -07:00
Emilio Cobos Álvarez 1fbd784d00 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

--HG--
extra : moz-landing-system : lando
2018-08-08 23:58:44 +00:00
Olli Pettay 7315a671e1 Bug 1481399 - rename nsAttrAndChildArray to AttrArray, r=mrbkap
--HG--
rename : dom/base/nsAttrAndChildArray.cpp => dom/base/AttrArray.cpp
rename : dom/base/nsAttrAndChildArray.h => dom/base/AttrArray.h
extra : rebase_source : 488f4d9c87bf337686abfa98e79466343a9e6685
2018-08-07 22:07:26 +03:00
Emilio Cobos Álvarez 8f34c12e14 Bug 1479860: Remove unused aCompileEventHandlers argument from BindToTree. r=bz
Mostly automatic via sed. Only parts which I touched manually (apart from a
couple ones where I fixed indentation or which had mispelled arguments) are the
callers. I may have removed a couple redundant `virtual` keywords as well when
I started to do it manually, I can revert those if wanted.

Most of them are just removing the argument, but in Element.cpp I also added an
assertion for GetBindingParent when binding the ShadowRoot's kids (the binding
parent is set from the ShadowRoot constructor, and I don't think we bind a
shadow tree during unlink or what not which could cause a behavior difference).

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

MozReview-Commit-ID: 2oIgatty2HU
2018-08-01 10:42:54 +02:00
Emilio Cobos Álvarez 0e0ef15865 Bug 1479860: Remove aCompileEventHandlers argument in nsXULElement::AddListenerFor. r=bz
All callers pass true.

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

MozReview-Commit-ID: A0L3QglvFJa
2018-08-01 10:42:54 +02:00
Brian Grinstead 6a6ca1a08c Bug 1475342 - Move document.getElementsByAttribute[NS] to ParentNode so it'll work for HTML document and elements;r=bz
It's currently only accessible on XULDocument and XULElement, but that makes porting existing
JS to run in an HTML document inconvenient. We could alternatively change calling JS, but
this can be easily moved and exposed in chrome contexts.

MozReview-Commit-ID: JitYET20NSE

--HG--
extra : rebase_source : 75d823c688cba8d84dc19705e83284be383962f2
2018-07-26 13:40:13 -07:00
Paolo Amadini dc49387df8 Bug 1472555 - Part 5 - Remove the listbox layout. r=bz,surkov
MozReview-Commit-ID: Bx1p1nTurCz

--HG--
extra : rebase_source : 6910e500f30eb42b45032dbab85a3dc9c014390b
2018-07-18 11:23:32 +01:00
Neil Deakin 0d504e92c3 Bug 1437638, move frame loader property from XULElement to XULFrameElement, removing many checks that only apply to child frames instead of every XUL element. Since it is assumed that most frames/browsers will have frame loaders created for them, and that there aren't many of them, we can use a member field instead of slots, so remove the slot property, r=bz 2018-07-05 20:14:29 -04:00
catalin.badea392@gmail.com 9c36800bd7 Bug 1469385 - Remove InsertChildAt_Deprecated and RemoveChildAt_Deprecated, r=bz,smaug 2018-06-19 12:21:18 +03:00
Boris Zbarsky cb08b0de7d Bug 1455676 part 21. Remove nsIDOMNode. r=qdot 2018-05-29 22:58:51 -04:00
Boris Zbarsky 115f652b0b Bug 1455676 part 20. Remove now-unused AsDOMNode methods. r=qdot 2018-05-29 22:58:50 -04:00
Olli Pettay 1dc582540a Bug 1463116 - Make mBindingParent strong, r=bz
--HG--
extra : rebase_source : 84aed48c0d8bd298cba0d6b6c6fa898b6c95c1ef
2018-05-22 00:11:11 +03:00
shindli 83d239ac83 Backed out changeset 603804d62ce8 (bug 1463116) for force-cargo-library-build bustage on a CLOSED TREE 2018-05-21 23:55:58 +03:00
Olli Pettay 622b10843f Bug 1463116 - Make mBindingParent strong, r=bz
--HG--
extra : rebase_source : 7013301bf68d2f35bde61072152f8819336c7b5a
2018-05-21 23:02:07 +03:00
Timothy Guan-tin Chien 08741f30ed Bug 1460962 - Support customized built-in element in XUL r=smaug
This patch enables us to specify a custom element type with |is| attribute
or property when creating a XUL element. Because non-dashed names are valid
custom element names in XUL (bug 1446247), other checks has to modified
accordingly.

The checks I am settling with are
1) Forbids the custom built-in element names to be a non-dashed name.
2) Forbids the custom built-in element to extend a dashed built-in element name.

This also ensures the custom built-in element types don't take on the same
name as the element name it extends.

MozReview-Commit-ID: GCQ9RnfvvrC

--HG--
extra : rebase_source : 2fa13742525d2107580d50872ff5b0fc42539498
extra : source : 2dc5513660d78a4de4801109140743ffc9297f71
2018-05-11 12:44:46 -07:00
Neil Deakin ef5f9b4b23 Bug 1446961, move PopupBoxObject to XULPopupElement, a new subclass of XULElement. Remove popup.xml methods, r=paolo,bz
Test changes for removal of PopupBoxObject and popup.xml methods, some reflow tests now have different stacks now that they are not going through popup.xml binding methods, test_popupanchor.xul changes due to need to wait for popuppositioned event after resizing. The old code would just adjust the arrow directly when sizeTo was called, but the new code does this through an asynchronous popuppositioned event. Changes to some places that check for XULElement class.

--HG--
rename : dom/webidl/PopupBoxObject.webidl => dom/webidl/XULPopupElement.webidl
rename : layout/xul/PopupBoxObject.cpp => dom/xul/XULPopupElement.cpp
rename : layout/xul/PopupBoxObject.h => dom/xul/XULPopupElement.h
2018-04-27 11:04:38 -04:00
Neil Deakin e25f02a7f3 Bug 1446961, restructuring to allow nsXULElement to be subclassed. Rename nsXULElement::Create to make it clearer it creates from the prototype element, r=bz 2018-04-27 11:04:37 -04:00
Boris Zbarsky 1cbc813260 Bug 1455674 part 20. Get rid of nsIDOMElement. r=qdot 2018-04-26 23:37:34 -04:00
Boris Zbarsky 25aa42d9a4 Bug 1455674 part 16. Remove most use of nsIDOMElement in dom. r=qdot 2018-04-26 23:37:34 -04:00
Boris Zbarsky 0ba35d199f Bug 1455052 part 8. Stop using nsIDOMEvent in docshell and dom. r=masayuki
MozReview-Commit-ID: ASkuyN3xSwB
2018-04-20 12:55:30 -04:00
Boris Zbarsky cbe438ff09 Bug 1452185 part 4. Remove nsIDOMXULElement. r=qdot
MozReview-Commit-ID: HfFtcj64z2Q
2018-04-09 16:30:32 -04:00
Paolo Amadini 44e022ac15 Bug 1451782 - Remove unused properties of XULElement. r=bz
This removes properties of XULElement that can easily seen to be unused, even if the attributes they control are still in use. There are other properties that may still be used once or twice, and they are not removed here.

MozReview-Commit-ID: IL6mCvtGQAG

--HG--
extra : rebase_source : 4b22b330d311ef22e3466f517c04d5a19512ab71
2018-04-05 17:10:28 +01:00
Boris Zbarsky 14f26fccf6 Bug 1449631 part 8. Remove nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: 5wQ2LYrjUxf
2018-04-05 13:42:41 -04:00
Markus Stange ec65624c9e Bug 1335191 - Remove support for the attributes "activetitlebarcolor" and "inactivetitlebarcolor" for XUL window elements. r=emilio
The last piece of code that was using these attributes was removed in
https://hg.mozilla.org/mozilla-central/rev/35b7fa5ebd58

MozReview-Commit-ID: FyF7kzlpqMz

--HG--
extra : rebase_source : edaf64a4be92be1f72ff67f90c03eed09173cce3
2018-03-24 01:14:23 -04:00
Boris Zbarsky d989f864ea Bug 1444143 part 14. Rename nsIFrameLoader.idl to nsIFrameLoaderOwner.idl. r=mystor
MozReview-Commit-ID: 1XpEjoFLSQh

--HG--
rename : dom/base/nsIFrameLoader.idl => dom/base/nsIFrameLoaderOwner.idl
2018-03-21 22:43:17 -04:00
Boris Zbarsky 35d4bc91ec Bug 1444143 part 13. Remove nsIFrameLoader. r=mystor
MozReview-Commit-ID: 4LG8nIePsMH
2018-03-21 22:43:17 -04:00
Boris Zbarsky e15f8f10ff Bug 1444143 part 12. Remove use of nsIFrameLoader from XPIDL files. r=mystor
MozReview-Commit-ID: 8pZ655SgrZ0
2018-03-21 22:43:17 -04:00
Boris Zbarsky 6011abc74a Bug 1444143 part 11. Remove unused nsIFrameLoaderOwner::GetFrameLoaderXPCOM. r=mystor
There are no JS implementations of nsIFrameLoaderOwner, so we can mark it builtinclass.

MozReview-Commit-ID: 5z2f6fUrqaS
2018-03-21 22:43:17 -04:00
Boris Zbarsky ebf5282891 Bug 1444143 part 8. Remove nsIFrameLoader::LoadFrame. r=mystor
MozReview-Commit-ID: Ackil1mtVy0
2018-03-21 22:43:16 -04:00
Boris Zbarsky 258352c8a8 Bug 1447098 part 2. Rename the NS_IMPL_FROMCONTENT macros to NS_IMPL_FROMNODE. r=mystor 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
Emilio Cobos Álvarez 3d6d2d9586 Bug 1440682: Make the XUL tooltip stuff saner. r=enn
We never removed the event listeners (the code was there, lol, but the function
that was supposed to call into the tooltip listener returned
NS_ERROR_NOT_IMPLEMENTED instead).

Furthermore, we added an event listener each time we reframed an element, which
is insane. Basically, each time an element with tooltip / tooltiptext gets its
frame tree reconstructed, we add the even listener, again, and we never free it.

Xidorn pointed out that this is not such a huge deal because we deduplicate
event listeners per spec, but still...

Move the code from the RestyleManager and the frame constructor to AfterSetAttr
/ BindToTree / UnbindFromTree in nsXULElement to hopefully make this saner.

MozReview-Commit-ID: 6BQbIQJ87qt
2018-02-26 15:44:48 +01:00
Chris Peterson d09123f248 Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Cameron McCormack cc7db5c40c Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN

--HG--
extra : source : de22d220635f8c059834b76f769d5215ab1a8b5b
2018-02-01 15:04:04 +11:00
Boris Zbarsky 248a8c7b00 Bug 1432944 part 13. Remove the NS_FORWARD_NSIDOMELEMENT_TO_GENERIC macro. r=mccr8
MozReview-Commit-ID: 8A1VcWArVcP
2018-01-29 23:29:11 -05:00
Boris Zbarsky b6b8acada6 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
Andrea Marchesini 41d4da5cef Bug 1425440 - Introduce nsINode::RemoveChildNode, r=catalinb 2018-01-15 17:18:38 +01:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Nika Layzell a0d1f16079 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Boris Zbarsky 9c7a904e7b Bug 1426525 part 5. Remove the 'ref' getter/setter on XULElement. r=smaug
The WebIDL for this was already removed in bug 1425356.

MozReview-Commit-ID: HWxPe3a0Pmi
2018-01-05 13:48:39 -05:00
Coroiu Cristina cf8d0654b4 Backed out 5 changesets (bug 1426525) for bustage at build/src/layout/xul/tree/nsTreeContentView.cpp r=backout on a CLOSED TREE
Backed out changeset 96efa1b6f4d5 (bug 1426525)
Backed out changeset 37fdd4a04f4e (bug 1426525)
Backed out changeset cee585723368 (bug 1426525)
Backed out changeset 85e218bf000c (bug 1426525)
Backed out changeset 501c70abf837 (bug 1426525)
2018-01-05 21:40:44 +02:00
Boris Zbarsky b7061c1a7e Bug 1426525 part 5. Remove the 'ref' getter/setter on XULElement. r=smaug
The WebIDL for this was already removed in bug 1425356.

MozReview-Commit-ID: HWxPe3a0Pmi
2018-01-05 13:48:39 -05:00
Cosmin Sabou 81a8319b46 Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE
--HG--
rename : dom/xul/templates/nsXULSortService.cpp => dom/xul/nsXULSortService.cpp
2018-01-03 23:59:59 +02:00
Andrea Marchesini 6ee7f4e6f3 Bug 1425321 - Renaming nsINode::RemoveChildAt to RemoveChildAt_Deprecated, r=catalinb 2018-01-03 14:01:03 +01:00
Gijs Kruitbosch a8bb5924c6 Bug 1425356 - remove XUL template support, r=bz
MozReview-Commit-ID: HdBoQ15DFOu

--HG--
rename : dom/xul/templates/nsIXULSortService.idl => dom/xul/nsIXULSortService.idl
rename : dom/xul/templates/nsXULContentUtils.cpp => dom/xul/nsXULContentUtils.cpp
rename : dom/xul/templates/nsXULContentUtils.h => dom/xul/nsXULContentUtils.h
rename : dom/xul/templates/nsXULSortService.cpp => dom/xul/nsXULSortService.cpp
rename : dom/xul/templates/nsXULSortService.h => dom/xul/nsXULSortService.h
extra : rebase_source : e3f3504c529e7bd9aa52aecf34b94bb5b0ff92b4
2017-12-19 14:11:06 +00:00
Emilio Cobos Álvarez 09c8911ffe Bug 1427001: Stop duplicating slots. r=smaug
MozReview-Commit-ID: Cq647BcOzbe
2017-12-31 13:45:52 +01:00
Emilio Cobos Álvarez 74b31155f7 Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz
MozReview-Commit-ID: 6WXqNiODttD
2017-12-06 16:05:59 +01:00