123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* 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 {DebuggerServer} = require("devtools/server/main");
- const promise = require("promise");
- const {longStringSpec, SimpleStringFront} = require("devtools/shared/specs/string");
- const protocol = require("devtools/shared/protocol");
- const LongStringFront = protocol.FrontClassWithSpec(longStringSpec, {
- initialize: function (client) {
- protocol.Front.prototype.initialize.call(this, client);
- },
- destroy: function () {
- this.initial = null;
- this.length = null;
- this.strPromise = null;
- protocol.Front.prototype.destroy.call(this);
- },
- form: function (form) {
- this.actorID = form.actor;
- this.initial = form.initial;
- this.length = form.length;
- },
- string: function () {
- if (!this.strPromise) {
- let promiseRest = (thusFar) => {
- if (thusFar.length === this.length) {
- return promise.resolve(thusFar);
- }
- return this.substring(thusFar.length,
- thusFar.length + DebuggerServer.LONG_STRING_READ_LENGTH)
- .then((next) => promiseRest(thusFar + next));
- };
- this.strPromise = promiseRest(this.initial);
- }
- return this.strPromise;
- }
- });
- exports.LongStringFront = LongStringFront;
- exports.SimpleStringFront = SimpleStringFront;
|