Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Unified Diff: third_party/WebKit/Source/devtools/front_end/sdk/RemoteObject.js

Issue 2752403002: [DevTools] Migrate usages of Target to RuntimeModel where makes sense (Closed)
Patch Set: compilation errors Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/sdk/RemoteObject.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/RemoteObject.js b/third_party/WebKit/Source/devtools/front_end/sdk/RemoteObject.js
index 7e4001ef80d2b56d0a2c2ea2df9f9cc671065bb3..6dbd64494b56032efc62ddc4355bcc02224a8b4e 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/RemoteObject.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/RemoteObject.js
@@ -32,9 +32,6 @@
*/
SDK.CallFunctionResult;
-/**
- * @unrestricted
- */
SDK.RemoteObject = class {
/**
* This may not be an interface due to "instanceof SDK.RemoteObject" checks in the code.
@@ -127,13 +124,11 @@ SDK.RemoteObject = class {
if (typeof object.unserializableValue !== 'undefined')
return {unserializableValue: object.unserializableValue};
- if (typeof object._unserializableValue !== 'undefined')
+ if (object instanceof SDK.RemoteObjectImpl && typeof object._unserializableValue !== 'undefined')
caseq 2017/03/17 18:30:44 is this a related change?
dgozman 2017/03/17 21:43:46 Yeah, closure started to complain.
return {unserializableValue: object._unserializableValue};
if (typeof object.objectId !== 'undefined')
return {objectId: object.objectId};
- if (typeof object._objectId !== 'undefined')
- return {objectId: object._objectId};
return {value: object.value};
}
@@ -210,6 +205,11 @@ SDK.RemoteObject = class {
return null;
}
+ /** @return {!Protocol.Runtime.RemoteObjectId|undefined} */
+ get objectId() {
caseq 2017/03/17 18:30:44 ditto. perhaps extract this?
+ return 'Not implemented';
+ }
+
/** @return {string} */
get type() {
throw 'Not implemented';
@@ -220,6 +220,11 @@ SDK.RemoteObject = class {
throw 'Not implemented';
}
+ /** @return {*} */
+ get value() {
+ throw 'Not implemented';
+ }
+
/** @return {string|undefined} */
get description() {
throw 'Not implemented';
@@ -231,6 +236,13 @@ SDK.RemoteObject = class {
}
/**
+ * @return {!Protocol.Runtime.ObjectPreview|undefined}
+ */
+ get preview() {
+ return undefined;
+ }
+
+ /**
* @return {number}
*/
arrayLength() {
@@ -306,6 +318,14 @@ SDK.RemoteObject = class {
}
/**
+ * @param {!Array.<string>} propertyPath
+ * @param {function(?SDK.RemoteObject, boolean=)} callback
+ */
+ getProperty(propertyPath, callback) {
+ throw 'Not implemented';
+ }
+
+ /**
* @return {!Promise<?Array<!SDK.EventListener>>}
*/
eventListeners() {
@@ -391,21 +411,24 @@ SDK.RemoteObject = class {
}
}
- /**
- * @return {!SDK.Target}
- */
- target() {
- throw new Error('Target-less object');
+ release() {
}
/**
- * @return {?SDK.DebuggerModel}
+ * @return {!SDK.DebuggerModel}
*/
debuggerModel() {
throw new Error('DebuggerModel-less object');
}
/**
+ * @return {!SDK.RuntimeModel}
+ */
+ runtimeModel() {
+ throw new Error('RuntimeModel-less object');
+ }
+
+ /**
* @return {boolean}
*/
isNode() {
@@ -414,12 +437,9 @@ SDK.RemoteObject = class {
};
-/**
- * @unrestricted
- */
SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
/**
- * @param {!SDK.Target} target
+ * @param {!SDK.RuntimeModel} runtimeModel
* @param {string|undefined} objectId
* @param {string} type
* @param {string|undefined} subtype
@@ -429,12 +449,11 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
* @param {!Protocol.Runtime.ObjectPreview=} preview
* @param {!Protocol.Runtime.CustomPreview=} customPreview
*/
- constructor(target, objectId, type, subtype, value, unserializableValue, description, preview, customPreview) {
+ constructor(runtimeModel, objectId, type, subtype, value, unserializableValue, description, preview, customPreview) {
super();
- this._target = target;
- this._runtimeAgent = target.runtimeAgent();
- this._debuggerModel = SDK.DebuggerModel.fromTarget(target);
+ this._runtimeModel = runtimeModel;
+ this._runtimeAgent = runtimeModel.target().runtimeAgent();
this._type = type;
this._subtype = subtype;
@@ -455,12 +474,12 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
unserializableValue === Protocol.Runtime.UnserializableValue.NegativeInfinity ||
unserializableValue === Protocol.Runtime.UnserializableValue.Negative0 ||
unserializableValue === Protocol.Runtime.UnserializableValue.NaN)
- this.value = Number(unserializableValue);
+ this._value = Number(unserializableValue);
else
- this.value = unserializableValue;
+ this._value = unserializableValue;
} else {
- this.value = value;
+ this._value = value;
}
}
this._customPreview = customPreview || null;
@@ -474,7 +493,10 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
return this._customPreview;
}
- /** @return {!Protocol.Runtime.RemoteObjectId} */
+ /**
+ * @override
+ * @return {!Protocol.Runtime.RemoteObjectId|undefined}
+ */
get objectId() {
return this._objectId;
}
@@ -497,6 +519,14 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
/**
* @override
+ * @return {*}
+ */
+ get value() {
+ return this._value;
+ }
+
+ /**
+ * @override
* @return {string|undefined}
*/
get description() {
@@ -512,6 +542,7 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
}
/**
+ * @override
* @return {!Protocol.Runtime.ObjectPreview|undefined}
*/
get preview() {
@@ -549,7 +580,7 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
* @this {SDK.RemoteObjectImpl}
*/
function eventListeners(fulfill, reject) {
- if (!this.target().hasDOMCapability()) {
+ if (!this._runtimeModel.target().hasDOMCapability()) {
// TODO(kozyatinskiy): figure out how this should work for |window| when there is no DOMDebugger.
fulfill([]);
return;
@@ -560,7 +591,8 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
return;
}
- this.target().domdebuggerAgent().getEventListeners(this._objectId, undefined, undefined, mycallback.bind(this));
+ this._runtimeModel.target().domdebuggerAgent().getEventListeners(
+ this._objectId, undefined, undefined, mycallback.bind(this));
/**
* @this {SDK.RemoteObjectImpl}
@@ -581,10 +613,11 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
*/
function createEventListener(payload) {
return new SDK.EventListener(
- this._target, this, payload.type, payload.useCapture, payload.passive, payload.once,
- payload.handler ? this.target().runtimeModel.createRemoteObject(payload.handler) : null,
- payload.originalHandler ? this.target().runtimeModel.createRemoteObject(payload.originalHandler) : null,
- /** @type {!SDK.DebuggerModel.Location} */ (this._debuggerModel.createRawLocationByScriptId(
+ this._runtimeModel, this, payload.type, payload.useCapture, payload.passive, payload.once,
+ payload.handler ? this._runtimeModel.createRemoteObject(payload.handler) : null,
+ payload.originalHandler ? this._runtimeModel.createRemoteObject(payload.originalHandler) : null,
+ /** @type {!SDK.DebuggerModel.Location} */
+ (this.debuggerModel().createRawLocationByScriptId(
payload.scriptId, payload.lineNumber, payload.columnNumber)),
null);
}
@@ -592,6 +625,7 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
}
/**
+ * @override
* @param {!Array.<string>} propertyPath
* @param {function(?SDK.RemoteObject, boolean=)} callback
*/
@@ -638,24 +672,24 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
return;
}
if (exceptionDetails) {
- this.target().runtimeModel.exceptionThrown(Date.now(), exceptionDetails);
+ this._runtimeModel.exceptionThrown(Date.now(), exceptionDetails);
callback(null, null);
return;
}
var result = [];
for (var i = 0; properties && i < properties.length; ++i) {
var property = properties[i];
- var propertyValue = property.value ? this._target.runtimeModel.createRemoteObject(property.value) : null;
- var propertySymbol = property.symbol ? this._target.runtimeModel.createRemoteObject(property.symbol) : null;
+ var propertyValue = property.value ? this._runtimeModel.createRemoteObject(property.value) : null;
+ var propertySymbol = property.symbol ? this._runtimeModel.createRemoteObject(property.symbol) : null;
var remoteProperty = new SDK.RemoteObjectProperty(
property.name, propertyValue, !!property.enumerable, !!property.writable, !!property.isOwn,
!!property.wasThrown, propertySymbol);
if (typeof property.value === 'undefined') {
if (property.get && property.get.type !== 'undefined')
- remoteProperty.getter = this._target.runtimeModel.createRemoteObject(property.get);
+ remoteProperty.getter = this._runtimeModel.createRemoteObject(property.get);
if (property.set && property.set.type !== 'undefined')
- remoteProperty.setter = this._target.runtimeModel.createRemoteObject(property.set);
+ remoteProperty.setter = this._runtimeModel.createRemoteObject(property.set);
}
result.push(remoteProperty);
@@ -667,7 +701,7 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
var property = internalProperties[i];
if (!property.value)
continue;
- var propertyValue = this._target.runtimeModel.createRemoteObject(property.value);
+ var propertyValue = this._runtimeModel.createRemoteObject(property.value);
internalPropertiesResult.push(new SDK.RemoteObjectProperty(property.name, propertyValue, true, false));
}
}
@@ -695,7 +729,7 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
* @param {?Protocol.Error} error
* @param {!Protocol.Runtime.RemoteObject} result
* @param {!Protocol.Runtime.ExceptionDetails=} exceptionDetails
- * @this {SDK.RemoteObject}
+ * @this {SDK.RemoteObjectImpl}
*/
function evaluatedCallback(error, result, exceptionDetails) {
if (error || !!exceptionDetails) {
@@ -796,7 +830,7 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
if (error)
callback(null, false);
else
- callback(this.target().runtimeModel.createRemoteObject(result), !!exceptionDetails);
+ callback(this._runtimeModel.createRemoteObject(result), !!exceptionDetails);
}
this._runtimeAgent.callFunctionOn(
@@ -824,6 +858,9 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
this._objectId, functionDeclaration.toString(), args, true, true, false, undefined, undefined, mycallback);
}
+ /**
+ * @override
+ */
release() {
if (!this._objectId)
return;
@@ -840,18 +877,18 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
/**
* @override
- * @return {!SDK.Target}
+ * @return {!SDK.DebuggerModel}
*/
- target() {
- return this._target;
+ debuggerModel() {
+ return this._runtimeModel.debuggerModel();
}
/**
* @override
- * @return {?SDK.DebuggerModel}
+ * @return {!SDK.RuntimeModel}
*/
- debuggerModel() {
- return this._debuggerModel;
+ runtimeModel() {
+ return this._runtimeModel;
}
/**
@@ -864,12 +901,9 @@ SDK.RemoteObjectImpl = class extends SDK.RemoteObject {
};
-/**
- * @unrestricted
- */
SDK.ScopeRemoteObject = class extends SDK.RemoteObjectImpl {
/**
- * @param {!SDK.Target} target
+ * @param {!SDK.RuntimeModel} runtimeModel
* @param {string|undefined} objectId
* @param {!SDK.ScopeRef} scopeRef
* @param {string} type
@@ -879,8 +913,8 @@ SDK.ScopeRemoteObject = class extends SDK.RemoteObjectImpl {
* @param {string=} description
* @param {!Protocol.Runtime.ObjectPreview=} preview
*/
- constructor(target, objectId, scopeRef, type, subtype, value, unserializableValue, description, preview) {
- super(target, objectId, type, subtype, value, unserializableValue, description, preview);
+ constructor(runtimeModel, objectId, scopeRef, type, subtype, value, unserializableValue, description, preview) {
+ super(runtimeModel, objectId, type, subtype, value, unserializableValue, description, preview);
this._scopeRef = scopeRef;
this._savedScopeProperties = undefined;
}
@@ -936,7 +970,7 @@ SDK.ScopeRemoteObject = class extends SDK.RemoteObjectImpl {
*/
doSetObjectPropertyValue(result, argumentName, callback) {
var name = /** @type {string} */ (argumentName.value);
- this._debuggerModel.setVariableValue(
+ this.debuggerModel().setVariableValue(
this._scopeRef.number, name, SDK.RemoteObject.toCallArgument(result), this._scopeRef.callFrameId,
setVariableValueCallback.bind(this));
@@ -952,7 +986,7 @@ SDK.ScopeRemoteObject = class extends SDK.RemoteObjectImpl {
if (this._savedScopeProperties) {
for (var i = 0; i < this._savedScopeProperties.length; i++) {
if (this._savedScopeProperties[i].name === name)
- this._savedScopeProperties[i].value = this._target.runtimeModel.createRemoteObject(result);
+ this._savedScopeProperties[i].value = this._runtimeModel.createRemoteObject(result);
}
}
callback();
@@ -960,9 +994,6 @@ SDK.ScopeRemoteObject = class extends SDK.RemoteObjectImpl {
}
};
-/**
- * @unrestricted
- */
SDK.ScopeRef = class {
/**
* @param {number} number
@@ -1015,9 +1046,6 @@ SDK.RemoteObjectProperty = class {
// for traversing prototypes, extracting class names via constructor, handling properties
// or functions.
-/**
- * @unrestricted
- */
SDK.LocalJSONObject = class extends SDK.RemoteObject {
/**
* @param {*} value
@@ -1025,6 +1053,26 @@ SDK.LocalJSONObject = class extends SDK.RemoteObject {
constructor(value) {
super();
this._value = value;
+ /** @type {string} */
+ this._cachedDescription;
+ /** @type {!Array<!SDK.RemoteObjectProperty>} */
+ this._cachedChildren;
+ }
+
+ /**
+ * @override
+ * @return {!Protocol.Runtime.RemoteObjectId|undefined}
+ * */
+ get objectId() {
+ return undefined;
+ }
+
+ /**
+ * @override
+ * @return {*}
+ */
+ get value() {
+ return this._value;
}
/**
@@ -1260,9 +1308,6 @@ SDK.LocalJSONObject = class extends SDK.RemoteObject {
}
};
-/**
- * @unrestricted
- */
SDK.RemoteArray = class {
/**
* @param {!SDK.RemoteObject} object
@@ -1372,9 +1417,6 @@ SDK.RemoteArray = class {
};
-/**
- * @unrestricted
- */
SDK.RemoteFunction = class {
/**
* @param {!SDK.RemoteObject} object

Powered by Google App Engine
This is Rietveld 408576698