summaryrefslogtreecommitdiffstats
path: root/devtools/server
diff options
context:
space:
mode:
authorwicknix <39230578+wicknix@users.noreply.github.com>2019-04-15 18:58:07 -0500
committerGitHub <noreply@github.com>2019-04-15 18:58:07 -0500
commit5a1843c9f9e323627f9c35529e6a8c853d4dbb0d (patch)
tree62de3cd7cb8a6f75e568863bb73ca2deb80d87a9 /devtools/server
parent065f6f9e5ebc1ed6cfaadaf7851b6021fa94a013 (diff)
parent095ea556855b38138e39e713f482eb440f7da9b2 (diff)
downloadUXP-5a1843c9f9e323627f9c35529e6a8c853d4dbb0d.tar
UXP-5a1843c9f9e323627f9c35529e6a8c853d4dbb0d.tar.gz
UXP-5a1843c9f9e323627f9c35529e6a8c853d4dbb0d.tar.lz
UXP-5a1843c9f9e323627f9c35529e6a8c853d4dbb0d.tar.xz
UXP-5a1843c9f9e323627f9c35529e6a8c853d4dbb0d.zip
Merge pull request #1 from MoonchildProductions/master
keep up with mc
Diffstat (limited to 'devtools/server')
-rw-r--r--devtools/server/actors/moz.build2
-rw-r--r--devtools/server/actors/stylesheets.js13
-rw-r--r--devtools/server/actors/webbrowser.js18
-rw-r--r--devtools/server/moz.build12
-rw-r--r--devtools/server/nsIJSInspector.idl75
-rw-r--r--devtools/server/nsJSInspector.cpp147
-rw-r--r--devtools/server/nsJSInspector.h39
-rw-r--r--devtools/server/tests/unit/test_listsources-04.js4
8 files changed, 4 insertions, 306 deletions
diff --git a/devtools/server/actors/moz.build b/devtools/server/actors/moz.build
index ddefc3e9e..085d003cf 100644
--- a/devtools/server/actors/moz.build
+++ b/devtools/server/actors/moz.build
@@ -67,6 +67,6 @@ DevToolsModules(
'worker.js',
)
-FINAL_TARGET_PP_FILES.chrome.devtools.modules.devtools.server.actors += [
+FINAL_TARGET_FILES.chrome.devtools.modules.devtools.server.actors += [
'webbrowser.js',
] \ No newline at end of file
diff --git a/devtools/server/actors/stylesheets.js b/devtools/server/actors/stylesheets.js
index 7fcbca8c4..f484a5976 100644
--- a/devtools/server/actors/stylesheets.js
+++ b/devtools/server/actors/stylesheets.js
@@ -451,21 +451,10 @@ var StyleSheetActor = protocol.ActorClassWithSpec(styleSheetSpec, {
let options = {
loadFromCache: true,
policy: Ci.nsIContentPolicy.TYPE_INTERNAL_STYLESHEET,
+ window: this.window,
charset: this._getCSSCharset()
};
- // Bug 1282660 - We use the system principal to load the default internal
- // stylesheets instead of the content principal since such stylesheets
- // require system principal to load. At meanwhile, we strip the loadGroup
- // for preventing the assertion of the userContextId mismatching.
- // The default internal stylesheets load from the 'resource:' URL.
- // Bug 1287607, 1291321 - 'chrome' and 'file' protocols should also be handled in the
- // same way.
- if (!/^(chrome|file|resource):\/\//.test(this.href)) {
- options.window = this.window;
- options.principal = this.document.nodePrincipal;
- }
-
return fetch(this.href, options).then(({ content }) => {
this.text = content;
return content;
diff --git a/devtools/server/actors/webbrowser.js b/devtools/server/actors/webbrowser.js
index dffe49b91..e7981e163 100644
--- a/devtools/server/actors/webbrowser.js
+++ b/devtools/server/actors/webbrowser.js
@@ -30,9 +30,6 @@ loader.lazyRequireGetter(this, "WorkerActorList", "devtools/server/actors/worker
loader.lazyRequireGetter(this, "ServiceWorkerRegistrationActorList", "devtools/server/actors/worker", true);
loader.lazyRequireGetter(this, "ProcessActorList", "devtools/server/actors/process", true);
loader.lazyImporter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");
-#ifdef MOZ_WEBEXTENSIONS
-loader.lazyImporter(this, "ExtensionContent", "resource://gre/modules/ExtensionContent.jsm");
-#endif
// Assumptions on events module:
// events needs to be dispatched synchronously,
@@ -984,21 +981,6 @@ TabActor.prototype = {
return null;
},
-#ifdef MOZ_WEBEXTENSIONS
- /**
- * Getter for the WebExtensions ContentScript globals related to the
- * current tab content's DOM window.
- */
- get webextensionsContentScriptGlobals() {
- // Ignore xpcshell runtime which spawn TabActors without a window.
- if (this.window) {
- return ExtensionContent.getContentScriptGlobalsForWindow(this.window);
- }
-
- return [];
- },
-#endif
-
/**
* Getter for the list of all content DOM windows in this tabActor
* @return {Array}
diff --git a/devtools/server/moz.build b/devtools/server/moz.build
index 383505fe2..e4a6d2051 100644
--- a/devtools/server/moz.build
+++ b/devtools/server/moz.build
@@ -16,18 +16,6 @@ BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']
XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
-XPIDL_SOURCES += [
- 'nsIJSInspector.idl',
-]
-
-XPIDL_MODULE = 'jsinspector'
-
-SOURCES += [
- 'nsJSInspector.cpp',
-]
-
-FINAL_LIBRARY = 'xul'
-
DevToolsModules(
'child.js',
'content-globals.js',
diff --git a/devtools/server/nsIJSInspector.idl b/devtools/server/nsIJSInspector.idl
deleted file mode 100644
index 40ad49523..000000000
--- a/devtools/server/nsIJSInspector.idl
+++ /dev/null
@@ -1,75 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
-#include "nsISupports.idl"
-
-/**
- * Utilities for running nested event loops, asking them to return, and
- * keeping track of which ones are still running.
- */
-[scriptable, uuid(6758d0d7-e96a-4c5c-bca8-3bcbe5a15943)]
-interface nsIJSInspector : nsISupports
-{
- /**
- * Process the current thread's event queue, calling event handlers until
- * a call to exitNestedEventLoop, below, asks us to return.
- *
- * The name 'enterNestedEventLoop' may be misleading if read too literally.
- * This method loops calling event handlers until one asks it to stop, and
- * then returns. So by that point, the nested event loop has been not only
- * entered, but also run and exited.
- *
- * When enterNestedEventLoop calls an event handler, that handler may itself
- * call enterNestedEventLoop, and so on, so that there may be arbitrarily
- * many such calls on the stack at the same time.
- *
- * We say an enterNestedEventLoop call is "running" if it has not yet been
- * asked to return, or "stopped" if it has been asked to return once it has
- * finished processing the current event.
- *
- * @param requestor A token of the caller's choice to identify this event
- * loop.
- *
- * @return depth The number of running enterNestedEventLoop calls
- * remaining, now that this one has returned.
- *
- * (Note that not all calls still on the stack are
- * necessary running; exitNestedEventLoop can ask any
- * number of enterNestedEventLoop calls to return.)
- */
- unsigned long enterNestedEventLoop(in jsval requestor);
-
- /**
- * Stop the youngest running enterNestedEventLoop call, asking it to return
- * once it has finished processing the current event.
- *
- * The name 'exitNestedEventLoop' may be misleading if read too literally.
- * The affected event loop does not return immediately when this method is
- * called. Rather, this method simply returns to its caller; the affected
- * loop's current event handler is allowed to run to completion; and then
- * that loop returns without processing any more events.
- *
- * This method ignores loops that have already been stopped, and operates on
- * the youngest loop that is still running. Each call to this method stops
- * another running loop.
- *
- * @return depth The number of running enterNestedEventLoop calls
- * remaining, now that one has been stopped.
- *
- * @throws NS_ERROR_FAILURE if there are no running enterNestedEventLoop calls.
- */
- unsigned long exitNestedEventLoop();
-
- /**
- * The number of running enterNestedEventLoop calls on the stack.
- * This count does not include stopped enterNestedEventLoop calls.
- */
- readonly attribute unsigned long eventLoopNestLevel;
-
- /**
- * The |requestor| value that was passed to the youngest running
- * enterNestedEventLoop call.
- */
- readonly attribute jsval lastNestRequestor;
-};
diff --git a/devtools/server/nsJSInspector.cpp b/devtools/server/nsJSInspector.cpp
deleted file mode 100644
index 6d717af5b..000000000
--- a/devtools/server/nsJSInspector.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
-#include "nsJSInspector.h"
-#include "nsIXPConnect.h"
-#include "nsThreadUtils.h"
-#include "jsfriendapi.h"
-#include "mozilla/HoldDropJSObjects.h"
-#include "mozilla/ModuleUtils.h"
-#include "mozilla/dom/ScriptSettings.h"
-#include "nsServiceManagerUtils.h"
-#include "nsMemory.h"
-#include "nsArray.h"
-#include "nsTArray.h"
-
-#define JSINSPECTOR_CONTRACTID \
- "@mozilla.org/jsinspector;1"
-
-#define JSINSPECTOR_CID \
-{ 0xec5aa99c, 0x7abb, 0x4142, { 0xac, 0x5f, 0xaa, 0xb2, 0x41, 0x9e, 0x38, 0xe2 } }
-
-namespace mozilla {
-namespace jsinspector {
-
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsJSInspector)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsJSInspector)
- NS_INTERFACE_MAP_ENTRY(nsISupports)
- NS_INTERFACE_MAP_ENTRY(nsIJSInspector)
-NS_INTERFACE_MAP_END
-
-NS_IMPL_CYCLE_COLLECTION_CLASS(nsJSInspector)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(nsJSInspector)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(nsJSInspector)
-
-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsJSInspector)
- NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
-
-NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsJSInspector)
- tmp->mRequestors.Clear();
- tmp->mLastRequestor = JS::NullValue();
-NS_IMPL_CYCLE_COLLECTION_UNLINK_END
-
-NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(nsJSInspector)
- for (uint32_t i = 0; i < tmp->mRequestors.Length(); ++i) {
- NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mRequestors[i])
- }
- NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mLastRequestor)
-NS_IMPL_CYCLE_COLLECTION_TRACE_END
-
-nsJSInspector::nsJSInspector() : mNestedLoopLevel(0), mRequestors(1), mLastRequestor(JS::NullValue())
-{
-}
-
-nsJSInspector::~nsJSInspector()
-{
- MOZ_ASSERT(mRequestors.Length() == 0);
- MOZ_ASSERT(mLastRequestor.isNull());
- mozilla::DropJSObjects(this);
-}
-
-NS_IMETHODIMP
-nsJSInspector::EnterNestedEventLoop(JS::Handle<JS::Value> requestor, uint32_t *out)
-{
- nsresult rv = NS_OK;
-
- mLastRequestor = requestor;
- mRequestors.AppendElement(requestor);
- mozilla::HoldJSObjects(this);
-
- mozilla::dom::AutoNoJSAPI nojsapi;
-
- uint32_t nestLevel = ++mNestedLoopLevel;
- while (NS_SUCCEEDED(rv) && mNestedLoopLevel >= nestLevel) {
- if (!NS_ProcessNextEvent())
- rv = NS_ERROR_UNEXPECTED;
- }
-
- NS_ASSERTION(mNestedLoopLevel <= nestLevel,
- "nested event didn't unwind properly");
-
- if (mNestedLoopLevel == nestLevel) {
- mLastRequestor = mRequestors.ElementAt(--mNestedLoopLevel);
- }
-
- *out = mNestedLoopLevel;
- return rv;
-}
-
-NS_IMETHODIMP
-nsJSInspector::ExitNestedEventLoop(uint32_t *out)
-{
- if (mNestedLoopLevel > 0) {
- mRequestors.RemoveElementAt(--mNestedLoopLevel);
- if (mNestedLoopLevel > 0)
- mLastRequestor = mRequestors.ElementAt(mNestedLoopLevel - 1);
- else
- mLastRequestor = JS::NullValue();
- } else {
- return NS_ERROR_FAILURE;
- }
-
- *out = mNestedLoopLevel;
-
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsJSInspector::GetEventLoopNestLevel(uint32_t *out)
-{
- *out = mNestedLoopLevel;
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsJSInspector::GetLastNestRequestor(JS::MutableHandle<JS::Value> out)
-{
- out.set(mLastRequestor);
- return NS_OK;
-}
-
-} // namespace jsinspector
-} // namespace mozilla
-
-NS_DEFINE_NAMED_CID(JSINSPECTOR_CID);
-
-static const mozilla::Module::CIDEntry kJSInspectorCIDs[] = {
- { &kJSINSPECTOR_CID, false, nullptr, mozilla::jsinspector::nsJSInspectorConstructor },
- { nullptr }
-};
-
-static const mozilla::Module::ContractIDEntry kJSInspectorContracts[] = {
- { JSINSPECTOR_CONTRACTID, &kJSINSPECTOR_CID },
- { nullptr }
-};
-
-static const mozilla::Module kJSInspectorModule = {
- mozilla::Module::kVersion,
- kJSInspectorCIDs,
- kJSInspectorContracts
-};
-
-NSMODULE_DEFN(jsinspector) = &kJSInspectorModule;
diff --git a/devtools/server/nsJSInspector.h b/devtools/server/nsJSInspector.h
deleted file mode 100644
index 4e60b0428..000000000
--- a/devtools/server/nsJSInspector.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
-#ifndef COMPONENTS_JSINSPECTOR_H
-#define COMPONENTS_JSINSPECTOR_H
-
-#include "nsIJSInspector.h"
-#include "mozilla/Attributes.h"
-#include "nsCycleCollectionParticipant.h"
-#include "nsTArray.h"
-#include "js/Value.h"
-#include "js/RootingAPI.h"
-
-namespace mozilla {
-namespace jsinspector {
-
-class nsJSInspector final : public nsIJSInspector
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsJSInspector)
- NS_DECL_NSIJSINSPECTOR
-
- nsJSInspector();
-
-private:
- ~nsJSInspector();
-
- uint32_t mNestedLoopLevel;
- nsTArray<JS::Heap<JS::Value> > mRequestors;
- JS::Heap<JS::Value> mLastRequestor;
-};
-
-} // namespace jsinspector
-} // namespace mozilla
-
-#endif
diff --git a/devtools/server/tests/unit/test_listsources-04.js b/devtools/server/tests/unit/test_listsources-04.js
index 6da99a6ce..8e1a57bf0 100644
--- a/devtools/server/tests/unit/test_listsources-04.js
+++ b/devtools/server/tests/unit/test_listsources-04.js
@@ -29,12 +29,12 @@ function run_test_with_server(server, cb) {
addSources(debuggee);
threadClient.getSources(Task.async(function* (res) {
- do_check_true(res.sources.length === 3, "3 sources exist");
+ do_check_eq(res.sources.length, 3, "3 sources exist");
yield threadClient.reconfigure({ useSourceMaps: false });
threadClient.getSources(function(res) {
- do_check_true(res.sources.length === 1, "1 source exist");
+ do_check_eq(res.sources.length, 1, "1 source exist");
client.close().then(cb);
});
}));