зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1164483 - move worker helpers from frontend of devtools to backend r=jsantell
--HG-- rename : browser/devtools/shared/test/browser_devtools-worker-01.js => toolkit/devtools/shared/tests/browser/browser_worker-01.js rename : browser/devtools/shared/test/browser_devtools-worker-02.js => toolkit/devtools/shared/tests/browser/browser_worker-02.js rename : browser/devtools/shared/test/browser_devtools-worker-03.js => toolkit/devtools/shared/tests/browser/browser_worker-03.js rename : browser/devtools/shared/worker-helper.js => toolkit/devtools/shared/worker-helper.js rename : browser/devtools/shared/worker.js => toolkit/devtools/shared/worker.js
This commit is contained in:
Родитель
d76c64571b
Коммит
6a69f31f83
|
@ -60,9 +60,7 @@ EXTRA_JS_MODULES.devtools.shared += [
|
||||||
'telemetry.js',
|
'telemetry.js',
|
||||||
'theme-switching.js',
|
'theme-switching.js',
|
||||||
'theme.js',
|
'theme.js',
|
||||||
'undo.js',
|
'undo.js'
|
||||||
'worker-helper.js',
|
|
||||||
'worker.js',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
EXTRA_JS_MODULES.devtools.shared.widgets += [
|
EXTRA_JS_MODULES.devtools.shared.widgets += [
|
||||||
|
|
|
@ -24,9 +24,6 @@ support-files =
|
||||||
[browser_cubic-bezier-04.js]
|
[browser_cubic-bezier-04.js]
|
||||||
[browser_cubic-bezier-05.js]
|
[browser_cubic-bezier-05.js]
|
||||||
[browser_cubic-bezier-06.js]
|
[browser_cubic-bezier-06.js]
|
||||||
[browser_devtools-worker-01.js]
|
|
||||||
[browser_devtools-worker-02.js]
|
|
||||||
[browser_devtools-worker-03.js]
|
|
||||||
[browser_filter-editor-01.js]
|
[browser_filter-editor-01.js]
|
||||||
[browser_filter-editor-02.js]
|
[browser_filter-editor-02.js]
|
||||||
[browser_filter-editor-03.js]
|
[browser_filter-editor-03.js]
|
||||||
|
|
|
@ -9,7 +9,7 @@ Cu.import("resource:///modules/devtools/ViewHelpers.jsm");
|
||||||
const promise = Cu.import("resource://gre/modules/Promise.jsm", {}).Promise;
|
const promise = Cu.import("resource://gre/modules/Promise.jsm", {}).Promise;
|
||||||
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
|
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
|
||||||
const {EventEmitter} = Cu.import("resource://gre/modules/devtools/event-emitter.js", {});
|
const {EventEmitter} = Cu.import("resource://gre/modules/devtools/event-emitter.js", {});
|
||||||
const {DevToolsWorker} = Cu.import("resource:///modules/devtools/shared/worker.js", {});
|
const {DevToolsWorker} = Cu.import("resource://gre/modules/devtools/shared/worker.js", {});
|
||||||
|
|
||||||
this.EXPORTED_SYMBOLS = [
|
this.EXPORTED_SYMBOLS = [
|
||||||
"GraphCursor",
|
"GraphCursor",
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Import `createTask` to communicate with `devtools/shared/worker`.
|
* Import `createTask` to communicate with `devtools/toolkit/shared/worker`.
|
||||||
*/
|
*/
|
||||||
importScripts("resource://gre/modules/workers/require.js");
|
importScripts("resource://gre/modules/workers/require.js");
|
||||||
const { createTask } = require("resource:///modules/devtools/shared/worker-helper");
|
const { createTask } = require("resource://gre/modules/devtools/shared/worker-helper");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see LineGraphWidget.prototype.setDataFromTimestamps in Graphs.jsm
|
* @see LineGraphWidget.prototype.setDataFromTimestamps in Graphs.jsm
|
||||||
|
|
|
@ -20,7 +20,7 @@ DIRS += [
|
||||||
'styleinspector',
|
'styleinspector',
|
||||||
'tern',
|
'tern',
|
||||||
'transport',
|
'transport',
|
||||||
'webconsole',
|
'webconsole'
|
||||||
]
|
]
|
||||||
|
|
||||||
MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']
|
MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']
|
||||||
|
|
|
@ -7,5 +7,7 @@
|
||||||
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
|
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
|
||||||
|
|
||||||
EXTRA_JS_MODULES.devtools.shared += [
|
EXTRA_JS_MODULES.devtools.shared += [
|
||||||
'async-storage.js'
|
'async-storage.js',
|
||||||
|
'worker-helper.js',
|
||||||
|
'worker.js'
|
||||||
]
|
]
|
||||||
|
|
|
@ -5,3 +5,6 @@ support-files =
|
||||||
../../../server/tests/browser/head.js
|
../../../server/tests/browser/head.js
|
||||||
|
|
||||||
[browser_async_storage.js]
|
[browser_async_storage.js]
|
||||||
|
[browser_worker-01.js]
|
||||||
|
[browser_worker-02.js]
|
||||||
|
[browser_worker-03.js]
|
||||||
|
|
|
@ -19,8 +19,9 @@ const DURATION = 1000;
|
||||||
|
|
||||||
add_task(function*() {
|
add_task(function*() {
|
||||||
// Test both CJS and JSM versions
|
// Test both CJS and JSM versions
|
||||||
yield testWorker("JSM", () => Cu.import("resource:///modules/devtools/shared/worker.js", {}));
|
|
||||||
yield testWorker("CommonJS", () => devtools.require("devtools/shared/worker"));
|
yield testWorker("JSM", () => Cu.import("resource://gre/modules/devtools/shared/worker.js", {}));
|
||||||
|
yield testWorker("CommonJS", () => require("devtools/toolkit/shared/worker"));
|
||||||
});
|
});
|
||||||
|
|
||||||
function *testWorker (context, workerFactory) {
|
function *testWorker (context, workerFactory) {
|
||||||
|
@ -39,6 +40,5 @@ function *testWorker (context, workerFactory) {
|
||||||
is((yield fn(5)), 25, `workerify works in ${context}`);
|
is((yield fn(5)), 25, `workerify works in ${context}`);
|
||||||
fn.destroy();
|
fn.destroy();
|
||||||
|
|
||||||
|
|
||||||
worker.destroy();
|
worker.destroy();
|
||||||
}
|
}
|
|
@ -3,7 +3,8 @@
|
||||||
|
|
||||||
// Tests errors are handled properly by the DevToolsWorker.
|
// Tests errors are handled properly by the DevToolsWorker.
|
||||||
|
|
||||||
const { DevToolsWorker } = devtools.require("devtools/shared/worker");
|
const { devtools } = Cu.import("resource://gre/modules/devtools/Loader.jsm", {});
|
||||||
|
const { DevToolsWorker } = devtools.require("devtools/toolkit/shared/worker");
|
||||||
const WORKER_URL = "resource:///modules/devtools/GraphsWorker.js";
|
const WORKER_URL = "resource:///modules/devtools/GraphsWorker.js";
|
||||||
|
|
||||||
add_task(function*() {
|
add_task(function*() {
|
|
@ -6,7 +6,7 @@
|
||||||
//
|
//
|
||||||
// And tests `workerify` by doing so.
|
// And tests `workerify` by doing so.
|
||||||
|
|
||||||
const { DevToolsWorker, workerify } = devtools.require("devtools/shared/worker");
|
const { DevToolsWorker, workerify } = require("devtools/toolkit/shared/worker");
|
||||||
function square (x) {
|
function square (x) {
|
||||||
return x * x;
|
return x * x;
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
/**
|
/**
|
||||||
* This file is to only be included by ChromeWorkers. This exposes
|
* This file is to only be included by ChromeWorkers. This exposes
|
||||||
* a `createTask` function to workers to register tasks for communication
|
* a `createTask` function to workers to register tasks for communication
|
||||||
* back to `devtools/shared/worker`.
|
* back to `devtools/toolkit/shared/worker`.
|
||||||
*
|
*
|
||||||
* Tasks can be send their responses via a return value, either a primitive
|
* Tasks can be send their responses via a return value, either a primitive
|
||||||
* or a promise.
|
* or a promise.
|
|
@ -23,7 +23,7 @@ let MESSAGE_COUNTER = 0;
|
||||||
/**
|
/**
|
||||||
* Creates a wrapper around a ChromeWorker, providing easy
|
* Creates a wrapper around a ChromeWorker, providing easy
|
||||||
* communication to offload demanding tasks. The corresponding URL
|
* communication to offload demanding tasks. The corresponding URL
|
||||||
* must implement the interface provided by `devtools/shared/worker-helper`.
|
* must implement the interface provided by `devtools/toolkit/shared/worker-helper`.
|
||||||
*
|
*
|
||||||
* @see `./browser/devtools/shared/widgets/GraphsWorker.js`
|
* @see `./browser/devtools/shared/widgets/GraphsWorker.js`
|
||||||
*
|
*
|
||||||
|
@ -81,7 +81,7 @@ DevToolsWorker.prototype.destroy = function DevToolsWorkerDestroy () {
|
||||||
/**
|
/**
|
||||||
* Takes a function and returns a Worker-wrapped version of the same function.
|
* Takes a function and returns a Worker-wrapped version of the same function.
|
||||||
* Returns a promise upon resolution.
|
* Returns a promise upon resolution.
|
||||||
* @see `./browser/devtools/shared/test/browser_devtools-worker-03.js
|
* @see `./toolkit/devtools/shared/tests/browser/browser_devtools-worker-03.js
|
||||||
*
|
*
|
||||||
* * * * ! ! ! This should only be used for tests or A/B testing performance ! ! ! * * * * * *
|
* * * * ! ! ! This should only be used for tests or A/B testing performance ! ! ! * * * * * *
|
||||||
*
|
*
|
||||||
|
@ -126,7 +126,7 @@ exports.workerify = workerify;
|
||||||
*/
|
*/
|
||||||
function createWorkerString (fn) {
|
function createWorkerString (fn) {
|
||||||
return `importScripts("resource://gre/modules/workers/require.js");
|
return `importScripts("resource://gre/modules/workers/require.js");
|
||||||
const { createTask } = require("resource:///modules/devtools/shared/worker-helper");
|
const { createTask } = require("resource://gre/modules/devtools/shared/worker-helper");
|
||||||
createTask(self, "workerifiedTask", ${fn.toString()});
|
createTask(self, "workerifiedTask", ${fn.toString()});
|
||||||
`;
|
`;
|
||||||
}
|
}
|
Загрузка…
Ссылка в новой задаче