Bug 1378864 - Stop using sdk/core/heritage in DevTools shared specs/string. r=zer0 draft
authorsole <sole@mozilla.com>
Tue, 01 Aug 2017 10:03:58 +0100
changeset 618931 d0f2fe727f26da4d0f2f6eded8b6a99dea52eb19
parent 614262 60a5308fa987676fa5ed9fd5b3ad6c9938af0539
child 640234 6a3240236f550729e60b807d597f8020d1de1782
push id71508
push userbmo:spenades@mozilla.com
push dateTue, 01 Aug 2017 09:10:12 +0000
reviewerszer0
bugs1378864
milestone56.0a1
Bug 1378864 - Stop using sdk/core/heritage in DevTools shared specs/string. r=zer0 MozReview-Commit-ID: Hm0BkzhFfkV
devtools/shared/specs/string.js
--- a/devtools/shared/specs/string.js
+++ b/devtools/shared/specs/string.js
@@ -1,17 +1,16 @@
 /* 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 protocol = require("devtools/shared/protocol");
 const {Arg, RetVal, generateActorSpec} = protocol;
 const promise = require("promise");
-const {Class} = require("sdk/core/heritage");
 
 const longStringSpec = generateActorSpec({
   typeName: "longstractor",
 
   methods: {
     substring: {
       request: {
         start: Arg(0),
@@ -25,42 +24,43 @@ const longStringSpec = generateActorSpec
 
 exports.longStringSpec = longStringSpec;
 
 /**
  * When a caller is expecting a LongString actor but the string is already available on
  * client, the SimpleStringFront can be used as it shares the same API as a
  * LongStringFront but will not make unnecessary trips to the server.
  */
-const SimpleStringFront = Class({
-  initialize: function (str) {
+class SimpleStringFront {
+
+  constructor(str) {
     this.str = str;
-  },
+  }
 
   get length() {
     return this.str.length;
-  },
+  }
 
   get initial() {
     return this.str;
-  },
+  }
 
-  string: function () {
+  string() {
     return promise.resolve(this.str);
-  },
+  }
 
-  substring: function (start, end) {
+  substring(start, end) {
     return promise.resolve(this.str.substring(start, end));
-  },
+  }
 
-  release: function () {
+  release() {
     this.str = null;
     return promise.resolve(undefined);
   }
-});
+}
 
 exports.SimpleStringFront = SimpleStringFront;
 
 // The long string actor needs some custom marshalling, because it is sometimes
 // returned as a primitive rather than a complete form.
 
 var stringActorType = protocol.types.getType("longstractor");
 protocol.types.addType("longstring", {