gecko-dev/dom/xul
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
..
crashtests
test Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
XULBroadcastManager.cpp Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
XULBroadcastManager.h Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
XULDocument.cpp Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
XULDocument.h Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
XULFrameElement.cpp
XULFrameElement.h
XULMenuElement.cpp
XULMenuElement.h
XULPopupElement.cpp
XULPopupElement.h
XULScrollElement.cpp
XULScrollElement.h
XULTextElement.cpp
XULTextElement.h
XULTooltipElement.cpp
XULTooltipElement.h
moz.build Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
nsIController.idl
nsIControllers.idl
nsXULCommandDispatcher.cpp
nsXULCommandDispatcher.h
nsXULContentSink.cpp
nsXULContentSink.h
nsXULContentUtils.cpp
nsXULContentUtils.h
nsXULControllers.cpp
nsXULControllers.h
nsXULElement.cpp Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
nsXULElement.h Bug 1486888 - Support XUL broadcasters in non-XUL documents. r=smaug 2018-10-19 01:22:46 +00:00
nsXULPopupListener.cpp
nsXULPopupListener.h
nsXULPrototypeCache.cpp
nsXULPrototypeCache.h
nsXULPrototypeDocument.cpp
nsXULPrototypeDocument.h
nsXULSortService.cpp
nsXULSortService.h