Index: Source/devtools/front_end/sdk/RemoteObject.js |
diff --git a/Source/devtools/front_end/sdk/RemoteObject.js b/Source/devtools/front_end/sdk/RemoteObject.js |
index 8584146e9adde85269afce1f0f82c35579337414..ae2c531e1e8e67949c754d4bcc0ec26f921af7fa 100644 |
--- a/Source/devtools/front_end/sdk/RemoteObject.js |
+++ b/Source/devtools/front_end/sdk/RemoteObject.js |
@@ -86,7 +86,7 @@ WebInspector.RemoteObject.prototype = { |
}, |
/** |
- * @param {function(this:Object, ...)} functionDeclaration |
+ * @param {function(this:Object, ...)|!String} functionDeclaration |
* @param {!Array.<!RuntimeAgent.CallArgument>=} args |
* @param {function(?WebInspector.RemoteObject, boolean=)=} callback |
*/ |
@@ -96,7 +96,7 @@ WebInspector.RemoteObject.prototype = { |
}, |
/** |
- * @param {function(this:Object)} functionDeclaration |
+ * @param {function(this:Object)|!String} functionDeclaration |
* @param {!Array.<!RuntimeAgent.CallArgument>|undefined} args |
* @param {function(*)} callback |
*/ |
@@ -132,7 +132,13 @@ WebInspector.RemoteObject.prototype = { |
functionDetails: function(callback) |
{ |
callback(null); |
- } |
+ }, |
+ |
+ /** @return {string|undefined} */ |
+ get language() |
+ { |
+ throw "Not implemented"; |
+ }, |
} |
/** |
@@ -199,7 +205,7 @@ WebInspector.RemoteObject.toCallArgument = function(remoteObject) |
* @param {string=} description |
* @param {!RuntimeAgent.ObjectPreview=} preview |
*/ |
-WebInspector.RemoteObjectImpl = function(target, objectId, type, subtype, value, description, preview) |
+WebInspector.RemoteObjectImpl = function(target, objectId, type, subtype, value, description, preview, language) |
{ |
WebInspector.RemoteObject.call(this); |
@@ -209,12 +215,15 @@ WebInspector.RemoteObjectImpl = function(target, objectId, type, subtype, value, |
this._type = type; |
this._subtype = subtype; |
+ this._language = language; |
if (objectId) { |
// handle |
this._objectId = objectId; |
this._description = description; |
this._hasChildren = true; |
this._preview = preview; |
+ if (value !== undefined) |
+ this.value = value; |
} else { |
// Primitive or null object. |
console.assert(type !== "object" || value === null); |
@@ -265,6 +274,12 @@ WebInspector.RemoteObjectImpl.prototype = { |
return this._preview; |
}, |
+ /** @return {string|undefined} */ |
+ get language() |
+ { |
+ return this._language; |
+ }, |
+ |
/** |
* @param {function(?Array.<!WebInspector.RemoteObjectProperty>, ?Array.<!WebInspector.RemoteObjectProperty>)} callback |
*/ |
@@ -293,17 +308,15 @@ WebInspector.RemoteObjectImpl.prototype = { |
* @suppressReceiverCheck |
* @this {Object} |
*/ |
- function remoteFunction(arrayStr) |
+ function mycallback(error, result, wasThrown) |
{ |
- var result = this; |
- var properties = JSON.parse(arrayStr); |
- for (var i = 0, n = properties.length; i < n; ++i) |
- result = result[properties[i]]; |
- return result; |
+ if (error) |
+ callback(null, false); |
+ else |
+ callback(this.target().runtimeModel.createRemoteObject(result), wasThrown); |
} |
- var args = [{ value: JSON.stringify(propertyPath) }]; |
- this.callFunction(remoteFunction, args, callback); |
+ this._runtimeAgent.getProperty(this._objectId, propertyPath, mycallback.bind(this)); |
}, |
/** |
@@ -448,7 +461,7 @@ WebInspector.RemoteObjectImpl.prototype = { |
}, |
/** |
- * @param {function(this:Object, ...)} functionDeclaration |
+ * @param {function(this:Object, ...)|!String} functionDeclaration |
* @param {!Array.<!RuntimeAgent.CallArgument>=} args |
* @param {function(?WebInspector.RemoteObject, boolean=)=} callback |
*/ |
@@ -474,7 +487,7 @@ WebInspector.RemoteObjectImpl.prototype = { |
}, |
/** |
- * @param {function(this:Object)} functionDeclaration |
+ * @param {function(this:Object)|!String} functionDeclaration |
* @param {!Array.<!RuntimeAgent.CallArgument>|undefined} args |
* @param {function(*)} callback |
*/ |
@@ -925,7 +938,7 @@ WebInspector.LocalJSONObject.prototype = { |
}, |
/** |
- * @param {function(this:Object, ...)} functionDeclaration |
+ * @param {function(this:Object, ...)|!String} functionDeclaration |
* @param {!Array.<!RuntimeAgent.CallArgument>=} args |
* @param {function(?WebInspector.RemoteObject, boolean=)=} callback |
*/ |
@@ -948,7 +961,7 @@ WebInspector.LocalJSONObject.prototype = { |
}, |
/** |
- * @param {function(this:Object)} functionDeclaration |
+ * @param {function(this:Object)|!String} functionDeclaration |
* @param {!Array.<!RuntimeAgent.CallArgument>|undefined} args |
* @param {function(*)} callback |
*/ |