diff options
author | wicknix <39230578+wicknix@users.noreply.github.com> | 2019-04-15 18:58:07 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-15 18:58:07 -0500 |
commit | 5a1843c9f9e323627f9c35529e6a8c853d4dbb0d (patch) | |
tree | 62de3cd7cb8a6f75e568863bb73ca2deb80d87a9 /devtools/server | |
parent | 065f6f9e5ebc1ed6cfaadaf7851b6021fa94a013 (diff) | |
parent | 095ea556855b38138e39e713f482eb440f7da9b2 (diff) | |
download | UXP-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.build | 2 | ||||
-rw-r--r-- | devtools/server/actors/stylesheets.js | 13 | ||||
-rw-r--r-- | devtools/server/actors/webbrowser.js | 18 | ||||
-rw-r--r-- | devtools/server/moz.build | 12 | ||||
-rw-r--r-- | devtools/server/nsIJSInspector.idl | 75 | ||||
-rw-r--r-- | devtools/server/nsJSInspector.cpp | 147 | ||||
-rw-r--r-- | devtools/server/nsJSInspector.h | 39 | ||||
-rw-r--r-- | devtools/server/tests/unit/test_listsources-04.js | 4 |
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); }); })); |