forked from nodejs/node-v0.x-archive
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from tschneidereit/master
Pulled in new Spidermonkey and made changes to make Spidernode compile with that
- Loading branch information
Showing
2,903 changed files
with
321,870 additions
and
262,182 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* ***** 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 mozilla.org code. | ||
* | ||
* The Initial Developer of the Original Code is | ||
* Mozilla Foundation | ||
* Portions created by the Initial Developer are Copyright (C) 2011 | ||
* the Initial Developer. All Rights Reserved. | ||
* | ||
* Contributor(s): | ||
* Dave Camp <dcamp@mozilla.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 ***** */ | ||
|
||
#include "nsISupports.idl" | ||
|
||
/** | ||
* Do not use this interface. Instead, write: | ||
* Components.utils.import("resource://gre/modules/jsdebugger.jsm"); | ||
*/ | ||
[scriptable, uuid(2fc14cc6-4ed0-4bbf-a7dd-e535bf088eb5)] | ||
interface IJSDebugger : nsISupports | ||
{ | ||
/** | ||
* Define the global Debugger constructor. | ||
*/ | ||
[implicit_jscontext] | ||
void addClass(); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ | ||
/* ***** 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 mozilla.org code. | ||
* | ||
* The Initial Developer of the Original Code is | ||
* The Mozilla Foundation <http://www.mozilla.org/>. | ||
* Portions created by the Initial Developer are Copyright (C) 2011 | ||
* the Initial Developer. All Rights Reserved. | ||
* | ||
* Contributor(s): | ||
* Dave Camp <dcamp@mozilla.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 ***** */ | ||
|
||
#include "JSDebugger.h" | ||
#include "nsIXPConnect.h" | ||
#include "nsThreadUtils.h" | ||
#include "jsapi.h" | ||
#include "jsgc.h" | ||
#include "jsfriendapi.h" | ||
#include "jsdbgapi.h" | ||
#include "mozilla/ModuleUtils.h" | ||
#include "nsServiceManagerUtils.h" | ||
#include "nsMemory.h" | ||
|
||
#define JSDEBUGGER_CONTRACTID \ | ||
"@mozilla.org/jsdebugger;1" | ||
|
||
#define JSDEBUGGER_CID \ | ||
{ 0x0365cbd5, 0xd46e, 0x4e94, { 0xa3, 0x9f, 0x83, 0xb6, 0x3c, 0xd1, 0xa9, 0x63 } } | ||
|
||
namespace mozilla { | ||
namespace jsdebugger { | ||
|
||
NS_GENERIC_FACTORY_CONSTRUCTOR(JSDebugger) | ||
|
||
NS_IMPL_ISUPPORTS1(JSDebugger, IJSDebugger) | ||
|
||
JSDebugger::JSDebugger() | ||
{ | ||
} | ||
|
||
JSDebugger::~JSDebugger() | ||
{ | ||
} | ||
|
||
NS_IMETHODIMP | ||
JSDebugger::AddClass(JSContext *cx) | ||
{ | ||
nsresult rv; | ||
nsCOMPtr<nsIXPConnect> xpc = do_GetService(nsIXPConnect::GetCID(), &rv); | ||
|
||
JSObject* global = JS_GetGlobalForScopeChain(cx); | ||
if (!global) { | ||
return NS_ERROR_NOT_AVAILABLE; | ||
} | ||
|
||
if (!JS_DefineDebuggerObject(cx, global)) { | ||
return NS_ERROR_FAILURE; | ||
} | ||
|
||
return NS_OK; | ||
} | ||
|
||
} | ||
} | ||
|
||
NS_DEFINE_NAMED_CID(JSDEBUGGER_CID); | ||
|
||
static const mozilla::Module::CIDEntry kJSDebuggerCIDs[] = { | ||
{ &kJSDEBUGGER_CID, false, NULL, mozilla::jsdebugger::JSDebuggerConstructor }, | ||
{ NULL } | ||
}; | ||
|
||
static const mozilla::Module::ContractIDEntry kJSDebuggerContracts[] = { | ||
{ JSDEBUGGER_CONTRACTID, &kJSDEBUGGER_CID }, | ||
{ NULL } | ||
}; | ||
|
||
static const mozilla::Module kJSDebuggerModule = { | ||
mozilla::Module::kVersion, | ||
kJSDebuggerCIDs, | ||
kJSDebuggerContracts | ||
}; | ||
|
||
NSMODULE_DEFN(jsdebugger) = &kJSDebuggerModule; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ | ||
/* ***** 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 mozilla.org code. | ||
* | ||
* The Initial Developer of the Original Code is | ||
* The Mozilla Foundation <http://www.mozilla.org/>. | ||
* Portions created by the Initial Developer are Copyright (C) 2011 | ||
* the Initial Developer. All Rights Reserved. | ||
* | ||
* Contributor(s): | ||
* Dave Camp <dcamp@mozilla.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 ***** */ | ||
|
||
#ifndef COMPONENTS_JSDEBUGGER_H | ||
#define COMPONENTS_JSDEBUGGER_H | ||
|
||
#include "IJSDebugger.h" | ||
|
||
namespace mozilla { | ||
namespace jsdebugger { | ||
|
||
class JSDebugger : public IJSDebugger | ||
{ | ||
public: | ||
NS_DECL_ISUPPORTS | ||
NS_DECL_IJSDEBUGGER | ||
|
||
JSDebugger(); | ||
|
||
private: | ||
~JSDebugger(); | ||
}; | ||
|
||
} | ||
} | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# ***** 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 mozilla.org code. | ||
# | ||
# The Initial Developer of the Original Code is | ||
# The Mozilla Foundation <http://www.mozilla.org/>. | ||
# Portions created by the Initial Developer are Copyright (C) 2011 | ||
# the Initial Developer. All Rights Reserved. | ||
# | ||
# Contributor(s): | ||
# Dave Camp <dcamp@mozilla.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 ***** | ||
|
||
DEPTH = ../../.. | ||
topsrcdir = @top_srcdir@ | ||
srcdir = @srcdir@ | ||
VPATH = @srcdir@ | ||
relativesrcdir = js/ductwork/debugger | ||
|
||
include $(DEPTH)/config/autoconf.mk | ||
|
||
MODULE = jsdebugger | ||
MODULE_NAME = jsdebugger | ||
GRE_MODULE = 1 | ||
|
||
LIBRARY_NAME = jsdebugger | ||
XPIDL_MODULE = jsdebugger | ||
LIBXUL_LIBRARY = 1 | ||
EXPORT_LIBRARY = 1 | ||
IS_COMPONENT = 1 | ||
|
||
CPPSRCS = \ | ||
JSDebugger.cpp \ | ||
$(NULL) | ||
|
||
EXTRA_DSO_LDOPTS += \ | ||
$(MOZ_COMPONENT_LIBS) \ | ||
$(MOZ_JS_LIBS) \ | ||
$(NULL) | ||
|
||
EXTRA_JS_MODULES = \ | ||
jsdebugger.jsm \ | ||
$(NULL) | ||
|
||
XPIDLSRCS = \ | ||
IJSDebugger.idl \ | ||
$(NULL) | ||
|
||
XPCSHELL_TESTS = tests | ||
|
||
include $(topsrcdir)/config/rules.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ | ||
/* ***** 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 js-ctypes. | ||
* | ||
* The Initial Developer of the Original Code is | ||
* The Mozilla Foundation <http://www.mozilla.org/>. | ||
* Portions created by the Initial Developer are Copyright (C) 2011 | ||
* the Initial Developer. All Rights Reserved. | ||
* | ||
* Contributor(s): | ||
* Jason Orendorff <jorendorff@mozilla.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 ***** */ | ||
|
||
let EXPORTED_SYMBOLS = [ "Debugger" ]; | ||
|
||
/* | ||
* This is the js module for Debugger. Import it like so: | ||
* Components.utils.import("resource://gre/modules/jsdebugger.jsm"); | ||
* | ||
* This will create a 'Debugger' object, which provides an interface to debug | ||
* JavaScript code running in other compartments in the same process, on the | ||
* same thread. | ||
* | ||
* For documentation on the API, see: | ||
* https://wiki.mozilla.org/Debugger | ||
*/ | ||
|
||
// Initialize the Debugger object. You do not need to do this yourself. | ||
const init = Components.classes["@mozilla.org/jsdebugger;1"].createInstance(Components.interfaces.IJSDebugger); | ||
init.addClass(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* Any copyright is dedicated to the Public Domain. | ||
http://creativecommons.org/publicdomain/zero/1.0/ */ | ||
|
||
"use strict"; | ||
const Cc = Components.classes; | ||
const Ci = Components.interfaces; | ||
const Cu = Components.utils; | ||
const Cr = Components.results; | ||
|
||
function testGlobal(aName) { | ||
let systemPrincipal = Cc["@mozilla.org/systemprincipal;1"] | ||
.createInstance(Ci.nsIPrincipal); | ||
|
||
let sandbox = Cu.Sandbox(systemPrincipal); | ||
Cu.evalInSandbox("this.__name = '" + aName + "'", sandbox); | ||
return sandbox; | ||
} |
Oops, something went wrong.