Bug 1172897 - Rename WorkerActor to WorkerTargetActor. r=ochameau
authorJ. Ryan Stinnett <jryans@gmail.com>
Fri, 01 Jun 2018 15:59:24 -0500
changeset 478575 0a972bf5fd934b6e17be902233cf27098653a196
parent 478574 100e22c71228d0edee3184fbe9f211f5adf7de7d
child 478576 d9dfef07c68817f9678422c731af7818077fd00b
push id1757
push userffxbld-merge
push dateFri, 24 Aug 2018 17:02:43 +0000
treeherdermozilla-release@736023aebdb1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersochameau
bugs1172897
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1172897 - Rename WorkerActor to WorkerTargetActor. r=ochameau MozReview-Commit-ID: 2Qakr1PHKNZ
devtools/client/aboutdebugging/components/workers/ServiceWorkerTarget.js
devtools/client/aboutdebugging/components/workers/Target.js
devtools/client/application/src/components/Worker.js
devtools/client/debugger/debugger-controller.js
devtools/client/debugger/test/mochitest/browser.ini
devtools/client/debugger/test/mochitest/browser2.ini
devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js
devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js
devtools/client/debugger/test/mochitest/browser_dbg_WorkerTargetActor.attach.js
devtools/client/debugger/test/mochitest/browser_dbg_WorkerTargetActor.attachThread.js
devtools/client/debugger/test/mochitest/browser_dbg_worker-console-01.js
devtools/client/debugger/test/mochitest/browser_dbg_worker-console-02.js
devtools/client/debugger/test/mochitest/browser_dbg_worker-console-03.js
devtools/client/debugger/test/mochitest/browser_dbg_worker-console-04.js
devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js
devtools/client/debugger/test/mochitest/code_WorkerActor.attach-worker1.js
devtools/client/debugger/test/mochitest/code_WorkerActor.attach-worker2.js
devtools/client/debugger/test/mochitest/code_WorkerActor.attachThread-worker.js
devtools/client/debugger/test/mochitest/code_WorkerTargetActor.attach-worker1.js
devtools/client/debugger/test/mochitest/code_WorkerTargetActor.attach-worker2.js
devtools/client/debugger/test/mochitest/code_WorkerTargetActor.attachThread-worker.js
devtools/client/debugger/test/mochitest/doc_WorkerActor.attach-tab1.html
devtools/client/debugger/test/mochitest/doc_WorkerActor.attach-tab2.html
devtools/client/debugger/test/mochitest/doc_WorkerActor.attachThread-tab.html
devtools/client/debugger/test/mochitest/doc_WorkerTargetActor.attach-tab1.html
devtools/client/debugger/test/mochitest/doc_WorkerTargetActor.attach-tab2.html
devtools/client/debugger/test/mochitest/doc_WorkerTargetActor.attachThread-tab.html
devtools/client/framework/devtools-browser.js
devtools/client/framework/target.js
devtools/docs/backend/actor-hierarchy.md
devtools/server/actors/child-process.js
devtools/server/actors/moz.build
devtools/server/actors/root.js
devtools/server/actors/targets/browsing-context.js
devtools/server/actors/targets/moz.build
devtools/server/actors/targets/worker.js
devtools/server/actors/webbrowser.js
devtools/server/actors/worker.js
devtools/server/actors/worker/worker-list.js
devtools/shared/client/debugger-client.js
devtools/shared/client/root-client.js
devtools/shared/client/tab-client.js
devtools/shared/specs/index.js
devtools/shared/specs/targets/moz.build
devtools/shared/specs/targets/worker.js
devtools/shared/specs/worker/moz.build
devtools/shared/specs/worker/worker.js
devtools/shared/webconsole/test/common.js
--- a/devtools/client/aboutdebugging/components/workers/ServiceWorkerTarget.js
+++ b/devtools/client/aboutdebugging/components/workers/ServiceWorkerTarget.js
@@ -28,17 +28,17 @@ class ServiceWorkerTarget extends Compon
         active: PropTypes.bool,
         fetch: PropTypes.bool.isRequired,
         icon: PropTypes.string,
         name: PropTypes.string.isRequired,
         url: PropTypes.string,
         scope: PropTypes.string.isRequired,
         // registrationActor can be missing in e10s.
         registrationActor: PropTypes.string,
