mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-09 00:11:44 +00:00
Bug 199566 - Inspector needs a command line handler.
The following should now work: ./mozilla -inspector ./mozilla -inspector "http://www.foo.com/" r=timeless sr=jst a=asa
This commit is contained in:
parent
2c5817a3a2
commit
3987f2a037
@ -27,7 +27,7 @@ VPATH=@srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS=public src
|
||||
DIRS=public src js
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
48
extensions/inspector/base/js/Makefile.in
Normal file
48
extensions/inspector/base/js/Makefile.in
Normal file
@ -0,0 +1,48 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is DOM Inspector.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Christopher A. Aillon <christopher@aillon.com>.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2003
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# 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 *****
|
||||
|
||||
|
||||
DEPTH=../../../..
|
||||
topsrcdir=@top_srcdir@
|
||||
srcdir=@srcdir@
|
||||
VPATH=@srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
EXTRA_COMPONENTS=inspector-cmdline.js
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
128
extensions/inspector/base/js/inspector-cmdline.js
Normal file
128
extensions/inspector/base/js/inspector-cmdline.js
Normal file
@ -0,0 +1,128 @@
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is DOM Inspector.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Christopher A. Aillon <christopher@aillon.com>.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2003
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Christopher A. Aillon <christopher@aillon.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* 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 ***** */
|
||||
|
||||
|
||||
const INSPECTOR_CMDLINE_CONTRACTID = "@mozilla.org/commandlinehandler/general-startup;1?type=inspector";
|
||||
const INSPECTOR_CMDLINE_CLSID = Components.ID('{38293526-6b13-4d4f-a075-71939435b408}');
|
||||
const CATMAN_CONTRACTID = "@mozilla.org/categorymanager;1";
|
||||
const nsICategoryManager = Components.interfaces.nsICategoryManager;
|
||||
const nsICmdLineHandler = Components.interfaces.nsICmdLineHandler;
|
||||
const nsIComponentRegistrar = Components.interfaces.nsIComponentRegistrar;
|
||||
|
||||
|
||||
function InspectorCmdLineHandler() {}
|
||||
InspectorCmdLineHandler.prototype =
|
||||
{
|
||||
commandLineArgument : "-inspector",
|
||||
prefNameForStartup : "general.startup.inspector",
|
||||
chromeUrlForTask : "chrome://inspector/content/inspector.xul",
|
||||
helpText : "Start with the DOM Inspector.",
|
||||
handlesArgs : true,
|
||||
defaultArgs : "",
|
||||
openWindowWithArgs : true
|
||||
};
|
||||
|
||||
|
||||
var InspectorCmdLineFactory =
|
||||
{
|
||||
createInstance : function(outer, iid)
|
||||
{
|
||||
if (outer != null) {
|
||||
throw Components.results.NS_ERROR_NO_AGGREGATION;
|
||||
}
|
||||
|
||||
if (!iid.equals(nsICmdLineHandler) && !iid.equals(nsISupports)) {
|
||||
throw Components.results.NS_ERROR_INVALID_ARG;
|
||||
}
|
||||
|
||||
return new InspectorCmdLineHandler();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var InspectorCmdLineModule =
|
||||
{
|
||||
registerSelf : function(compMgr, fileSpec, location, type)
|
||||
{
|
||||
compMgr = compMgr.QueryInterface(nsIComponentRegistrar);
|
||||
|
||||
compMgr.registerFactoryLocation(INSPECTOR_CMDLINE_CLSID,
|
||||
"DOM Inspector CommandLine Service",
|
||||
INSPECTOR_CMDLINE_CONTRACTID,
|
||||
fileSpec,
|
||||
location,
|
||||
type);
|
||||
|
||||
var catman = Components.classes[CATMAN_CONTRACTID].getService(nsICategoryManager);
|
||||
catman.addCategoryEntry("command-line-argument-handlers",
|
||||
"inspector command line handler",
|
||||
INSPECTOR_CMDLINE_CONTRACTID, true, true);
|
||||
},
|
||||
|
||||
unregisterSelf : function(compMgr, fileSpec, location)
|
||||
{
|
||||
compMgr = compMgr.QueryInterface(nsIComponentRegistrar);
|
||||
|
||||
compMgr.unregisterFactoryLocation(INSPECTOR_CMDLINE_CLSID, fileSpec);
|
||||
catman = Components.classes[CATMAN_CONTRACTID].getService(nsICategoryManager);
|
||||
catman.deleteCategoryEntry("command-line-argument-handlers",
|
||||
INSPECTOR_CMDLINE_CONTRACTID, true);
|
||||
},
|
||||
|
||||
getClassObject : function(compMgr, cid, iid)
|
||||
{
|
||||
if (cid.equals(INSPECTOR_CMDLINE_CLSID)) {
|
||||
return InspectorCmdLineFactory;
|
||||
}
|
||||
|
||||
if (!iid.equals(Components.interfaces.nsIFactory)) {
|
||||
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
throw Components.results.NS_ERROR_NO_INTERFACE;
|
||||
},
|
||||
|
||||
canUnload : function(compMgr)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
function NSGetModule(compMgr, fileSpec) {
|
||||
return InspectorCmdLineModule;
|
||||
}
|
@ -62,7 +62,20 @@ window.addEventListener("unload", InspectorApp_destroy, false);
|
||||
function InspectorApp_initialize()
|
||||
{
|
||||
inspector = new InspectorApp();
|
||||
inspector.initialize(window.arguments && window.arguments.length > 0 ? window.arguments[0] : null);
|
||||
|
||||
// window.arguments may be either a string or a node.
|
||||
// If passed via a command line handler, it will be a uri string.
|
||||
// If passed via navigator hooks, it will be a dom node to inspect.
|
||||
var initNode, initURI;
|
||||
if (window.arguments.length) {
|
||||
if (typeof window.arguments[0] == "string") {
|
||||
initURI = window.arguments[0];
|
||||
}
|
||||
else if (window.arguments[0] instanceof Components.interfaces.nsIDOMNode) {
|
||||
initNode = window.arguments[0];
|
||||
}
|
||||
}
|
||||
inspector.initialize(initNode, initURI);
|
||||
}
|
||||
|
||||
function InspectorApp_destroy()
|
||||
@ -91,7 +104,7 @@ InspectorApp.prototype =
|
||||
get searchRegistry() { return this.mSearchService },
|
||||
get panelset() { return this.mPanelSet; },
|
||||
|
||||
initialize: function(aTarget)
|
||||
initialize: function(aTarget, aURI)
|
||||
{
|
||||
this.mInitTarget = aTarget;
|
||||
|
||||
@ -109,6 +122,10 @@ InspectorApp.prototype =
|
||||
this.mPanelSet = document.getElementById("bxPanelSet");
|
||||
this.mPanelSet.addObserver("panelsetready", this, false);
|
||||
this.mPanelSet.initialize();
|
||||
|
||||
if (aURI) {
|
||||
this.gotoURL(aURI);
|
||||
}
|
||||
},
|
||||
|
||||
destroy: function()
|
||||
@ -326,7 +343,13 @@ InspectorApp.prototype =
|
||||
|
||||
browseToURL: function(aURL)
|
||||
{
|
||||
this.webNavigation.loadURI(aURL, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
|
||||
try {
|
||||
this.webNavigation.loadURI(aURL, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
|
||||
}
|
||||
catch(ex) {
|
||||
// nsIWebNavigation.loadURI will spit out an appropriate user prompt, so
|
||||
// we don't need to do anything here. See nsDocShell::DisplayLoadError()
|
||||
}
|
||||
},
|
||||
|
||||
goToWindow: function(aMenuitem)
|
||||
|
@ -7,6 +7,11 @@ logComment("fProgram: " + fProgram);
|
||||
err = addDirectory("", "$Version$", "bin", fProgram, "", true);
|
||||
logComment("addDirectory: " + err);
|
||||
|
||||
addFile("Inspector Command Line Handler",
|
||||
"bin/components/inspector-cmdline.js",
|
||||
getFolder("Components"),
|
||||
"");
|
||||
|
||||
var jarFolder = getFolder("Chrome", "inspector.jar");
|
||||
registerChrome(PACKAGE | DELAYED_CHROME, jarFolder, "content/inspector/");
|
||||
registerChrome(SKIN | DELAYED_CHROME, jarFolder, "skin/modern/inspector/");
|
||||
|
@ -8,6 +8,11 @@ if (verifyDiskSpace(fProgram, srDest))
|
||||
{
|
||||
err = addDirectory("", "$Version$", "viewer", fProgram, "", true);
|
||||
logComment("addDirectory: " + err);
|
||||
|
||||
addFile("Inspector Command Line Handler",
|
||||
"viewer/components/inspector-cmdline.js",
|
||||
getFolder("Components"),
|
||||
"");
|
||||
|
||||
var jarFolder = getFolder("Chrome", "inspector.jar");
|
||||
registerChrome(PACKAGE | DELAYED_CHROME, jarFolder, "content/inspector/");
|
||||
|
@ -7,6 +7,11 @@ logComment("fProgram: " + fProgram);
|
||||
err = addDirectory("", "$Version$", "bin", fProgram, "", true);
|
||||
logComment("addDirectory: " + err);
|
||||
|
||||
addFile("Inspector Command Line Handler",
|
||||
"bin/components/inspector-cmdline.js",
|
||||
getFolder("Components"),
|
||||
"");
|
||||
|
||||
var jarFolder = getFolder("Chrome", "inspector.jar");
|
||||
registerChrome(PACKAGE | DELAYED_CHROME, jarFolder, "content/inspector/");
|
||||
registerChrome(SKIN | DELAYED_CHROME, jarFolder, "skin/modern/inspector/");
|
||||
|
@ -367,6 +367,7 @@ viewer:Components:QFA.xpt
|
||||
viewer:TalkBack:*
|
||||
|
||||
[inspector]
|
||||
viewer:Components:inspector-cmdline.js
|
||||
viewer:Components:inspector.shlb
|
||||
viewer:Components:inspector.xpt
|
||||
viewer:chrome:inspector.jar
|
||||
|
@ -433,6 +433,7 @@ bin/chrome/pipnss.jar
|
||||
bin/chrome/pippki.jar
|
||||
|
||||
[inspector]
|
||||
bin/components/inspector-cmdline.js
|
||||
;bin/components/inspector.dll
|
||||
bin/components/inspectr.dll
|
||||
bin/components/inspector.xpt
|
||||
|
@ -308,6 +308,7 @@ bin/libfreebl_hybrid_3.chk
|
||||
bin/libfreebl_hybrid_3.so
|
||||
|
||||
[inspector]
|
||||
bin/components/inspector-cmdline.js
|
||||
bin/components/inspector.so
|
||||
bin/components/inspector.xpt
|
||||
bin/chrome/inspector.jar
|
||||
|
@ -328,6 +328,7 @@ bin\chrome\pipnss.jar
|
||||
bin\chrome\pippki.jar
|
||||
|
||||
[inspector]
|
||||
bin\components\inspector-cmdline.js
|
||||
bin\components\inspector.dll
|
||||
bin\components\inspector.xpt
|
||||
bin\chrome\inspector.jar
|
||||
|
@ -413,6 +413,7 @@ bin/libfreebl_hybrid_3.chk
|
||||
bin/libfreebl_hybrid_3.so
|
||||
|
||||
[inspector]
|
||||
bin/components/inspector-cmdline.js
|
||||
bin/components/libinspector.so
|
||||
bin/components/inspector.xpt
|
||||
bin/chrome/inspector.jar
|
||||
|
@ -326,6 +326,7 @@ bin\chrome\venkman.jar
|
||||
bin\chrome\icons\default\venkman-window.ico
|
||||
|
||||
[inspector]
|
||||
bin\components\inspector-cmdline.js
|
||||
bin\components\inspector.dll
|
||||
bin\components\inspector.xpt
|
||||
bin\chrome\inspector.jar
|
||||
|
@ -9,6 +9,11 @@ if (verifyDiskSpace(fProgram, srDest))
|
||||
err = addDirectory("", "$Version$", "bin", fProgram, "", true);
|
||||
logComment("addDirectory: " + err);
|
||||
|
||||
addFile("Inspector Command Line Handler",
|
||||
"bin/components/inspector-cmdline.js",
|
||||
getFolder("Components"),
|
||||
"");
|
||||
|
||||
var jarFolder = getFolder("Chrome", "inspector.jar");
|
||||
registerChrome(PACKAGE | DELAYED_CHROME, jarFolder, "content/inspector/");
|
||||
registerChrome(SKIN | DELAYED_CHROME, jarFolder, "skin/modern/inspector/");
|
||||
|
@ -7,6 +7,11 @@ logComment("fProgram: " + fProgram);
|
||||
err = addDirectory("", "$Version$", "bin", fProgram, "", true);
|
||||
logComment("addDirectory: " + err);
|
||||
|
||||
addFile("Inspector Command Line Handler",
|
||||
"bin/components/inspector-cmdline.js",
|
||||
getFolder("Components"),
|
||||
"");
|
||||
|
||||
var jarFolder = getFolder("Chrome", "inspector.jar");
|
||||
registerChrome(PACKAGE | DELAYED_CHROME, jarFolder, "content/inspector/");
|
||||
registerChrome(SKIN | DELAYED_CHROME, jarFolder, "skin/modern/inspector/");
|
||||
|
Loading…
x
Reference in New Issue
Block a user