зеркало из 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',
|
||||
'theme-switching.js',
|
||||
'theme.js',
|
||||
'undo.js',
|
||||
'worker-helper.js',
|
||||
'worker.js',
|
||||
'undo.js'
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.devtools.shared.widgets += [
|
||||
|
|
|
@ -24,9 +24,6 @@ support-files =
|
|||
[browser_cubic-bezier-04.js]
|
||||
[browser_cubic-bezier-05.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-02.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 {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
|
||||
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 = [
|
||||
"GraphCursor",
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
"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");
|
||||
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
|
||||
|
|
|
@ -20,7 +20,7 @@ DIRS += [
|
|||
'styleinspector',
|
||||
'tern',
|
||||
'transport',
|
||||
'webconsole',
|
||||
'webconsole'
|
||||
]
|
||||
|
||||
MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']
|
||||
|
|
|
@ -7,5 +7,7 @@
|
|||
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
|
||||
|
||||
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
|
||||
|
||||
[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*() {
|
||||
// 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) {
|
||||
|
@ -34,11 +35,10 @@ function *testWorker (context, workerFactory) {
|
|||
|
||||
ok(results.plottedData.length,
|
||||
`worker should have returned an object with array properties in ${context}`);
|
||||
|
||||
|
||||
let fn = workerify(function (x) { return x * x });
|
||||
is((yield fn(5)), 25, `workerify works in ${context}`);
|
||||
fn.destroy();
|
||||
|
||||
|
||||
worker.destroy();
|
||||
}
|
|
@ -3,7 +3,8 @@
|
|||
|
||||
// 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";
|
||||
|
||||
add_task(function*() {
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
// 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) {
|
||||
return x * x;
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
/**
|
||||
* This file is to only be included by ChromeWorkers. This exposes
|
||||
* 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
|
||||
* or a promise.
|
|
@ -23,7 +23,7 @@ let MESSAGE_COUNTER = 0;
|
|||
/**
|
||||
* Creates a wrapper around a ChromeWorker, providing easy
|
||||
* 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`
|
||||
*
|
||||
|
@ -81,7 +81,7 @@ DevToolsWorker.prototype.destroy = function DevToolsWorkerDestroy () {
|
|||
/**
|
||||
* Takes a function and returns a Worker-wrapped version of the same function.
|
||||
* 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 ! ! ! * * * * * *
|
||||
*
|
||||
|
@ -126,7 +126,7 @@ exports.workerify = workerify;
|
|||
*/
|
||||
function createWorkerString (fn) {
|
||||
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()});
|
||||
`;
|
||||
}
|
Загрузка…
Ссылка в новой задаче