123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /* 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 { SimpleStringFront } = require("devtools/shared/fronts/string");
- const { Front, FrontClassWithSpec } = require("devtools/shared/protocol");
- const {
- oldStyleSheetSpec,
- styleEditorSpec
- } = require("devtools/shared/specs/styleeditor");
- const promise = require("promise");
- const defer = require("devtools/shared/defer");
- const events = require("sdk/event/core");
- /**
- * StyleSheetFront is the client-side counterpart to a StyleSheetActor.
- */
- const OldStyleSheetFront = FrontClassWithSpec(oldStyleSheetSpec, {
- initialize: function (conn, form, ctx, detail) {
- Front.prototype.initialize.call(this, conn, form, ctx, detail);
- this._onPropertyChange = this._onPropertyChange.bind(this);
- events.on(this, "property-change", this._onPropertyChange);
- },
- destroy: function () {
- events.off(this, "property-change", this._onPropertyChange);
- Front.prototype.destroy.call(this);
- },
- _onPropertyChange: function (property, value) {
- this._form[property] = value;
- },
- form: function (form, detail) {
- if (detail === "actorid") {
- this.actorID = form;
- return;
- }
- this.actorID = form.actor;
- this._form = form;
- },
- getText: function () {
- let deferred = defer();
- events.once(this, "source-load", (source) => {
- let longStr = new SimpleStringFront(source);
- deferred.resolve(longStr);
- });
- this.fetchSource();
- return deferred.promise;
- },
- getOriginalSources: function () {
- return promise.resolve([]);
- },
- get href() {
- return this._form.href;
- },
- get nodeHref() {
- return this._form.nodeHref;
- },
- get disabled() {
- return !!this._form.disabled;
- },
- get title() {
- return this._form.title;
- },
- get isSystem() {
- return this._form.system;
- },
- get styleSheetIndex() {
- return this._form.styleSheetIndex;
- },
- get ruleCount() {
- return this._form.ruleCount;
- }
- });
- exports.OldStyleSheetFront = OldStyleSheetFront;
- /**
- * The corresponding Front object for the StyleEditorActor.
- */
- const StyleEditorFront = FrontClassWithSpec(styleEditorSpec, {
- initialize: function (client, tabForm) {
- Front.prototype.initialize.call(this, client);
- this.actorID = tabForm.styleEditorActor;
- this.manage(this);
- },
- getStyleSheets: function () {
- let deferred = defer();
- events.once(this, "document-load", (styleSheets) => {
- deferred.resolve(styleSheets);
- });
- this.newDocument();
- return deferred.promise;
- },
- addStyleSheet: function (text) {
- return this.newStyleSheet(text);
- }
- });
- exports.StyleEditorFront = StyleEditorFront;
|