Backout Bug 677026
authorOlli Pettay <Olli.Pettay@helsinki.fi>
Sun, 07 Aug 2011 01:10:07 +0300
changeset 73939 b422fd99fe0d740e9244e145eb25bc7d71c9f24e
parent 73938 e6e47912000d35709d8b130138a685290b75f39b
child 73940 9f943b1faf6e320214b449f681293707416c4507
push id20928
push useropettay@mozilla.com
push dateSat, 06 Aug 2011 22:20:12 +0000
treeherdermozilla-central@b422fd99fe0d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs677026
milestone8.0a1
first release with
nightly linux32
b422fd99fe0d / 8.0a1 / 20110807030727 / files
nightly linux64
b422fd99fe0d / 8.0a1 / 20110807030727 / files
nightly mac
b422fd99fe0d / 8.0a1 / 20110807030727 / files
nightly win32
b422fd99fe0d / 8.0a1 / 20110807030727 / files
nightly win64
b422fd99fe0d / 8.0a1 / 20110807030727 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backout Bug 677026
content/base/src/nsDocument.cpp
dom/base/nsGlobalWindow.h
dom/interfaces/base/Makefile.in
dom/interfaces/base/nsIDOMWindow.idl
--- a/content/base/src/nsDocument.cpp
+++ b/content/base/src/nsDocument.cpp
@@ -6228,17 +6228,18 @@ nsDocument::PreHandleEvent(nsEventChainP
 {
   aVisitor.mCanHandle = PR_TRUE;
    // FIXME! This is a hack to make middle mouse paste working also in Editor.
    // Bug 329119
   aVisitor.mForceContentDispatch = PR_TRUE;
 
   // Load events must not propagate to |window| object, see bug 335251.
   if (aVisitor.mEvent->message != NS_LOAD) {
-    aVisitor.mParentTarget = GetWindow();
+    nsGlobalWindow* window = static_cast<nsGlobalWindow*>(GetWindow());
+    aVisitor.mParentTarget = static_cast<nsIDOMEventTarget*>(window);
   }
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsDocument::CreateEvent(const nsAString& aEventType, nsIDOMEvent** aReturn)
 {
   NS_ENSURE_ARG_POINTER(aReturn);
--- a/dom/base/nsGlobalWindow.h
+++ b/dom/base/nsGlobalWindow.h
@@ -267,16 +267,17 @@ JSObject *NS_NewOuterWindowProxy(JSConte
 // object's lists also contain its outer and all other inner windows
 // belonging to the same outer window, but that's an unimportant
 // side effect of inheriting PRCList).
 
 class nsGlobalWindow : public nsPIDOMWindow,
                        public nsIScriptGlobalObject,
                        public nsIDOMJSWindow,
                        public nsIScriptObjectPrincipal,
+                       public nsIDOMEventTarget,
                        public nsIDOMStorageIndexedDB,
                        public nsSupportsWeakReference,
                        public nsIInterfaceRequestor,
                        public nsWrapperCache,
                        public PRCListStr,
                        public nsIDOMWindowPerformance
 {
 public:
--- a/dom/interfaces/base/Makefile.in
+++ b/dom/interfaces/base/Makefile.in
@@ -86,10 +86,8 @@ XPIDLSRCS =					\
 	nsIDOMGlobalPropertyInitializer.idl	\
 	nsIStructuredCloneContainer.idl		\
 	nsIDOMPerformance.idl			\
 	nsIDOMPerformanceTiming.idl		\
 	nsIDOMPerformanceNavigation.idl		\
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
-
-XPIDL_FLAGS += -I$(topsrcdir)/dom/interfaces/events
--- a/dom/interfaces/base/nsIDOMWindow.idl
+++ b/dom/interfaces/base/nsIDOMWindow.idl
@@ -35,17 +35,16 @@
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "domstubs.idl"
-#include "nsIDOMEventTarget.idl"
 
 %{ C++
 #include "jspubtd.h"
 %}
 
 interface nsIAnimationFrameListener;
 interface nsIControllers;
 interface nsIDOMBlob;
@@ -70,18 +69,18 @@ interface nsIDOMMozURLProperty : nsISupp
  * The nsIDOMWindow interface is the primary interface for a DOM
  * window object. It represents a single window object that may
  * contain child windows if the document in the window contains a
  * HTML frameset document or if the document contains iframe elements.
  *
  * @see <http://www.whatwg.org/html/#window>
  */
 
-[scriptable, builtinclass, uuid(74a4e350-0869-4e81-9e6c-83a981fd5f6c)]
-interface nsIDOMWindow : nsIDOMEventTarget
+[scriptable, uuid(972cb379-6bdc-4544-8b46-8d721e12e906)]
+interface nsIDOMWindow : nsISupports
 {
   // the current browsing context
   readonly attribute nsIDOMWindow                       window;
 
   /* [replaceable] self */
   readonly attribute nsIDOMWindow                       self;
 
   /**