Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
},
/**
* Pass events from requisition.system.commands.onCommandsChange upwards
*/
_commandsChanged: function() {
events.emit(this, "commands-changed");
},
});
exports.GcliActor = GcliActor;
/**
*
*/
const GcliFront = exports.GcliFront = FrontClass(GcliActor, {
initialize: function(client, tabForm) {
Front.prototype.initialize.call(this, client);
this.actorID = tabForm.gcliActor;
// XXX: This is the first actor type in its hierarchy to use the protocol
// library, so we're going to self-own on the client side for now.
this.manage(this);
},
});
// A cache of created fronts: WeakMap
const knownFronts = new WeakMap();
/**
* Create a GcliFront only when needed (returns a promise)
* For notes on target.makeRemote(), see
// in a waterfall view.
this._markers = this._markers.sort((a, b) => (a.start > b.start));
this._completed = true;
break;
}
};
},
}, PerformanceRecordingCommon));
/**
* This can be used on older Profiler implementations, but the methods cannot
* be changed -- you must introduce a new method, and detect the server.
*/
var PerformanceRecordingFront = exports.PerformanceRecordingFront = protocol.FrontClass(PerformanceRecordingActor, merge({
form: function(form, detail) {
if (detail === "actorid") {
this.actorID = form;
return;
}
this.actorID = form.actor;
this._form = form;
this._configuration = form.configuration;
this._startingBufferStatus = form.startingBufferStatus;
this._console = form.console;
this._label = form.label;
this._startTime = form.startTime;
this._localStartTime = form.localStartTime;
this._recording = form.recording;
this._completed = form.completed;
response: {
directorScript: RetVal("director-script")
}
}),
finalize: method(function() {
this.disableByScriptIds(["*"], false);
}, {
oneway: true
})
});
/**
* The corresponding Front object for the DirectorManagerActor.
*/
exports.DirectorManagerFront = protocol.FrontClass(DirectorManagerActor, {
initialize: function(client, { directorManagerActor }) {
protocol.Front.prototype.initialize.call(this, client, {
actor: directorManagerActor
});
this.manage(this);
}
});
/* private helpers */
/**
* DirectorScriptSandbox is a private utility class, which attach a non-priviliged sandbox
* to a target window.
*/
const DirectorScriptSandbox = Class({
initialize: function({scriptId, scriptCode, scriptOptions}) {
return url;
} else {
let baseURI = Services.io.newURI(document.location.href, null, null);
return Services.io.newURI(url, null, baseURI).spec;
}
}, {
request: {url: Arg(0, "string"), node: Arg(1, "nullable:domnode")},
response: {value: RetVal("string")}
})
});
/**
* Client side of the inspector actor, which is used to create
* inspector-related actors, including the walker.
*/
var InspectorFront = exports.InspectorFront = protocol.FrontClass(InspectorActor, {
initialize: function(client, tabForm) {
protocol.Front.prototype.initialize.call(this, client);
this.actorID = tabForm.inspectorActor;
// XXX: This is the first actor type in its hierarchy to use the protocol
// library, so we're going to self-own on the client side for now.
this.manage(this);
},
destroy: function() {
delete this.walker;
protocol.Front.prototype.destroy.call(this);
},
getWalker: protocol.custom(function(options = {}) {
return this._getWalker(options).then(walker => {
column: this.column,
parentStyleSheet: this.parentActor.actorID
};
return form;
},
_matchesChange: function() {
events.emit(this, "matches-change", this.matches);
}
});
/**
* Cooresponding client-side front for a MediaRuleActor.
*/
var MediaRuleFront = protocol.FrontClass(MediaRuleActor, {
initialize: function(client, form) {
protocol.Front.prototype.initialize.call(this, client, form);
this._onMatchesChange = this._onMatchesChange.bind(this);
events.on(this, "matches-change", this._onMatchesChange);
},
_onMatchesChange: function(matches) {
this._form.matches = matches;
},
form: function(form, detail) {
if (detail === "actorid") {
this.actorID = form;
return;
}
this.boundUpdate[action][storeType][host].splice(index, 1);
}
}
if (!this.boundUpdate[action][storeType][host].length) {
delete this.boundUpdate[action][storeType][host];
}
}
}
return null;
}
});
/**
* Front for the Storage Actor.
*/
var StorageFront = exports.StorageFront = protocol.FrontClass(StorageActor, {
initialize: function(client, tabForm) {
protocol.Front.prototype.initialize.call(this, client);
this.actorID = tabForm.storageActor;
this.manage(this);
}
});
style.appendChild(this.document.createTextNode(text));
}
parent.appendChild(style);
let actor = this._createStyleSheetActor(style.sheet);
return actor;
}, {
request: { text: Arg(0, "string") },
response: { styleSheet: RetVal("old-stylesheet") }
})
});
/**
* The corresponding Front object for the StyleEditorActor.
*/
var StyleEditorFront = protocol.FrontClass(StyleEditorActor, {
initialize: function(client, tabForm) {
protocol.Front.prototype.initialize.call(this, client);
this.actorID = tabForm.styleEditorActor;
this.manage(this);
},
getStyleSheets: function() {
let deferred = promise.defer();
events.once(this, "document-load", (styleSheets) => {
deferred.resolve(styleSheets);
});
this.newDocument();
return deferred.promise;
},
},
_onWindowReady: expectState("attached", function({ isTopLevel }) {
if (!isTopLevel) {
return;
}
this._navigationLifetimePool.cleanup();
this.dbg.removeAllDebuggees();
this.dbg.addDebuggees();
})
});
exports.PromisesActor = PromisesActor;
exports.PromisesFront = protocol.FrontClass(PromisesActor, {
initialize: function(client, form) {
protocol.Front.prototype.initialize.call(this, client, form);
this.actorID = form.promisesActor;
this.manage(this);
},
destroy: function() {
protocol.Front.prototype.destroy.call(this);
}
});
StorageActors.createActor = function(options = {}, overrides = {}) {
let actorObject = StorageActors.defaults(
options.typeName,
options.observationTopic || null,
options.storeObjectType
);
for (let key in overrides) {
actorObject[key] = overrides[key];
}
let actor = protocol.ActorClass(actorObject);
protocol.FrontClass(actor, {
form: function(form, detail) {
if (detail === "actorid") {
this.actorID = form;
return null;
}
this.actorID = form.actor;
this.hosts = form.hosts;
return null;
}
});
storageTypePool.set(actorObject.typeName, actor);
};
return;
}
let functionCall = new FunctionCallActor(this.conn, details, this._holdWeak);
if (this._storeCalls) {
this._functionCalls.push(functionCall);
}
this.onCall(functionCall);
}
});
/**
* The corresponding Front object for the CallWatcherActor.
*/
var CallWatcherFront = exports.CallWatcherFront = protocol.FrontClass(CallWatcherActor, {
initialize: function(client, { callWatcherActor }) {
protocol.Front.prototype.initialize.call(this, client, { actor: callWatcherActor });
this.manage(this);
}
});
/**
* Constants.
*/
CallWatcherFront.METHOD_FUNCTION = 0;
CallWatcherFront.GETTER_FUNCTION = 1;
CallWatcherFront.SETTER_FUNCTION = 2;
CallWatcherFront.GLOBAL_SCOPE = 0;
CallWatcherFront.UNKNOWN_SCOPE = 1;
CallWatcherFront.CANVAS_WEBGL_CONTEXT = 2;