From 2a25d0d5938cda93168292b9caedb2ca75665a89 Mon Sep 17 00:00:00 2001 From: Bill McCloskey Date: Sat, 23 Nov 2013 21:32:32 -0800 Subject: [PATCH] Bug 682048 - Change Metro frame script handling to support anon/global scope (r=jimm,mbrubeck) --- browser/metro/base/content/Util.js | 5 +++++ browser/metro/base/content/bindings/browser.js | 1 + .../contenthandlers/ConsoleAPIObserver.js | 4 ++++ .../base/content/contenthandlers/Content.js | 17 ++++++++++------- .../contenthandlers/ContextMenuHandler.js | 6 +++++- .../base/content/contenthandlers/FindHandler.js | 4 ++++ .../base/content/contenthandlers/FormHelper.js | 3 +++ .../content/contenthandlers/SelectionHandler.js | 4 ++++ .../base/content/library/SelectionPrototype.js | 12 ++++++++---- 9 files changed, 44 insertions(+), 12 deletions(-) diff --git a/browser/metro/base/content/Util.js b/browser/metro/base/content/Util.js index 542977957fa..3d8aba951b5 100644 --- a/browser/metro/base/content/Util.js +++ b/browser/metro/base/content/Util.js @@ -2,6 +2,9 @@ * 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/. */ +let Cc = Components.classes; +let Ci = Components.interfaces; + Components.utils.import("resource:///modules/ContentUtil.jsm"); let Util = { @@ -408,3 +411,5 @@ Util.Timeout.prototype = { Util[name] = copy; } } + +this.Util = Util; diff --git a/browser/metro/base/content/bindings/browser.js b/browser/metro/base/content/bindings/browser.js index c920e306f11..5902c3c661f 100644 --- a/browser/metro/base/content/bindings/browser.js +++ b/browser/metro/base/content/bindings/browser.js @@ -664,6 +664,7 @@ let ContentScroll = { isRoot: isRoot }); } }; +this.ContentScroll = ContentScroll; ContentScroll.init(); diff --git a/browser/metro/base/content/contenthandlers/ConsoleAPIObserver.js b/browser/metro/base/content/contenthandlers/ConsoleAPIObserver.js index 876fb53279c..947be7555b3 100644 --- a/browser/metro/base/content/contenthandlers/ConsoleAPIObserver.js +++ b/browser/metro/base/content/contenthandlers/ConsoleAPIObserver.js @@ -2,6 +2,9 @@ * 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/. */ +let Ci = Components.interfaces; +let Cc = Components.classes; + dump("### ConsoleAPIObserver.js loaded\n"); /* @@ -116,6 +119,7 @@ var ConsoleAPIObserver = { return aSourceURL; } }; +this.ConsoleAPIObserver = ConsoleAPIObserver; ConsoleAPIObserver.init(); diff --git a/browser/metro/base/content/contenthandlers/Content.js b/browser/metro/base/content/contenthandlers/Content.js index 447599d37b1..d4af39899af 100644 --- a/browser/metro/base/content/contenthandlers/Content.js +++ b/browser/metro/base/content/contenthandlers/Content.js @@ -37,13 +37,13 @@ XPCOMUtils.defineLazyServiceGetter(this, "gFocusManager", XPCOMUtils.defineLazyServiceGetter(this, "gDOMUtils", "@mozilla.org/inspector/dom-utils;1", "inIDOMUtils"); -let XULDocument = Ci.nsIDOMXULDocument; -let HTMLHtmlElement = Ci.nsIDOMHTMLHtmlElement; -let HTMLIFrameElement = Ci.nsIDOMHTMLIFrameElement; -let HTMLFrameElement = Ci.nsIDOMHTMLFrameElement; -let HTMLFrameSetElement = Ci.nsIDOMHTMLFrameSetElement; -let HTMLSelectElement = Ci.nsIDOMHTMLSelectElement; -let HTMLOptionElement = Ci.nsIDOMHTMLOptionElement; +this.XULDocument = Ci.nsIDOMXULDocument; +this.HTMLHtmlElement = Ci.nsIDOMHTMLHtmlElement; +this.HTMLIFrameElement = Ci.nsIDOMHTMLIFrameElement; +this.HTMLFrameElement = Ci.nsIDOMHTMLFrameElement; +this.HTMLFrameSetElement = Ci.nsIDOMHTMLFrameSetElement; +this.HTMLSelectElement = Ci.nsIDOMHTMLSelectElement; +this.HTMLOptionElement = Ci.nsIDOMHTMLOptionElement; const kReferenceDpi = 240; // standard "pixel" size used in some preferences @@ -82,6 +82,7 @@ function getBoundingContentRect(aElement) { return new Rect(r.left + offset.x, r.top + offset.y, r.width, r.height); } +this.getBoundingContentRect = getBoundingContentRect; /* * getOverflowContentBoundingRect @@ -108,6 +109,7 @@ function getOverflowContentBoundingRect(aElement) { return r; } +this.getOverflowContentBoundingRect = getOverflowContentBoundingRect; /* * Content @@ -626,5 +628,6 @@ var FormSubmitObserver = { return this; } }; +this.Content = Content; FormSubmitObserver.init(); diff --git a/browser/metro/base/content/contenthandlers/ContextMenuHandler.js b/browser/metro/base/content/contenthandlers/ContextMenuHandler.js index 0a247942f9d..6eced9c2b6c 100644 --- a/browser/metro/base/content/contenthandlers/ContextMenuHandler.js +++ b/browser/metro/base/content/contenthandlers/ContextMenuHandler.js @@ -2,7 +2,10 @@ * 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/. */ -const kXLinkNamespace = "http://www.w3.org/1999/xlink"; +let Ci = Components.interfaces; +let Cc = Components.classes; + +this.kXLinkNamespace = "http://www.w3.org/1999/xlink"; dump("### ContextMenuHandler.js loaded\n"); @@ -383,5 +386,6 @@ var ContextMenuHandler = { this._types = this._types.filter(function(type) type.name != aName); } }; +this.ContextMenuHandler = ContextMenuHandler; ContextMenuHandler.init(); diff --git a/browser/metro/base/content/contenthandlers/FindHandler.js b/browser/metro/base/content/contenthandlers/FindHandler.js index 0c0ea8442eb..5d5b0d1136c 100644 --- a/browser/metro/base/content/contenthandlers/FindHandler.js +++ b/browser/metro/base/content/contenthandlers/FindHandler.js @@ -2,6 +2,9 @@ * 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/. */ +let Ci = Components.interfaces; +let Cc = Components.classes; + dump("### FindHandler.js loaded\n"); var FindHandler = { @@ -83,5 +86,6 @@ var FindHandler = { timer.once(0); } }; +this.FindHandler = FindHandler; FindHandler.init(); diff --git a/browser/metro/base/content/contenthandlers/FormHelper.js b/browser/metro/base/content/contenthandlers/FormHelper.js index 09ab120101d..006a91ca461 100644 --- a/browser/metro/base/content/contenthandlers/FormHelper.js +++ b/browser/metro/base/content/contenthandlers/FormHelper.js @@ -576,6 +576,7 @@ FormAssistant.prototype = { return result; } }; +this.FormAssistant = FormAssistant; /****************************************************************************** @@ -704,6 +705,7 @@ SelectWrapper.prototype = { }, 0); } }; +this.SelectWrapper = SelectWrapper; // bug 559792 @@ -761,3 +763,4 @@ MenulistWrapper.prototype = { }, 0); } }; +this.MenulistWrapper = MenulistWrapper; diff --git a/browser/metro/base/content/contenthandlers/SelectionHandler.js b/browser/metro/base/content/contenthandlers/SelectionHandler.js index c0f6643b9f4..c59a7bfa383 100644 --- a/browser/metro/base/content/contenthandlers/SelectionHandler.js +++ b/browser/metro/base/content/contenthandlers/SelectionHandler.js @@ -2,6 +2,9 @@ * 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/. */ +let Ci = Components.interfaces; +let Cc = Components.classes; + dump("### SelectionHandler.js loaded\n"); var SelectionHandler = { @@ -651,6 +654,7 @@ var SelectionHandler = { } }, }; +this.SelectionHandler = SelectionHandler; SelectionHandler.__proto__ = new SelectionPrototype(); SelectionHandler.init(); diff --git a/browser/metro/base/content/library/SelectionPrototype.js b/browser/metro/base/content/library/SelectionPrototype.js index c8fdb2da62e..2f13edde865 100644 --- a/browser/metro/base/content/library/SelectionPrototype.js +++ b/browser/metro/base/content/library/SelectionPrototype.js @@ -3,17 +3,20 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ "use strict"; +let Ci = Components.interfaces; +let Cc = Components.classes; + /* * SelectionPrototype - common base class used by both chrome and content selection logic. */ // selection node parameters for various apis -const kSelectionNodeAnchor = 1; -const kSelectionNodeFocus = 2; +this.kSelectionNodeAnchor = 1; +this.kSelectionNodeFocus = 2; // selection type property constants -const kChromeSelector = 1; -const kContentSelector = 2; +this.kChromeSelector = 1; +this.kContentSelector = 2; dump("### SelectionPrototype.js loaded\n"); @@ -951,3 +954,4 @@ SelectionPrototype.prototype = { this._setDebugRect(rect, aColor, true); }, }; +this.SelectionPrototype = SelectionPrototype;