Changeset 171691 in webkit for trunk/Source/JavaScriptCore/API/JSObjectRef.cpp
- Timestamp:
- Jul 28, 2014, 1:43:57 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSObjectRef.cpp
r167313 r171691 303 303 JSValue jsValue = toJS(exec, value); 304 304 305 if (JSProxy* proxy = jsDynamicCast<JSProxy*>(jsObject)) { 306 if (JSGlobalObject* globalObject = jsDynamicCast<JSGlobalObject*>(proxy->target())) { 307 globalObject->resetPrototype(exec->vm(), jsValue.isObject() ? jsValue : jsNull()); 308 return; 309 } 310 // Someday we might use proxies for something other than JSGlobalObjects, but today is not that day. 311 RELEASE_ASSERT_NOT_REACHED(); 312 } 305 313 jsObject->setPrototypeWithCycleCheck(exec, jsValue.isObject() ? jsValue : jsNull()); 306 314 } … … 502 510 JSValue result; 503 511 Identifier name(propertyName->identifier(&exec->vm())); 512 513 // Get wrapped object if proxied 514 if (jsObject->inherits(JSProxy::info())) 515 jsObject = jsCast<JSProxy*>(jsObject)->target(); 516 504 517 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info())) 505 518 result = jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->getPrivateProperty(name); … … 520 533 JSValue jsValue = value ? toJS(exec, value) : JSValue(); 521 534 Identifier name(propertyName->identifier(&exec->vm())); 535 536 // Get wrapped object if proxied 537 if (jsObject->inherits(JSProxy::info())) 538 jsObject = jsCast<JSProxy*>(jsObject)->target(); 539 522 540 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info())) { 523 541 jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->setPrivateProperty(exec->vm(), name, jsValue); … … 543 561 JSObject* jsObject = toJS(object); 544 562 Identifier name(propertyName->identifier(&exec->vm())); 563 564 // Get wrapped object if proxied 565 if (jsObject->inherits(JSProxy::info())) 566 jsObject = jsCast<JSProxy*>(jsObject)->target(); 567 545 568 if (jsObject->inherits(JSCallbackObject<JSGlobalObject>::info())) { 546 569 jsCast<JSCallbackObject<JSGlobalObject>*>(jsObject)->deletePrivateProperty(name);
Note:
See TracChangeset
for help on using the changeset viewer.