Commit 3d45d48f authored by peter.rybin@gmail.com's avatar peter.rybin@gmail.com

Issue 2089 Expose value wrapper's inner values

Review URL: https://chromiumcodereview.appspot.com/10162006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 717dbba6
......@@ -596,6 +596,23 @@ ObjectMirror.prototype.protoObject = function() {
};
/**
* Return the primitive value if this is object of Boolean, Number or String
* type (but not Date). Otherwise return undefined.
*/
ObjectMirror.prototype.primitiveValue = function() {
if (!IS_STRING_WRAPPER(this.value_) && !IS_NUMBER_WRAPPER(this.value_) &&
!IS_BOOLEAN_WRAPPER(this.value_)) {
return void 0;
}
var primitiveValue = %_ValueOf(this.value_);
if (IS_UNDEFINED(primitiveValue)) {
return void 0;
}
return MakeMirror(primitiveValue);
};
ObjectMirror.prototype.hasNamedInterceptor = function() {
// Get information on interceptors for this object.
var x = %GetInterceptorInfo(this.value_);
......@@ -2234,6 +2251,11 @@ JSONProtocolSerializer.prototype.serializeObject_ = function(mirror, content,
content.protoObject = this.serializeReference(mirror.protoObject());
content.prototypeObject = this.serializeReference(mirror.prototypeObject());
var primitiveValue = mirror.primitiveValue();
if (!IS_UNDEFINED(primitiveValue)) {
content.primitiveValue = this.serializeReference(primitiveValue);
}
// Add flags to indicate whether there are interceptors.
if (mirror.hasNamedInterceptor()) {
content.namedInterceptor = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment