☠☠ backed out by ef3ae04ebfff ☠ ☠ | |
author | David Zbarsky <dzbarsky@gmail.com> |
Mon, 29 Jul 2013 16:04:09 -0700 | |
changeset 152744 | a0868fe02c2a6b597086aa33ddb9ff495404af74 |
parent 152743 | 40683014a638c15251147b094af445d86f484c06 |
child 152745 | 922e7f0eb53afd00b790e0c9fb3e21453725977a |
push id | 2859 |
push user | akeybl@mozilla.com |
push date | Mon, 16 Sep 2013 19:14:59 +0000 |
treeherder | mozilla-beta@87d3c51cd2bf [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bz |
bugs | 898947 |
milestone | 25.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/content/base/public/Element.h +++ b/content/base/public/Element.h @@ -22,17 +22,16 @@ #include "nsILinkHandler.h" #include "nsNodeUtils.h" #include "nsAttrAndChildArray.h" #include "mozFlushType.h" #include "nsDOMAttributeMap.h" #include "nsIDOMXPathNSResolver.h" #include "nsPresContext.h" #include "nsDOMClassInfoID.h" // DOMCI_DATA -#include "nsIInlineEventHandlers.h" #include "mozilla/CORSMode.h" #include "mozilla/Attributes.h" #include "nsContentUtils.h" #include "nsIScrollableFrame.h" #include "mozilla/dom/Attr.h" #include "nsISMILAttr.h" #include "nsClientRect.h" #include "nsEvent.h"
--- a/content/base/public/FragmentOrElement.h +++ b/content/base/public/FragmentOrElement.h @@ -13,17 +13,16 @@ #define FragmentOrElement_h___ #include "mozilla/Attributes.h" #include "mozilla/MemoryReporting.h" #include "nsAttrAndChildArray.h" // member #include "nsCycleCollectionParticipant.h" // NS_DECL_CYCLE_* #include "nsIContent.h" // base class #include "nsIDOMXPathNSResolver.h" // base class -#include "nsIInlineEventHandlers.h" // base class #include "nsINodeList.h" // base class #include "nsIWeakReference.h" // base class #include "nsNodeUtils.h" // class member nsNodeUtils::CloneNodeImpl #include "nsIHTMLCollection.h" class ContentUnbinder; class nsContentList; class nsDOMAttributeMap; @@ -149,38 +148,31 @@ public: NS_DECL_NSISUPPORTSWEAKREFERENCE NS_DECL_CYCLE_COLLECTION_CLASS(nsNodeSupportsWeakRefTearoff) private: nsCOMPtr<nsINode> mNode; }; -// Forward declare to allow being a friend -class nsTouchEventReceiverTearoff; -class nsInlineEventHandlersTearoff; - /** * A generic base class for DOM elements, implementing many nsIContent, * nsIDOMNode and nsIDOMElement methods. */ namespace mozilla { namespace dom { class UndoManager; class FragmentOrElement : public nsIContent { public: FragmentOrElement(already_AddRefed<nsINodeInfo> aNodeInfo); virtual ~FragmentOrElement(); - friend class ::nsTouchEventReceiverTearoff; - friend class ::nsInlineEventHandlersTearoff; - NS_DECL_CYCLE_COLLECTING_ISUPPORTS NS_DECL_SIZEOF_EXCLUDING_THIS /** * Called during QueryInterface to give the binding manager a chance to * get an interface for this element. */ @@ -398,36 +390,16 @@ protected: * Array containing all attributes and children for this element */ nsAttrAndChildArray mAttrsAndChildren; }; } // namespace dom } // namespace mozilla -/** - * Tearoff class to implement nsIInlineEventHandlers - */ -class nsInlineEventHandlersTearoff MOZ_FINAL : public nsIInlineEventHandlers -{ -public: - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - - NS_FORWARD_NSIINLINEEVENTHANDLERS(mElement->) - - NS_DECL_CYCLE_COLLECTION_CLASS(nsInlineEventHandlersTearoff) - - nsInlineEventHandlersTearoff(mozilla::dom::FragmentOrElement *aElement) : mElement(aElement) - { - } - -private: - nsRefPtr<mozilla::dom::FragmentOrElement> mElement; -}; - #define NS_ELEMENT_INTERFACE_TABLE_TO_MAP_SEGUE \ if (NS_SUCCEEDED(rv)) \ return rv; \ \ rv = FragmentOrElement::QueryInterface(aIID, aInstancePtr); \ NS_INTERFACE_TABLE_TO_MAP_SEGUE #define NS_ELEMENT_INTERFACE_MAP_END \
--- a/content/base/src/FragmentOrElement.cpp +++ b/content/base/src/FragmentOrElement.cpp @@ -498,27 +498,16 @@ nsNodeSupportsWeakRefTearoff::GetWeakRef } NS_ADDREF(*aInstancePtr = slots->mWeakReference); return NS_OK; } //---------------------------------------------------------------------- - -NS_IMPL_CYCLE_COLLECTION_1(nsInlineEventHandlersTearoff, mElement) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsInlineEventHandlersTearoff) - NS_INTERFACE_MAP_ENTRY(nsIInlineEventHandlers) -NS_INTERFACE_MAP_END_AGGREGATED(mElement) - -NS_IMPL_CYCLE_COLLECTING_ADDREF(nsInlineEventHandlersTearoff) -NS_IMPL_CYCLE_COLLECTING_RELEASE(nsInlineEventHandlersTearoff) - -//---------------------------------------------------------------------- FragmentOrElement::nsDOMSlots::nsDOMSlots() : nsINode::nsSlots(), mDataset(nullptr), mUndoManager(nullptr), mBindingParent(nullptr) { } @@ -1745,18 +1734,16 @@ NS_INTERFACE_MAP_BEGIN(FragmentOrElement NS_INTERFACE_MAP_ENTRY(nsIContent) NS_INTERFACE_MAP_ENTRY(nsINode) NS_INTERFACE_MAP_ENTRY(nsIDOMEventTarget) NS_INTERFACE_MAP_ENTRY(mozilla::dom::EventTarget) NS_INTERFACE_MAP_ENTRY_TEAROFF(nsISupportsWeakReference, new nsNodeSupportsWeakRefTearoff(this)) NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIDOMXPathNSResolver, new nsNode3Tearoff(this)) - NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIInlineEventHandlers, - new nsInlineEventHandlersTearoff(this)) // DOM bindings depend on the identity pointer being the // same as nsINode (which nsIContent inherits). NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIContent) NS_INTERFACE_MAP_END NS_IMPL_CYCLE_COLLECTING_ADDREF(FragmentOrElement) NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(FragmentOrElement, nsNodeUtils::LastRelease(this))
--- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -1573,17 +1573,16 @@ NS_INTERFACE_TABLE_HEAD(nsDocument) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDOMDocumentXBL) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIScriptObjectPrincipal) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIDOMEventTarget) NS_INTERFACE_TABLE_ENTRY(nsDocument, mozilla::dom::EventTarget) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsISupportsWeakReference) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIRadioGroupContainer) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIMutationObserver) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIApplicationCacheContainer) - NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIInlineEventHandlers) NS_INTERFACE_TABLE_ENTRY(nsDocument, nsIObserver) NS_INTERFACE_TABLE_END NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsDocument) NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIDOMXPathNSResolver, new nsNode3Tearoff(this)) if (aIID.Equals(NS_GET_IID(nsIDOMXPathEvaluator)) || aIID.Equals(NS_GET_IID(nsIXPathEvaluatorInternal))) { if (!mXPathEvaluatorTearoff) { @@ -11021,28 +11020,16 @@ nsIDocument::GetMozPointerLockElement() } void nsDocument::XPCOMShutdown() { gPendingPointerLockRequest = nullptr; } -#define EVENT(name_, id_, type_, struct_) \ - NS_IMETHODIMP nsDocument::GetOn##name_(JSContext *cx, JS::Value *vp) { \ - return nsINode::GetOn##name_(cx, vp); \ - } \ - NS_IMETHODIMP nsDocument::SetOn##name_(JSContext *cx, const JS::Value &v) { \ - return nsINode::SetOn##name_(cx, v); \ - } -#define DOCUMENT_ONLY_EVENT EVENT -#include "nsEventNameList.h" -#undef DOCUMENT_ONLY_EVENT -#undef EVENT - void nsDocument::UpdateVisibilityState() { dom::VisibilityState oldState = mVisibilityState; mVisibilityState = GetVisibilityState(); if (oldState != mVisibilityState) { nsContentUtils::DispatchTrustedEvent(this, static_cast<nsIDocument*>(this), NS_LITERAL_STRING("visibilitychange"),
--- a/content/base/src/nsDocument.h +++ b/content/base/src/nsDocument.h @@ -59,17 +59,16 @@ #include "nsILoadContext.h" #include "nsIProgressEventSink.h" #include "nsISecurityEventSink.h" #include "nsIChannelEventSink.h" #include "imgIRequest.h" #include "mozilla/MemoryReporting.h" #include "mozilla/dom/DOMImplementation.h" #include "nsIDOMTouchEvent.h" -#include "nsIInlineEventHandlers.h" #include "nsDataHashtable.h" #include "mozilla/TimeStamp.h" #include "mozilla/Attributes.h" #define XML_DECLARATION_BITS_DECLARATION_EXISTS (1 << 0) #define XML_DECLARATION_BITS_ENCODING_EXISTS (1 << 1) #define XML_DECLARATION_BITS_STANDALONE_EXISTS (1 << 2) #define XML_DECLARATION_BITS_STANDALONE_YES (1 << 3) @@ -499,17 +498,16 @@ class CSPErrorQueue class nsDocument : public nsIDocument, public nsIDOMXMLDocument, // inherits nsIDOMDocument public nsIDOMDocumentXBL, public nsSupportsWeakReference, public nsIScriptObjectPrincipal, public nsIRadioGroupContainer, public nsIApplicationCacheContainer, public nsStubMutationObserver, - public nsIInlineEventHandlers, public nsIObserver { public: typedef mozilla::dom::Element Element; using nsIDocument::GetElementsByTagName; NS_DECL_CYCLE_COLLECTING_ISUPPORTS @@ -776,19 +774,16 @@ public: GetListenerManager(bool aCreateIfNotFound) MOZ_OVERRIDE; // nsIScriptObjectPrincipal virtual nsIPrincipal* GetPrincipal() MOZ_OVERRIDE; // nsIApplicationCacheContainer NS_DECL_NSIAPPLICATIONCACHECONTAINER - // nsIInlineEventHandlers - NS_DECL_NSIINLINEEVENTHANDLERS - // nsIObserver NS_DECL_NSIOBSERVER virtual nsresult Init(); virtual nsresult CreateElem(const nsAString& aName, nsIAtom *aPrefix, int32_t aNamespaceID, nsIContent **aResult) MOZ_OVERRIDE;
--- a/content/html/content/test/test_bug389797.html +++ b/content/html/content/test/test_bug389797.html @@ -27,18 +27,17 @@ function getClassName(tag) { return "HTML" + classInfos[tag] + "Element"; } function HTML_TAG(aTagName, aImplClass) { allTags.push(aTagName); classInfos[aTagName] = aImplClass; interfaces[aTagName] = [ "nsIDOMEventTarget", - "nsIDOMElementCSSInlineStyle", - "nsIInlineEventHandlers" ]; + "nsIDOMElementCSSInlineStyle" ]; // Some interfaces don't appear in classinfo because other interfaces that // inherit from them do. interfacesNonClassinfo[aTagName] = [ "nsIDOMNode", "nsIDOMElement" ]; var interfaceName = "nsIDOM" + getClassName(aTagName);
--- a/dom/interfaces/core/nsIDOMDocument.idl +++ b/dom/interfaces/core/nsIDOMDocument.idl @@ -22,17 +22,17 @@ interface nsIDOMLocation; * cannot exist outside the context of a Document, the nsIDOMDocument * interface also contains the factory methods needed to create these * objects. * * For more information on this interface please see * http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html */ -[scriptable, uuid(18de0c13-f82e-4c7e-9a48-b778e00df9ca)] +[scriptable, uuid(aa4b59de-462a-4f61-abd9-4232fef3dacc)] interface nsIDOMDocument : nsIDOMNode { readonly attribute nsIDOMDocumentType doctype; readonly attribute nsIDOMDOMImplementation implementation; readonly attribute nsIDOMElement documentElement; nsIDOMElement createElement([Null(Stringify)] in DOMString tagName) raises(DOMException); nsIDOMDocumentFragment createDocumentFragment(); @@ -383,24 +383,16 @@ interface nsIDOMDocument : nsIDOMNode /** * Exit pointer is lock if locked, as per the DOM pointer lock api. * * @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html> */ void mozExitPointerLock(); /** - * Inline event handler for readystatechange events. - */ - [implicit_jscontext] attribute jsval onreadystatechange; - - [implicit_jscontext] attribute jsval onmouseenter; - [implicit_jscontext] attribute jsval onmouseleave; - - /** * Visibility API implementation. */ readonly attribute boolean hidden; readonly attribute boolean mozHidden; readonly attribute DOMString visibilityState; readonly attribute DOMString mozVisibilityState; /**
--- a/dom/interfaces/core/nsIDOMXMLDocument.idl +++ b/dom/interfaces/core/nsIDOMXMLDocument.idl @@ -1,16 +1,16 @@ /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsIDOMDocument.idl" -[scriptable, uuid(79547ba5-291e-4775-b71e-2440a4621b54)] +[scriptable, uuid(90903f50-7611-42c1-a13c-dac4e735bee2)] interface nsIDOMXMLDocument : nsIDOMDocument { // DOM Level 3 Load & Save, DocumentLS // http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DocumentLS /** * Whether to load synchronously or asynchronously. * The default is async==true. */
--- a/dom/interfaces/html/nsIDOMHTMLDocument.idl +++ b/dom/interfaces/html/nsIDOMHTMLDocument.idl @@ -8,17 +8,17 @@ /** * The nsIDOMHTMLDocument interface is the interface to a [X]HTML * document object. * * @see <http://www.whatwg.org/html/> */ interface nsISelection; -[scriptable, uuid(60e0e311-b9c7-4952-8e9c-d4974005e887)] +[scriptable, uuid(cb0cc619-5862-4e00-86d3-dca3c6ecc34b)] interface nsIDOMHTMLDocument : nsIDOMDocument { attribute DOMString domain; attribute DOMString cookie; readonly attribute nsIDOMHTMLHeadElement head; attribute nsIDOMHTMLElement body;
--- a/dom/interfaces/xul/nsIDOMXULDocument.idl +++ b/dom/interfaces/xul/nsIDOMXULDocument.idl @@ -5,17 +5,17 @@ #include "domstubs.idl" #include "nsIDOMDocument.idl" interface nsIDOMXULCommandDispatcher; interface nsIObserver; interface nsIBoxObject; -[scriptable, uuid(7b188822-f3fc-42f2-93a9-7eee445e0108)] +[scriptable, uuid(e057a0ef-4be3-4d60-b45a-6cb9d35d8563)] interface nsIDOMXULDocument : nsIDOMDocument { attribute nsIDOMNode popupNode; /** * These attributes correspond to trustedGetPopupNode().rangeOffset and * rangeParent. They will help you find where in the DOM the popup is * happening. Can be accessed from chrome only, and only during a popup