-        workerActor: PropTypes.string
+        workerTargetActor: PropTypes.string
       }).isRequired
     };
   }
 
   constructor(props) {
     super(props);
 
     this.state = {
@@ -81,30 +81,30 @@ class ServiceWorkerTarget extends Compon
 
   debug() {
     if (!this.isRunning()) {
       // If the worker is not running, we can't debug it.
       return;
     }
 
     const { client, target } = this.props;
-    gDevToolsBrowser.openWorkerToolbox(client, target.workerActor);
+    gDevToolsBrowser.openWorkerToolbox(client, target.workerTargetActor);
   }
 
   push() {
     if (!this.isActive() || !this.isRunning()) {
       // If the worker is not running, we can't push to it.
       // If the worker is not active, the registration might be unavailable and the
       // push will not succeed.
       return;
     }
 
     const { client, target } = this.props;
     client.request({
-      to: target.workerActor,
+      to: target.workerTargetActor,
       type: "push"
     });
   }
 
   start() {
     if (!this.isActive() || this.isRunning()) {
       // If the worker is not active or if it is already running, we can't start it.
       return;
@@ -144,17 +144,17 @@ class ServiceWorkerTarget extends Compon
       type: "getPushSubscription"
     }, ({ subscription }) => {
       this.setState({ pushSubscription: subscription });
     });
   }
 
   isRunning() {
     // We know the target is running if it has a worker actor.
-    return !!this.props.target.workerActor;
+    return !!this.props.target.workerTargetActor;
   }
 
   isActive() {
     return this.props.target.active;
   }
 
   getServiceWorkerStatus() {
     if (this.isActive() && this.isRunning()) {
--- a/devtools/client/aboutdebugging/components/workers/Target.js
+++ b/devtools/client/aboutdebugging/components/workers/Target.js
@@ -22,29 +22,29 @@ const Strings = Services.strings.createB
 class WorkerTarget extends Component {
   static get propTypes() {
     return {
       client: PropTypes.instanceOf(DebuggerClient).isRequired,
       debugDisabled: PropTypes.bool,
       target: PropTypes.shape({
         icon: PropTypes.string,
         name: PropTypes.string.isRequired,
-        workerActor: PropTypes.string
+        workerTargetActor: PropTypes.string
       }).isRequired
     };
   }
 
   constructor(props) {
     super(props);
     this.debug = this.debug.bind(this);
   }
 
   debug() {
     const { client, target } = this.props;
-    gDevToolsBrowser.openWorkerToolbox(client, target.workerActor);
+    gDevToolsBrowser.openWorkerToolbox(client, target.workerTargetActor);
   }
 
   render() {
     const { target, debugDisabled } = this.props;
 
     return dom.li({ className: "target-container" },
       dom.img({
         className: "target-icon",
--- a/devtools/client/application/src/components/Worker.js
+++ b/devtools/client/application/src/components/Worker.js
@@ -30,17 +30,17 @@ class Worker extends Component {
       client: PropTypes.instanceOf(DebuggerClient).isRequired,
       debugDisabled: PropTypes.bool,
       worker: PropTypes.shape({
         active: PropTypes.bool,
         name: PropTypes.string.isRequired,
         scope: PropTypes.string.isRequired,
         // registrationActor can be missing in e10s.
         registrationActor: PropTypes.string,
-        workerActor: PropTypes.string
+        workerTargetActor: PropTypes.string
       }).isRequired
     };
   }
 
   constructor(props) {
     super(props);
 
     this.debug = this.debug.bind(this);
@@ -50,17 +50,17 @@ class Worker extends Component {
 
   debug() {
     if (!this.isRunning()) {
       console.log("Service workers cannot be debugged if they are not running");
       return;
     }
 
     const { client, worker } = this.props;
-    gDevToolsBrowser.openWorkerToolbox(client, worker.workerActor);
+    gDevToolsBrowser.openWorkerToolbox(client, worker.workerTargetActor);
   }
 
   start() {
     if (!this.isActive() || this.isRunning()) {
       console.log("Running or inactive service workers cannot be started");
       return;
     }
 
@@ -76,17 +76,17 @@ class Worker extends Component {
     client.request({
       to: worker.registrationActor,
       type: "unregister"
     });
   }
 
   isRunning() {
     // We know the worker is running if it has a worker actor.
-    return !!this.props.worker.workerActor;
+    return !!this.props.worker.workerTargetActor;
   }
 
   isActive() {
     return this.props.worker.active;
   }
 
   getServiceWorkerStatus() {
     if (this.isActive() && this.isRunning()) {
--- a/devtools/client/debugger/debugger-controller.js
+++ b/devtools/client/debugger/debugger-controller.js
@@ -496,27 +496,27 @@ Workers.prototype = {
     }
 
     this._tabClient.listWorkers((response) => {
       let workerForms = Object.create(null);
       for (let worker of response.workers) {
         workerForms[worker.actor] = worker;
       }
 
-      for (let workerActor in this._workerForms) {
-        if (!(workerActor in workerForms)) {
-          DebuggerView.Workers.removeWorker(this._workerForms[workerActor]);
-          delete this._workerForms[workerActor];
+      for (let workerTargetActor in this._workerForms) {
+        if (!(workerTargetActor in workerForms)) {
+          DebuggerView.Workers.removeWorker(this._workerForms[workerTargetActor]);
+          delete this._workerForms[workerTargetActor];
         }
       }
 
-      for (let workerActor in workerForms) {
-        if (!(workerActor in this._workerForms)) {
-          let workerForm = workerForms[workerActor];
-          this._workerForms[workerActor] = workerForm;
+      for (let workerTargetActor in workerForms) {
+        if (!(workerTargetActor in this._workerForms)) {
+          let workerForm = workerForms[workerTargetActor];
+          this._workerForms[workerTargetActor] = workerForm;
           DebuggerView.Workers.addWorker(workerForm);
         }
       }
     });
   },
 
   _onWorkerListChanged: function () {
     this._updateWorkerList();
--- a/devtools/client/debugger/test/mochitest/browser.ini
+++ b/devtools/client/debugger/test/mochitest/browser.ini
@@ -47,19 +47,19 @@ support-files =
   code_ugly-5.js
   code_ugly-6.js
   code_ugly-7.js
   code_ugly-8
   code_ugly-8^headers^
   code_worker-source-map.coffee
   code_worker-source-map.js
   code_worker-source-map.js.map
-  code_WorkerActor.attach-worker1.js
-  code_WorkerActor.attach-worker2.js
-  code_WorkerActor.attachThread-worker.js
+  code_WorkerTargetActor.attach-worker1.js
+  code_WorkerTargetActor.attach-worker2.js
+  code_WorkerTargetActor.attachThread-worker.js
   doc_auto-pretty-print-01.html
   doc_auto-pretty-print-02.html
   doc_binary_search.html
   doc_blackboxing.html
   doc_blackboxing_unblackbox.html
   doc_breakpoints-break-on-last-line-of-script-on-reload.html
   doc_breakpoints-other-tabs.html
   doc_breakpoints-reload.html
@@ -116,19 +116,19 @@ support-files =
   doc_step-many-statements.html
   doc_step-out.html
   doc_terminate-on-tab-close.html
   doc_watch-expressions.html
   doc_watch-expression-button.html
   doc_whitespace-property-names.html
   doc_with-frame.html
   doc_worker-source-map.html
-  doc_WorkerActor.attach-tab1.html
-  doc_WorkerActor.attach-tab2.html
-  doc_WorkerActor.attachThread-tab.html
+  doc_WorkerTargetActor.attach-tab1.html
+  doc_WorkerTargetActor.attach-tab2.html
+  doc_WorkerTargetActor.attachThread-tab.html
   head.js
   sjs_post-page.sjs
   sjs_random-javascript.sjs
   testactors.js
   !/devtools/client/commandline/test/helpers.js
   !/devtools/client/shared/test/shared-head.js
   !/devtools/client/shared/test/telemetry-test-helpers.js
 
--- a/devtools/client/debugger/test/mochitest/browser2.ini
+++ b/devtools/client/debugger/test/mochitest/browser2.ini
@@ -47,19 +47,19 @@ support-files =
   code_ugly-5.js
   code_ugly-6.js
   code_ugly-7.js
   code_ugly-8
   code_ugly-8^headers^
   code_worker-source-map.coffee
   code_worker-source-map.js
   code_worker-source-map.js.map
-  code_WorkerActor.attach-worker1.js
-  code_WorkerActor.attach-worker2.js
-  code_WorkerActor.attachThread-worker.js
+  code_WorkerTargetActor.attach-worker1.js
+  code_WorkerTargetActor.attach-worker2.js
+  code_WorkerTargetActor.attachThread-worker.js
   doc_auto-pretty-print-01.html
   doc_auto-pretty-print-02.html
   doc_binary_search.html
   doc_blackboxing.html
   doc_blackboxing_unblackbox.html
   doc_breakpoints-break-on-last-line-of-script-on-reload.html
   doc_breakpoints-other-tabs.html
   doc_breakpoints-reload.html
@@ -116,19 +116,19 @@ support-files =
   doc_step-many-statements.html
   doc_step-out.html
   doc_terminate-on-tab-close.html
   doc_watch-expressions.html
   doc_watch-expression-button.html
   doc_whitespace-property-names.html
   doc_with-frame.html
   doc_worker-source-map.html
-  doc_WorkerActor.attach-tab1.html
-  doc_WorkerActor.attach-tab2.html
-  doc_WorkerActor.attachThread-tab.html
+  doc_WorkerTargetActor.attach-tab1.html
+  doc_WorkerTargetActor.attach-tab2.html
+  doc_WorkerTargetActor.attachThread-tab.html
   head.js
   sjs_post-page.sjs
   sjs_random-javascript.sjs
   testactors.js
   !/devtools/client/commandline/test/helpers.js
   !/devtools/client/shared/test/shared-head.js
   !/devtools/client/shared/test/telemetry-test-helpers.js
 
@@ -581,15 +581,15 @@ skip-if = e10s && debug
 skip-if = debug # bug 1334683
 [browser_dbg_worker-console-04.js]
 skip-if = e10s && debug
 [browser_dbg_worker-source-map.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_worker-window.js]
 skip-if = e10s && debug
-[browser_dbg_WorkerActor.attach.js]
+[browser_dbg_WorkerTargetActor.attach.js]
 skip-if = e10s && debug
-[browser_dbg_WorkerActor.attachThread.js]
+[browser_dbg_WorkerTargetActor.attachThread.js]
 skip-if = e10s && debug
 [browser_dbg_split-console-keypress.js]
 uses-unsafe-cpows = true
 skip-if = (debug || os == "linux") # Bug 1214439
rename from devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js
rename to devtools/client/debugger/test/mochitest/browser_dbg_WorkerTargetActor.attach.js
--- a/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attach.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_WorkerTargetActor.attach.js
@@ -1,14 +1,14 @@
 var MAX_TOTAL_VIEWERS = "browser.sessionhistory.max_total_viewers";
 
-var TAB1_URL = EXAMPLE_URL + "doc_WorkerActor.attach-tab1.html";
-var TAB2_URL = EXAMPLE_URL + "doc_WorkerActor.attach-tab2.html";
-var WORKER1_URL = "code_WorkerActor.attach-worker1.js";
-var WORKER2_URL = "code_WorkerActor.attach-worker2.js";
+var TAB1_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attach-tab1.html";
+var TAB2_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attach-tab2.html";
+var WORKER1_URL = "code_WorkerTargetActor.attach-worker1.js";
+var WORKER2_URL = "code_WorkerTargetActor.attach-worker2.js";
 
 function test() {
   Task.spawn(function* () {
     let oldMaxTotalViewers = SpecialPowers.getIntPref(MAX_TOTAL_VIEWERS);
     SpecialPowers.setIntPref(MAX_TOTAL_VIEWERS, 10);
 
     DebuggerServer.init();
     DebuggerServer.registerAllActors();
rename from devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js
rename to devtools/client/debugger/test/mochitest/browser_dbg_WorkerTargetActor.attachThread.js
--- a/devtools/client/debugger/test/mochitest/browser_dbg_WorkerActor.attachThread.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_WorkerTargetActor.attachThread.js
@@ -1,10 +1,10 @@
-var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
-var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
+var TAB_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attachThread-tab.html";
+var WORKER_URL = "code_WorkerTargetActor.attachThread-worker.js";
 
 function test() {
   Task.spawn(function* () {
     DebuggerServer.init();
     DebuggerServer.registerAllActors();
 
     let client1 = new DebuggerClient(DebuggerServer.connectPipe());
     yield connect(client1);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-01.js
@@ -1,13 +1,13 @@
 // Check to make sure that a worker can be attached to a toolbox
 // and that the console works.
 
-var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
-var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
+var TAB_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attachThread-tab.html";
+var WORKER_URL = "code_WorkerTargetActor.attachThread-worker.js";
 
 add_task(async function testNormalExecution() {
   let {client, tab, tabClient, workerClient, toolbox, gDebugger} =
     await initWorkerDebugger(TAB_URL, WORKER_URL);
 
   let jsterm = await getSplitConsole(toolbox);
   let executed = await jsterm.execute("this.location.toString()");
   ok(executed.textContent.includes(WORKER_URL),
--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-02.js
@@ -1,13 +1,13 @@
 // Check to make sure that a worker can be attached to a toolbox
 // and that the console works.
 
-var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
-var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
+var TAB_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attachThread-tab.html";
+var WORKER_URL = "code_WorkerTargetActor.attachThread-worker.js";
 
 add_task(async function testWhilePaused() {
   let {client, tab, tabClient, workerClient, toolbox, gDebugger} =
     await initWorkerDebugger(TAB_URL, WORKER_URL);
 
   let gTarget = gDebugger.gTarget;
   let gResumeButton = gDebugger.document.getElementById("resume");
   let gResumeKey = gDebugger.document.getElementById("resumeKey");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-03.js
@@ -1,13 +1,13 @@
 // Check to make sure that a worker can be attached to a toolbox
 // and that the console works.
 
-var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
-var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
+var TAB_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attachThread-tab.html";
+var WORKER_URL = "code_WorkerTargetActor.attachThread-worker.js";
 
 // Test to see if creating the pause from the console works.
 add_task(async function testPausedByConsole() {
   let {client, tab, tabClient, workerClient, toolbox, gDebugger} =
     await initWorkerDebugger(TAB_URL, WORKER_URL);
 
   let gTarget = gDebugger.gTarget;
   let gResumeButton = gDebugger.document.getElementById("resume");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-console-04.js
@@ -2,18 +2,18 @@
 
 "use strict";
 
 // There are shutdown issues for which multiple rejections are left uncaught.
 // See bug 1018184 for resolving these issues.
 const { PromiseTestUtils } = scopedCuImport("resource://testing-common/PromiseTestUtils.jsm");
 PromiseTestUtils.whitelistRejectionsGlobally(/connection just closed/);
 
-const TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
-const WORKER_URL = "code_WorkerActor.attachThread-worker.js";
+const TAB_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attachThread-tab.html";
+const WORKER_URL = "code_WorkerTargetActor.attachThread-worker.js";
 
 add_task(async function testPausedByConsole() {
   let {client, tab, workerClient, toolbox} =
     await initWorkerDebugger(TAB_URL, WORKER_URL);
 
   info("Check Date objects can be used in the console");
   let jsterm = await getSplitConsole(toolbox);
   let executed = await jsterm.execute("new Date(0)");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-window.js
@@ -3,18 +3,18 @@
 
 "use strict";
 
 // The following "connectionClosed" rejection should not be left uncaught. This
 // test has been whitelisted until the issue is fixed.
 ChromeUtils.import("resource://testing-common/PromiseTestUtils.jsm", this);
 PromiseTestUtils.expectUncaughtRejection(/[object Object]/);
 
-var TAB_URL = EXAMPLE_URL + "doc_WorkerActor.attachThread-tab.html";
-var WORKER_URL = "code_WorkerActor.attachThread-worker.js";
+var TAB_URL = EXAMPLE_URL + "doc_WorkerTargetActor.attachThread-tab.html";
+var WORKER_URL = "code_WorkerTargetActor.attachThread-worker.js";
 
 add_task(async function() {
   await pushPrefs(["devtools.scratchpad.enabled", true]);
 
   DebuggerServer.init();
   DebuggerServer.registerAllActors();
 
   let client = new DebuggerClient(DebuggerServer.connectPipe());
rename from devtools/client/debugger/test/mochitest/code_WorkerActor.attach-worker1.js
rename to devtools/client/debugger/test/mochitest/code_WorkerTargetActor.attach-worker1.js
rename from devtools/client/debugger/test/mochitest/code_WorkerActor.attach-worker2.js
rename to devtools/client/debugger/test/mochitest/code_WorkerTargetActor.attach-worker2.js
rename from devtools/client/debugger/test/mochitest/code_WorkerActor.attachThread-worker.js
rename to devtools/client/debugger/test/mochitest/code_WorkerTargetActor.attachThread-worker.js
rename from devtools/client/debugger/test/mochitest/doc_WorkerActor.attach-tab1.html
rename to devtools/client/debugger/test/mochitest/doc_WorkerTargetActor.attach-tab1.html
rename from devtools/client/debugger/test/mochitest/doc_WorkerActor.attach-tab2.html
rename to devtools/client/debugger/test/mochitest/doc_WorkerTargetActor.attach-tab2.html
rename from devtools/client/debugger/test/mochitest/doc_WorkerActor.attachThread-tab.html
rename to devtools/client/debugger/test/mochitest/doc_WorkerTargetActor.attachThread-tab.html
--- a/devtools/client/framework/devtools-browser.js
+++ b/devtools/client/framework/devtools-browser.js
@@ -367,21 +367,21 @@ var gDevToolsBrowser = exports.gDevTools
     return Promise.reject(msg);
   },
 
   /**
    * Open a window-hosted toolbox to debug the worker associated to the provided
    * worker actor.
    *
    * @param  {DebuggerClient} client
-   * @param  {Object} workerActor
+   * @param  {Object} workerTargetActor
    *         worker actor form to debug
    */
-  openWorkerToolbox(client, workerActor) {
-    client.attachWorker(workerActor, (response, workerClient) => {
+  openWorkerToolbox(client, workerTargetActor) {
+    client.attachWorker(workerTargetActor, (response, workerClient) => {
       const workerTarget = TargetFactory.forWorker(workerClient);
       gDevTools.showToolbox(workerTarget, null, Toolbox.HostType.WINDOW)
         .then(toolbox => {
           toolbox.once("destroy", () => workerClient.detach());
         });
     });
   },
 
--- a/devtools/client/framework/target.js
+++ b/devtools/client/framework/target.js
@@ -808,17 +808,17 @@ WorkerTarget.prototype = {
     return this._workerClient.client;
   },
 
   destroy: function() {
     this._workerClient.detach();
   },
 
   hasActor: function(name) {
-    // console is the only one actor implemented by WorkerActor
+    // console is the only one actor implemented by WorkerTargetActor
     if (name == "console") {
       return true;
     }
     return false;
   },
 
   getTrait: function() {
     return undefined;
--- a/devtools/docs/backend/actor-hierarchy.md
+++ b/devtools/docs/backend/actor-hierarchy.md
@@ -21,17 +21,17 @@ RootActor: First one, automatically inst
    |
    \-- Target actors:
        Actors that represent the main "thing" being targeted by a given toolbox,
        such as a tab, frame, worker, add-on, etc. and track its lifetime.
        Generally, there is a target actor for each thing you can point a
        toolbox at.
        Examples include:
        FrameTargetActor (for a frame, such as a tab)
-       WorkerActor (for various kind of workers)
+       WorkerTargetActor (for various kind of workers)
        |
        \-- Tab-scoped actors:
            Actors exposing one particular feature set. They are children of a
            given target actor and the data they return is filtered to reflect
            the target.
            These actors are registered with `tab: true` in
            devtools/server/main.js.
            Examples include:
@@ -62,17 +62,17 @@ RootActor (root.js)
    |   |
    |   \-- FrameTargetActor (frame.js)
    |       The "real" target actor for a frame (such as a tab) which runs in
    |       whichever process holds the content. FrameTargetActorProxy
    |       communicates with this via the frame's message manager.
    |       Extends the abstract class BrowsingContextTargetActor.
    |       Returned by "connect" on FrameTargetActorProxy.
    |
-   |-- WorkerActor (worker.js)
+   |-- WorkerTargetActor (worker.js)
    |   Targets a worker (applies to various kinds like web worker, service
    |   worker, etc.).
    |   Returned by "listWorkers" request to the root actor to get all workers.
    |   Returned by "listWorkers" request to a FrameTargetActorProxy to get
    |   workers for a specific frame.
    |   Returned by "listWorkers" request to a ChildProcessActor to get workers
    |   for the chrome of the child process.
    |
--- a/devtools/server/actors/child-process.js
+++ b/devtools/server/actors/child-process.js
@@ -9,17 +9,17 @@ const Services = require("Services");
 
 const { ChromeDebuggerActor } = require("devtools/server/actors/thread");
 const { WebConsoleActor } = require("devtools/server/actors/webconsole");
 const makeDebugger = require("devtools/server/actors/utils/make-debugger");
 const { ActorPool } = require("devtools/server/main");
 const { assert } = require("devtools/shared/DevToolsUtils");
 const { TabSources } = require("./utils/TabSources");
 
-loader.lazyRequireGetter(this, "WorkerActorList", "devtools/server/actors/worker/worker-list", true);
+loader.lazyRequireGetter(this, "WorkerTargetActorList", "devtools/server/actors/worker/worker-list", true);
 
 function ChildProcessActor(connection) {
   this.conn = connection;
   this._contextPool = new ActorPool(this.conn);
   this.conn.addActorPool(this._contextPool);
   this.threadActor = null;
 
   // Use a see-everything debugger
@@ -50,17 +50,17 @@ function ChildProcessActor(connection) {
   const systemPrincipal = Cc["@mozilla.org/systemprincipal;1"]
     .createInstance(Ci.nsIPrincipal);
   const sandbox = Cu.Sandbox(systemPrincipal, {
     sandboxPrototype,
   });
   this._consoleScope = sandbox;
 
   this._workerList = null;
-  this._workerActorPool = null;
+  this._workerTargetActorPool = null;
   this._onWorkerListChanged = this._onWorkerListChanged.bind(this);
 }
 exports.ChildProcessActor = ChildProcessActor;
 
 ChildProcessActor.prototype = {
   actorPrefix: "process",
 
   get isRootActor() {
@@ -109,27 +109,27 @@ ChildProcessActor.prototype = {
         highlightable: false,
         networkMonitor: false,
       },
     };
   },
 
   onListWorkers: function() {
     if (!this._workerList) {
-      this._workerList = new WorkerActorList(this.conn, {});
+      this._workerList = new WorkerTargetActorList(this.conn, {});
     }
     return this._workerList.getList().then(actors => {
       const pool = new ActorPool(this.conn);
       for (const actor of actors) {
         pool.addActor(actor);
       }
 
-      this.conn.removeActorPool(this._workerActorPool);
-      this._workerActorPool = pool;
-      this.conn.addActorPool(this._workerActorPool);
+      this.conn.removeActorPool(this._workerTargetActorPool);
+      this._workerTargetActorPool = pool;
+      this.conn.addActorPool(this._workerTargetActorPool);
 
       this._workerList.onListChanged = this._onWorkerListChanged;
 
       return {
         "from": this.actorID,
         "workers": actors.map(actor => actor.form())
       };
     });
--- a/devtools/server/actors/moz.build
+++ b/devtools/server/actors/moz.build
@@ -68,17 +68,16 @@ DevToolsModules(
     'webaudio.js',
     'webbrowser.js',
     'webconsole.js',
     'webextension-inspected-window.js',
     'webextension-parent.js',
     'webextension.js',
     'webgl.js',
     'window.js',
-    'worker.js',
 )
 
 with Files('animation.js'):
     BUG_COMPONENT = ('Firefox', 'Developer Tools: Animation Inspector')
 
 with Files('breakpoint.js'):
     BUG_COMPONENT = ('Firefox', 'Developer Tools: Debugger')
 
--- a/devtools/server/actors/root.js
+++ b/devtools/server/actors/root.js
@@ -430,19 +430,19 @@ RootActor.prototype = {
     workerList.onListChanged = this._onWorkerListChanged;
 
     return workerList.getList().then(actors => {
       const pool = new ActorPool(this.conn);
       for (const actor of actors) {
         pool.addActor(actor);
       }
 
-      this.conn.removeActorPool(this._workerActorPool);
-      this._workerActorPool = pool;
-      this.conn.addActorPool(this._workerActorPool);
+      this.conn.removeActorPool(this._workerTargetActorPool);
+      this._workerTargetActorPool = pool;
+      this.conn.addActorPool(this._workerTargetActorPool);
 
       return {
         "from": this.actorID,
         "workers": actors.map(actor => actor.form())
       };
     });
   },
 
--- a/devtools/server/actors/targets/browsing-context.js
+++ b/devtools/server/actors/targets/browsing-context.js
@@ -34,17 +34,17 @@ const InspectorUtils = require("Inspecto
 
 const EXTENSION_CONTENT_JSM = "resource://gre/modules/ExtensionContent.jsm";
 
 const { ActorClassWithSpec, Actor } = require("devtools/shared/protocol");
 const { browsingContextTargetSpec } = require("devtools/shared/specs/targets/browsing-context");
 
 loader.lazyRequireGetter(this, "ThreadActor", "devtools/server/actors/thread", true);
 loader.lazyRequireGetter(this, "unwrapDebuggerObjectGlobal", "devtools/server/actors/thread", true);
-loader.lazyRequireGetter(this, "WorkerActorList", "devtools/server/actors/worker/worker-list", true);
+loader.lazyRequireGetter(this, "WorkerTargetActorList", "devtools/server/actors/worker/worker-list", true);
 loader.lazyImporter(this, "ExtensionContent", EXTENSION_CONTENT_JSM);
 
 loader.lazyRequireGetter(this, "StyleSheetActor", "devtools/server/actors/stylesheets", true);
 loader.lazyRequireGetter(this, "getSheetText", "devtools/server/actors/stylesheets", true);
 
 function getWindowID(window) {
   return window.QueryInterface(Ci.nsIInterfaceRequestor)
                .getInterface(Ci.nsIDOMWindowUtils)
@@ -244,19 +244,20 @@ const browsingContextTargetPrototype = {
       frames: true,
       // Do not require to send reconfigure request to reset the document state
       // to what it was before using the actor
       noTabReconfigureOnClose: true,
       // Supports the logInPage request.
       logInPage: true,
     };
 
-    this._workerActorList = null;
-    this._workerActorPool = null;
-    this._onWorkerActorListChanged = this._onWorkerActorListChanged.bind(this);
+    this._workerTargetActorList = null;
+    this._workerTargetActorPool = null;
+    this._onWorkerTargetActorListChanged =
+      this._onWorkerTargetActorListChanged.bind(this);
   },
 
   traits: null,
 
   // Optional console API listener options (e.g. used by the WebExtensionActor to
   // filter console messages by addonID), set to an empty (no options) object by default.
   consoleAPIListenerOptions: {},
 
@@ -652,34 +653,34 @@ const browsingContextTargetPrototype = {
     return { frames: windows };
   },
 
   listWorkers(request) {
     if (!this.attached) {
       return { error: "wrongState" };
     }
 
-    if (this._workerActorList === null) {
-      this._workerActorList = new WorkerActorList(this.conn, {
+    if (this._workerTargetActorList === null) {
+      this._workerTargetActorList = new WorkerTargetActorList(this.conn, {
         type: Ci.nsIWorkerDebugger.TYPE_DEDICATED,
         window: this.window
       });
     }
 
-    return this._workerActorList.getList().then((actors) => {
+    return this._workerTargetActorList.getList().then((actors) => {
       const pool = new ActorPool(this.conn);
       for (const actor of actors) {
         pool.addActor(actor);
       }
 
-      this.conn.removeActorPool(this._workerActorPool);
-      this._workerActorPool = pool;
-      this.conn.addActorPool(this._workerActorPool);
+      this.conn.removeActorPool(this._workerTargetActorPool);
+      this._workerTargetActorPool = pool;
+      this.conn.addActorPool(this._workerTargetActorPool);
 
-      this._workerActorList.onListChanged = this._onWorkerActorListChanged;
+      this._workerTargetActorList.onListChanged = this._onWorkerTargetActorListChanged;
 
       return {
         "from": this.actorID,
         "workers": actors.map((actor) => actor.form())
       };
     });
   },
 
@@ -688,18 +689,18 @@ const browsingContextTargetPrototype = {
     const scriptErrorClass = Cc["@mozilla.org/scripterror;1"];
     const scriptError = scriptErrorClass.createInstance(Ci.nsIScriptError);
     scriptError.initWithWindowID(text, null, null, 0, 0, flags,
                                  category, getInnerId(this.window));
     Services.console.logMessage(scriptError);
     return {};
   },
 
-  _onWorkerActorListChanged() {
-    this._workerActorList.onListChanged = null;
+  _onWorkerTargetActorListChanged() {
+    this._workerTargetActorList.onListChanged = null;
     this.conn.sendActorEvent(this.actorID, "workerListChanged");
   },
 
   observe(subject, topic, data) {
     // Ignore any event that comes before/after the actor is attached.
     // That typically happens during Firefox shutdown.
     if (!this.attached) {
       return;
@@ -930,24 +931,24 @@ const browsingContextTargetPrototype = {
     this.conn.removeActorPool(this._tabPool);
     this._tabPool = null;
     if (this._tabActorPool) {
       this.conn.removeActorPool(this._tabActorPool);
       this._tabActorPool = null;
     }
 
     // Make sure that no more workerListChanged notifications are sent.
-    if (this._workerActorList !== null) {
-      this._workerActorList.onListChanged = null;
-      this._workerActorList = null;
+    if (this._workerTargetActorList !== null) {
+      this._workerTargetActorList.onListChanged = null;
+      this._workerTargetActorList = null;
     }
 
-    if (this._workerActorPool !== null) {
-      this.conn.removeActorPool(this._workerActorPool);
-      this._workerActorPool = null;
+    if (this._workerTargetActorPool !== null) {
+      this.conn.removeActorPool(this._workerTargetActorPool);
+      this._workerTargetActorPool = null;
     }
 
     this._attached = false;
 
     this.conn.send({ from: this.actorID,
                      type: "tabDetached" });
 
     return true;
--- a/devtools/server/actors/targets/moz.build
+++ b/devtools/server/actors/targets/moz.build
@@ -3,9 +3,10 @@
 # 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/.
 
 DevToolsModules(
     'browsing-context.js',
     'frame-proxy.js',
     'frame.js',
+    'worker.js',
 )
rename from devtools/server/actors/worker.js
rename to devtools/server/actors/targets/worker.js
--- a/devtools/server/actors/worker.js
+++ b/devtools/server/actors/targets/worker.js
@@ -1,30 +1,36 @@
 /* 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/. */
 
 "use strict";
 
+/*
+ * Target actor for any of the various kinds of workers.
+ *
+ * See devtools/docs/backend/actor-hierarchy.md for more details.
+ */
+
 const { Ci } = require("chrome");
 const ChromeUtils = require("ChromeUtils");
 const { DebuggerServer } = require("devtools/server/main");
 const { XPCOMUtils } = require("resource://gre/modules/XPCOMUtils.jsm");
 const protocol = require("devtools/shared/protocol");
-const { workerSpec } = require("devtools/shared/specs/worker/worker");
+const { workerTargetSpec } = require("devtools/shared/specs/targets/worker");
 
 loader.lazyRequireGetter(this, "ChromeUtils");
 
 XPCOMUtils.defineLazyServiceGetter(
   this, "swm",
   "@mozilla.org/serviceworkers/manager;1",
   "nsIServiceWorkerManager"
 );
 
-const WorkerActor = protocol.ActorClassWithSpec(workerSpec, {
+const WorkerTargetActor = protocol.ActorClassWithSpec(workerTargetSpec, {
   initialize(conn, dbg) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this._dbg = dbg;
     this._attached = false;
     this._threadActor = null;
     this._transport = null;
   },
 
@@ -174,9 +180,9 @@ const WorkerActor = protocol.ActorClassW
       }
     }
 
     this._dbg.removeListener(this);
     this._attached = false;
   }
 });
 
-exports.WorkerActor = WorkerActor;
+exports.WorkerTargetActor = WorkerTargetActor;
--- a/devtools/server/actors/webbrowser.js
+++ b/devtools/server/actors/webbrowser.js
@@ -10,17 +10,17 @@ var { Ci } = require("chrome");
 var Services = require("Services");
 var { DebuggerServer } = require("devtools/server/main");
 var DevToolsUtils = require("devtools/shared/DevToolsUtils");
 
 loader.lazyRequireGetter(this, "RootActor", "devtools/server/actors/root", true);
 loader.lazyRequireGetter(this, "FrameTargetActorProxy", "devtools/server/actors/targets/frame-proxy", true);
 loader.lazyRequireGetter(this, "BrowserAddonActor", "devtools/server/actors/addon", true);
 loader.lazyRequireGetter(this, "WebExtensionParentActor", "devtools/server/actors/webextension-parent", true);
-loader.lazyRequireGetter(this, "WorkerActorList", "devtools/server/actors/worker/worker-list", true);
+loader.lazyRequireGetter(this, "WorkerTargetActorList", "devtools/server/actors/worker/worker-list", true);
 loader.lazyRequireGetter(this, "ServiceWorkerRegistrationActorList", "devtools/server/actors/worker/worker-list", true);
 loader.lazyRequireGetter(this, "ProcessActorList", "devtools/server/actors/process", true);
 loader.lazyImporter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");
 
 /**
  * Browser-specific actors.
  */
 
@@ -69,17 +69,17 @@ exports.sendShutdownEvent = sendShutdown
  *
  * * @param connection DebuggerServerConnection
  *          The conection to the client.
  */
 function createRootActor(connection) {
   return new RootActor(connection, {
     tabList: new BrowserTabList(connection),
     addonList: new BrowserAddonList(connection),
-    workerList: new WorkerActorList(connection, {}),
+    workerList: new WorkerTargetActorList(connection, {}),
     serviceWorkerRegistrationList:
       new ServiceWorkerRegistrationActorList(connection),
     processList: new ProcessActorList(),
     globalActorFactories: DebuggerServer.globalActorFactories,
     onShutdown: sendShutdownEvent
   });
 }
 
--- a/devtools/server/actors/worker/worker-list.js
+++ b/devtools/server/actors/worker/worker-list.js
@@ -1,17 +1,17 @@
 /* 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/. */
 
 "use strict";
 
 const { Ci } = require("chrome");
 const { XPCOMUtils } = require("resource://gre/modules/XPCOMUtils.jsm");
-loader.lazyRequireGetter(this, "WorkerActor", "devtools/server/actors/worker", true);
+loader.lazyRequireGetter(this, "WorkerTargetActor", "devtools/server/actors/targets/worker", true);
 loader.lazyRequireGetter(this, "ServiceWorkerRegistrationActor", "devtools/server/actors/worker/service-worker", true);
 
 XPCOMUtils.defineLazyServiceGetter(
   this, "wdm",
   "@mozilla.org/dom/workers/workerdebuggermanager;1",
   "nsIWorkerDebuggerManager"
 );
 
@@ -34,27 +34,27 @@ function matchWorkerDebugger(dbg, option
     if (window !== options.window) {
       return false;
     }
   }
 
   return true;
 }
 
-function WorkerActorList(conn, options) {
+function WorkerTargetActorList(conn, options) {
   this._conn = conn;
   this._options = options;
   this._actors = new Map();
   this._onListChanged = null;
   this._mustNotify = false;
   this.onRegister = this.onRegister.bind(this);
   this.onUnregister = this.onUnregister.bind(this);
 }
 
-WorkerActorList.prototype = {
+WorkerTargetActorList.prototype = {
   getList() {
     // Create a set of debuggers.
     const dbgs = new Set();
     const e = wdm.getWorkerDebuggerEnumerator();
     while (e.hasMoreElements()) {
       const dbg = e.getNext().QueryInterface(Ci.nsIWorkerDebugger);
       if (matchWorkerDebugger(dbg, this._options)) {
         dbgs.add(dbg);
@@ -66,17 +66,17 @@ WorkerActorList.prototype = {
       if (!dbgs.has(dbg)) {
         this._actors.delete(dbg);
       }
     }
 
     // Create an actor for each debugger for which we don't have one.
     for (const dbg of dbgs) {
       if (!this._actors.has(dbg)) {
-        this._actors.set(dbg, new WorkerActor(this._conn, dbg));
+        this._actors.set(dbg, new WorkerTargetActor(this._conn, dbg));
       }
     }
 
     const actors = [];
     for (const [, actor] of this._actors) {
       actors.push(actor);
     }
 
@@ -130,17 +130,17 @@ WorkerActorList.prototype = {
 
   onUnregister(dbg) {
     if (matchWorkerDebugger(dbg, this._options)) {
       this._notifyListChanged();
     }
   }
 };
 
-exports.WorkerActorList = WorkerActorList;
+exports.WorkerTargetActorList = WorkerTargetActorList;
 
 function ServiceWorkerRegistrationActorList(conn) {
   this._conn = conn;
   this._actors = new Map();
   this._onListChanged = null;
   this._mustNotify = false;
   this.onRegister = this.onRegister.bind(this);
   this.onUnregister = this.onUnregister.bind(this);
--- a/devtools/shared/client/debugger-client.js
+++ b/devtools/shared/client/debugger-client.js
@@ -357,29 +357,29 @@ DebuggerClient.prototype = {
         tabClient = new TabClient(this, response);
         this.registerClient(tabClient);
       }
       onResponse(response, tabClient);
       return [response, tabClient];
     });
   },
 
-  attachWorker: function(workerActor, onResponse = noop) {
-    let workerClient = this._clients.get(workerActor);
+  attachWorker: function(workerTargetActor, onResponse = noop) {
+    let workerClient = this._clients.get(workerTargetActor);
     if (workerClient !== undefined) {
       const response = {
         from: workerClient.actor,
         type: "attached",
         url: workerClient.url
       };
       DevToolsUtils.executeSoon(() => onResponse(response, workerClient));
       return promise.resolve([response, workerClient]);
     }
 
-    return this.request({ to: workerActor, type: "attach" }).then(response => {
+    return this.request({ to: workerTargetActor, type: "attach" }).then(response => {
       if (response.error) {
         onResponse(response, null);
         return [response, null];
       }
 
       workerClient = new WorkerClient(this, response);
       this.registerClient(workerClient);
       onResponse(response, workerClient);
--- a/devtools/shared/client/root-client.js
+++ b/devtools/shared/client/root-client.js
@@ -96,19 +96,19 @@ RootClient.prototype = {
    * registrations and workers, this method will combine this information to present a
    * unified array of serviceWorkers. If you are only interested in other workers, use
    * listWorkers.
    *
    * @return {Object}
    *         - {Array} service
    *           array of form-like objects for serviceworkers
    *         - {Array} shared
-   *           Array of WorkerActor forms, containing shared workers.
+   *           Array of WorkerTargetActor forms, containing shared workers.
    *         - {Array} other
-   *           Array of WorkerActor forms, containing other workers.
+   *           Array of WorkerTargetActor forms, containing other workers.
    */
   listAllWorkers: async function() {
     let registrations = [];
     let workers = [];
 
     try {
       // List service worker registrations
       ({ registrations } = await this.listServiceWorkerRegistrations());
@@ -152,28 +152,28 @@ RootClient.prototype = {
         lastUpdateTime: form.lastUpdateTime
       });
     });
 
     workers.forEach(form => {
       const worker = {
         name: form.url,
         url: form.url,
-        workerActor: form.actor
+        workerTargetActor: form.actor
       };
       switch (form.type) {
         case Ci.nsIWorkerDebugger.TYPE_SERVICE:
           const registration = result.service.find(r => r.scope === form.scope);
           if (registration) {
             // XXX: Race, sometimes a ServiceWorkerRegistrationInfo doesn't
             // have a scriptSpec, but its associated WorkerDebugger does.
             if (!registration.url) {
               registration.name = registration.url = form.url;
             }
-            registration.workerActor = form.actor;
+            registration.workerTargetActor = form.actor;
           } else {
             worker.fetch = form.fetch;
 
             // If a service worker registration could not be found, this means we are in
             // e10s, and registrations are not forwarded to other processes until they
             // reach the activated state. Augment the worker as a registration worker to
             // display it in aboutdebugging.
             worker.scope = form.scope;
--- a/devtools/shared/client/tab-client.js
+++ b/devtools/shared/client/tab-client.js
@@ -147,16 +147,16 @@ TabClient.prototype = {
     type: "reconfigure",
     options: arg(0)
   }),
 
   listWorkers: DebuggerClient.requester({
     type: "listWorkers"
   }),
 
-  attachWorker: function(workerActor, onResponse) {
-    return this.client.attachWorker(workerActor, onResponse);
+  attachWorker: function(workerTargetActor, onResponse) {
+    return this.client.attachWorker(workerTargetActor, onResponse);
   },
 };
 
 eventSource(TabClient.prototype);
 
 module.exports = TabClient;
--- a/devtools/shared/specs/index.js
+++ b/devtools/shared/specs/index.js
@@ -220,16 +220,21 @@ const Types = exports.__TypesForTests = 
     front: null,
   },
   {
     types: ["frameTarget"],
     spec: "devtools/shared/specs/targets/frame",
     front: null,
   },
   {
+    types: ["workerTarget"],
+    spec: "devtools/shared/specs/targets/worker",
+    front: null,
+  },
+  {
     types: ["timeline"],
     spec: "devtools/shared/specs/timeline",
     front: "devtools/shared/fronts/timeline",
   },
   {
     types: ["audionode", "webaudio"],
     spec: "devtools/shared/specs/webaudio",
     front: "devtools/shared/fronts/webaudio",
@@ -254,21 +259,16 @@ const Types = exports.__TypesForTests = 
     spec: "devtools/shared/specs/webgl",
     front: "devtools/shared/fronts/webgl",
   },
   {
     types: ["pushSubscription", "serviceWorkerRegistration", "serviceWorker"],
     spec: "devtools/shared/specs/worker/service-worker",
     front: null,
   },
-  {
-    types: ["worker"],
-    spec: "devtools/shared/specs/worker/worker",
-    front: null,
-  },
 ];
 
 const lazySpecs = new Map();
 const lazyFronts = new Map();
 
 // Convert the human readable `Types` list into efficient maps
 Types.forEach(item => {
   item.types.forEach(type => {
--- a/devtools/shared/specs/targets/moz.build
+++ b/devtools/shared/specs/targets/moz.build
@@ -2,9 +2,10 @@
 # vim: set filetype=python:
 # 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/.
 
 DevToolsModules(
     'browsing-context.js',
     'frame.js',
+    'worker.js',
 )
rename from devtools/shared/specs/worker/worker.js
rename to devtools/shared/specs/targets/worker.js
--- a/devtools/shared/specs/worker/worker.js
+++ b/devtools/shared/specs/targets/worker.js
@@ -1,17 +1,17 @@
 /* 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/. */
 "use strict";
 
 const {Arg, RetVal, generateActorSpec} = require("devtools/shared/protocol");
 
-const workerSpec = generateActorSpec({
-  typeName: "worker",
+const workerTargetSpec = generateActorSpec({
+  typeName: "workerTarget",
 
   methods: {
     attach: {
       request: {},
       response: RetVal("json")
     },
     detach: {
       request: {},
@@ -25,9 +25,9 @@ const workerSpec = generateActorSpec({
     },
     push: {
       request: {},
       response: RetVal("json")
     },
   },
 });
 
-exports.workerSpec = workerSpec;
+exports.workerTargetSpec = workerTargetSpec;
--- a/devtools/shared/specs/worker/moz.build
+++ b/devtools/shared/specs/worker/moz.build
@@ -1,10 +1,9 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 DevToolsModules(
     'service-worker.js',
-    'worker.js',
 )
--- a/devtools/shared/webconsole/test/common.js
+++ b/devtools/shared/webconsole/test/common.js
@@ -100,23 +100,24 @@ var _attachConsole = async function(
     const worker = new Worker(workerName);
     // Keep a strong reference to the Worker to avoid it being
     // GCd during the test (bug 1237492).
     // eslint-disable-next-line camelcase
     state._worker_ref = worker;
     await waitForMessage(worker);
 
     const { workers } = await tabClient.listWorkers();
-    const workerActor = workers.filter(w => w.url == workerName)[0].actor;
-    if (!workerActor) {
+    const workerTargetActor = workers.filter(w => w.url == workerName)[0].actor;
+    if (!workerTargetActor) {
       console.error("listWorkers failed. Unable to find the " +
                     "worker actor\n");
       return;
     }
-    const [workerResponse, workerClient] = await tabClient.attachWorker(workerActor);
+    const [workerResponse, workerClient] =
+      await tabClient.attachWorker(workerTargetActor);
     if (!workerClient || workerResponse.error) {
       console.error("attachWorker failed. No worker client or " +
                     " error: " + workerResponse.error);
       return;
     }
     await workerClient.attachThread({});
     state.actor = workerClient.consoleActor;
     state.dbgClient.attachConsole(workerClient.consoleActor, listeners,