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