[Pkg-mozext-commits] [firebug] 53/68: Backport Issue 5453: Remove getUserData and setUserData usage from Firebug 1.12
David Prévot
taffit at moszumanska.debian.org
Mon Mar 31 22:45:54 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to tag fbtest-1.11.4
in repository firebug.
commit f1f05e36fe2e9a9dca1e1f2c95067697a3698c6a
Author: Jan Odvarko <odvarko at gmail.com>
Date: Wed May 8 17:23:18 2013 +0200
Backport Issue 5453: Remove getUserData and setUserData usage from Firebug 1.12
---
extension/content/firebug/console/commandLine.js | 17 ++++----
.../content/firebug/console/commandLineExposed.js | 12 +++---
.../content/firebug/console/consoleInjector.js | 11 ++---
extension/content/firebug/lib/dom.js | 49 +++++++++++++++++++++-
4 files changed, 69 insertions(+), 20 deletions(-)
diff --git a/extension/content/firebug/console/commandLine.js b/extension/content/firebug/console/commandLine.js
index 0528761..43dc445 100644
--- a/extension/content/firebug/console/commandLine.js
+++ b/extension/content/firebug/console/commandLine.js
@@ -167,7 +167,7 @@ Firebug.CommandLine = Obj.extend(Firebug.Module,
else
{
Firebug.Console.logFormatted(["Firebug cannot find firebug-CommandLineAttached " +
- "through document.getUserData, it is too early for command line",
+ "through Dom.getMappedData, it is too early for command line",
win], context, "error", true);
}
return;
@@ -175,12 +175,12 @@ Firebug.CommandLine = Obj.extend(Firebug.Module,
var event = document.createEvent("Events");
event.initEvent("firebugCommandLine", true, false);
- win.document.setUserData("firebug-methodName", "evaluate", null);
+ Dom.setMappedData(win.document, "firebug-methodName", "evaluate");
origExpr = "with(_FirebugCommandLine){\n" + (origExpr || expr) + "\n};";
expr = "with(_FirebugCommandLine){\n" + expr + "\n};";
- win.document.setUserData("firebug-expr-orig", origExpr, null);
- win.document.setUserData("firebug-expr", expr, null);
+ Dom.setMappedData(win.document, "firebug-expr-orig", origExpr);
+ Dom.setMappedData(win.document, "firebug-expr", expr);
var consoleHandler = Firebug.Console.injector.getConsoleHandler(context, win);
@@ -949,7 +949,7 @@ Firebug.CommandLine.CommandHandler = Obj.extend(Object,
handle: function(event, api, win)
{
var element = event.target;
- var methodName = win.document.getUserData("firebug-methodName");
+ var methodName = Dom.getMappedData(win.document, "firebug-methodName");
// We create this array in the page using JS, so we need to look on the
// wrappedJSObject for it.
@@ -967,13 +967,13 @@ Firebug.CommandLine.CommandHandler = Obj.extend(Object,
if (!subHandler)
return false;
- win.document.setUserData("firebug-retValueType", null, null);
+ Dom.deleteMappedData(win.document, "firebug-retValueType");
var result = subHandler.apply(api, userObjects);
if (typeof result != "undefined")
{
if (result instanceof window.Array)
{
- win.document.setUserData("firebug-retValueType", "array", null);
+ Dom.setMappedData(win.document, "firebug-retValueType", "array");
for (var item in result)
hosed_userObjects.push(result[item]);
}
@@ -1427,7 +1427,7 @@ function CommandLineHandler(context, win)
if (!Firebug.CommandLine.CommandHandler.handle(event, this.api, win))
{
- var methodName = win.document.getUserData("firebug-methodName");
+ var methodName = Dom.getMappedData(win.document, "firebug-methodName");
Firebug.Console.log(Locale.$STRF("commandline.MethodNotSupported", [methodName]));
}
};
@@ -1442,7 +1442,6 @@ function getNoScript()
return this.noscript;
}
-
// ********************************************************************************************* //
// Registration
diff --git a/extension/content/firebug/console/commandLineExposed.js b/extension/content/firebug/console/commandLineExposed.js
index adb9f39..134561c 100644
--- a/extension/content/firebug/console/commandLineExposed.js
+++ b/extension/content/firebug/console/commandLineExposed.js
@@ -5,8 +5,10 @@
define([
"firebug/lib/wrapper",
"firebug/lib/events",
+ "firebug/lib/dom",
],
-function(Wrapper, Events) {
+function(Wrapper, Events, Dom) {
+
"use strict";
// ********************************************************************************************* //
@@ -173,8 +175,8 @@ function createFirebugCommandLine(context, win)
FBTrace.sysout("commandLine.Exposed.firebugEvalEvent " + window.location);
// see commandLine.js
- var expr = contentView.document.getUserData("firebug-expr");
- var origExpr = contentView.document.getUserData("firebug-expr-orig");
+ var expr = Dom.getMappedData(contentView.document, "firebug-expr");
+ var origExpr = Dom.getMappedData(contentView.document, "firebug-expr-orig");
evaluate(expr, origExpr);
if (FBTrace.DBG_COMMANDLINE)
@@ -254,7 +256,7 @@ function createFirebugCommandLine(context, win)
commandLine.userObjects.push(objs[i]);
var length = commandLine.userObjects.length;
- contentView.document.setUserData("firebug-methodName", methodName, null);
+ Dom.setMappedData(contentView.document, "firebug-methodName", methodName);
contentView.document.dispatchEvent(event);
@@ -265,7 +267,7 @@ function createFirebugCommandLine(context, win)
}
var result;
- if (contentView.document.getUserData("firebug-retValueType") === "array")
+ if (Dom.getMappedData(contentView.document, "firebug-retValueType") == "array")
result = [];
if (!result && commandLine.userObjects.length === length + 1)
diff --git a/extension/content/firebug/console/consoleInjector.js b/extension/content/firebug/console/consoleInjector.js
index e846d1d..2a66e1b 100644
--- a/extension/content/firebug/console/consoleInjector.js
+++ b/extension/content/firebug/console/consoleInjector.js
@@ -11,10 +11,11 @@ define([
"firebug/chrome/window",
"firebug/console/console",
"firebug/lib/array",
+ "firebug/lib/dom",
"firebug/console/consoleExposed",
"firebug/console/errors",
],
-function(Obj, Firebug, FirebugReps, Locale, Events, Url, StackFrame, Win, Console, Arr) {
+function(Obj, Firebug, FirebugReps, Locale, Events, Url, StackFrame, Win, Console, Arr, Dom) {
// ********************************************************************************************* //
// Constants
@@ -109,7 +110,7 @@ Firebug.Console.injector =
var handler = createConsoleHandler(context, win);
// Initialize Firebug token
- win.document.setUserData("firebug-Token", handler.token, null);
+ Dom.setMappedData(win.document, "firebug-Token", handler.token);
this.setConsoleHandler(context, win, handler);
@@ -128,7 +129,7 @@ Firebug.Console.injector =
return null;
}
- var attachedToken = win.document.getUserData("firebug-Token");
+ var attachedToken = Dom.getMappedData(win.document, "firebug-Token");
if (context.activeConsoleHandlers)
{
for(var i = 0; i < context.activeConsoleHandlers.length; i++)
@@ -218,14 +219,14 @@ function createConsoleHandler(context, win)
{
if (FBTrace.DBG_CONSOLE)
FBTrace.sysout("FirebugConsoleHandler(" + this.handler_name + ") " +
- win.document.getUserData("firebug-methodName") + ", event", event);
+ Dom.getMappedData(win.document, "firebug-methodName") + ", event", event);
if (!Firebug.CommandLine.CommandHandler.handle(event, this.console, win))
{
if (FBTrace.DBG_CONSOLE)
FBTrace.sysout("FirebugConsoleHandler", this);
- var methodName = win.document.getUserData("firebug-methodName");
+ var methodName = Dom.getMappedData(win.document, "firebug-methodName");
Firebug.Console.log(Locale.$STRF("console.MethodNotSupported", [methodName]));
}
};
diff --git a/extension/content/firebug/lib/dom.js b/extension/content/firebug/lib/dom.js
index d2bcdf1..d538bd1 100644
--- a/extension/content/firebug/lib/dom.js
+++ b/extension/content/firebug/lib/dom.js
@@ -6,8 +6,9 @@ define([
"firebug/lib/css",
"firebug/lib/array",
"firebug/lib/xml",
+ "firebug/lib/wrapper",
],
-function(FBTrace, Deprecated, Css, Arr, Xml) {
+function(FBTrace, Deprecated, Css, Arr, Xml, Wrapper) {
// ********************************************************************************************* //
// Constants
@@ -18,6 +19,7 @@ var Cc = Components.classes;
var Dom = {};
var domMemberCache = null;
var domMemberMap = {};
+var domMappedData = new WeakMap();
Dom.domUtils = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
@@ -750,6 +752,51 @@ Dom.scrollMenupopup = function(popup, item)
}
// ********************************************************************************************* //
+// MappedData
+
+function getElementData(element)
+{
+ var elementData;
+
+ // force element to be wrapped:
+ element = new XPCNativeWrapper(element);
+
+ if (!domMappedData.has(element))
+ {
+ elementData = {};
+ domMappedData.set(element, elementData);
+ }
+ else
+ elementData = domMappedData.get(element);
+
+ return elementData;
+}
+
+Dom.getMappedData = function(element, key)
+{
+ var elementData = getElementData(element);
+ return elementData[key];
+}
+
+Dom.setMappedData = function(element, key, value)
+{
+ if (!Dom.isNode(element))
+ throw new TypeError("expected an element as the first argument");
+
+ if (typeof key !== "string")
+ throw new TypeError("the key argument must be a string");
+
+ var elementData = getElementData(element);
+ elementData[key] = value;
+}
+
+Dom.deleteMappedData = function(element, key)
+{
+ var elementData = getElementData(element);
+ delete elementData[key];
+}
+
+// ********************************************************************************************* //
// DOM Members
Dom.getDOMMembers = function(object)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firebug.git
More information about the Pkg-mozext-commits
mailing list