mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 09:45:41 +00:00
Bug 1278405 - Decouple the DirectorRegistryFront from the DirectorRegistryActor; r=ejpbruel
This commit is contained in:
parent
cb37130245
commit
6d367104ff
@ -7,10 +7,11 @@
|
||||
"use strict";
|
||||
|
||||
const protocol = require("devtools/shared/protocol");
|
||||
const { method, Arg, Option, RetVal } = protocol;
|
||||
|
||||
const {DebuggerServer} = require("devtools/server/main");
|
||||
|
||||
const {directorRegistrySpec} = require("devtools/shared/specs/director-registry");
|
||||
|
||||
/**
|
||||
* Error Messages
|
||||
*/
|
||||
@ -199,9 +200,7 @@ function setupChildProcess() {
|
||||
* The DirectorRegistry Actor is a global actor which manages install/uninstall of
|
||||
* director scripts definitions.
|
||||
*/
|
||||
const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClass({
|
||||
typeName: "director-registry",
|
||||
|
||||
const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClassWithSpec(directorRegistrySpec, {
|
||||
/* init & destroy methods */
|
||||
initialize: function (conn, parentActor) {
|
||||
protocol.Actor.prototype.initialize.call(this, conn);
|
||||
@ -211,11 +210,9 @@ const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClas
|
||||
this.finalize();
|
||||
},
|
||||
|
||||
finalize: method(function () {
|
||||
finalize: function () {
|
||||
// nothing to cleanup
|
||||
}, {
|
||||
oneway: true
|
||||
}),
|
||||
},
|
||||
|
||||
/**
|
||||
* Install a new director-script definition.
|
||||
@ -227,7 +224,7 @@ const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClas
|
||||
* @param Object scriptOptions
|
||||
* The director-script option object.
|
||||
*/
|
||||
install: method(function (id, { scriptCode, scriptOptions }) {
|
||||
install: function (id, { scriptCode, scriptOptions }) {
|
||||
// TODO: add more checks on id format?
|
||||
if (!id || id.length === 0) {
|
||||
throw Error("director-script id is mandatory");
|
||||
@ -242,16 +239,7 @@ const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClas
|
||||
scriptCode: scriptCode,
|
||||
scriptOptions: scriptOptions
|
||||
});
|
||||
}, {
|
||||
request: {
|
||||
scriptId: Arg(0, "string"),
|
||||
scriptCode: Option(1, "string"),
|
||||
scriptOptions: Option(1, "nullable:json")
|
||||
},
|
||||
response: {
|
||||
success: RetVal("boolean")
|
||||
}
|
||||
}),
|
||||
},
|
||||
|
||||
/**
|
||||
* Uninstall a director-script definition.
|
||||
@ -259,37 +247,14 @@ const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClas
|
||||
* @param String id
|
||||
* The identifier of the director-script definition to be removed
|
||||
*/
|
||||
uninstall: method(function (id) {
|
||||
uninstall: function (id) {
|
||||
return DirectorRegistry.uninstall(id);
|
||||
}, {
|
||||
request: {
|
||||
scritpId: Arg(0, "string")
|
||||
},
|
||||
response: {
|
||||
success: RetVal("boolean")
|
||||
}
|
||||
}),
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieves the list of installed director-scripts.
|
||||
*/
|
||||
list: method(function () {
|
||||
list: function () {
|
||||
return DirectorRegistry.list();
|
||||
}, {
|
||||
response: {
|
||||
directorScripts: RetVal("array:string")
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
/**
|
||||
* The corresponding Front object for the DirectorRegistryActor.
|
||||
*/
|
||||
exports.DirectorRegistryFront = protocol.FrontClass(DirectorRegistryActor, {
|
||||
initialize: function (client, { directorRegistryActor }) {
|
||||
protocol.Front.prototype.initialize.call(this, client, {
|
||||
actor: directorRegistryActor
|
||||
});
|
||||
this.manage(this);
|
||||
}
|
||||
});
|
||||
|
@ -13,8 +13,8 @@ SimpleTest.registerCleanupFunction(function () {
|
||||
Services.prefs.clearUserPref("dom.mozBrowserFramesEnabled");
|
||||
});
|
||||
|
||||
const { DirectorRegistry,
|
||||
DirectorRegistryFront } = require("devtools/server/actors/director-registry");
|
||||
const { DirectorRegistry } = require("devtools/server/actors/director-registry");
|
||||
const { DirectorRegistryFront } = require("devtools/shared/fronts/director-registry");
|
||||
|
||||
const { DirectorManagerFront } = require("devtools/shared/fronts/director-manager");
|
||||
|
||||
|
21
devtools/shared/fronts/director-registry.js
Normal file
21
devtools/shared/fronts/director-registry.js
Normal file
@ -0,0 +1,21 @@
|
||||
/* 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 {directorRegistrySpec} = require("devtools/shared/specs/director-registry");
|
||||
const protocol = require("devtools/shared/protocol");
|
||||
|
||||
/**
|
||||
* The corresponding Front object for the DirectorRegistryActor.
|
||||
*/
|
||||
const DirectorRegistryFront = protocol.FrontClassWithSpec(directorRegistrySpec, {
|
||||
initialize: function (client, { directorRegistryActor }) {
|
||||
protocol.Front.prototype.initialize.call(this, client, {
|
||||
actor: directorRegistryActor
|
||||
});
|
||||
this.manage(this);
|
||||
}
|
||||
});
|
||||
|
||||
exports.DirectorRegistryFront = DirectorRegistryFront;
|
@ -14,6 +14,7 @@ DevToolsModules(
|
||||
'csscoverage.js',
|
||||
'device.js',
|
||||
'director-manager.js',
|
||||
'director-registry.js',
|
||||
'highlighters.js',
|
||||
'inspector.js',
|
||||
'preference.js',
|
||||
|
41
devtools/shared/specs/director-registry.js
Normal file
41
devtools/shared/specs/director-registry.js
Normal file
@ -0,0 +1,41 @@
|
||||
/* 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, Option, RetVal, generateActorSpec} = require("devtools/shared/protocol");
|
||||
|
||||
const directorRegistrySpec = generateActorSpec({
|
||||
typeName: "director-registry",
|
||||
|
||||
methods: {
|
||||
finalize: {
|
||||
oneway: true
|
||||
},
|
||||
install: {
|
||||
request: {
|
||||
scriptId: Arg(0, "string"),
|
||||
scriptCode: Option(1, "string"),
|
||||
scriptOptions: Option(1, "nullable:json")
|
||||
},
|
||||
response: {
|
||||
success: RetVal("boolean")
|
||||
}
|
||||
},
|
||||
uninstall: {
|
||||
request: {
|
||||
scritpId: Arg(0, "string")
|
||||
},
|
||||
response: {
|
||||
success: RetVal("boolean")
|
||||
}
|
||||
},
|
||||
list: {
|
||||
response: {
|
||||
directorScripts: RetVal("array:string")
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
exports.directorRegistrySpec = directorRegistrySpec;
|
@ -15,6 +15,7 @@ DevToolsModules(
|
||||
'csscoverage.js',
|
||||
'device.js',
|
||||
'director-manager.js',
|
||||
'director-registry.js',
|
||||
'environment.js',
|
||||
'frame.js',
|
||||
'heap-snapshot-file.js',
|
||||
|
Loading…
Reference in New Issue
Block a user