Guest User

Untitled

a guest
Feb 8th, 2014
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. bool JSObject::HasRealNamedProperty(Handle<JSObject> object,
  2.                                     Handle<Name> key) {
  3.   Isolate* isolate = object->GetIsolate();
  4.   SealHandleScope shs(isolate);
  5.   // Check access rights if needed.
  6.   if (object->IsAccessCheckNeeded()) {
  7.     if (!isolate->MayNamedAccess(*object, *key, v8::ACCESS_HAS)) {
  8.       isolate->ReportFailedAccessCheck(*object, v8::ACCESS_HAS);
  9.       return false;
  10.     }
  11.   }
  12.  
  13.   LookupResult result(isolate);
  14.   object->LocalLookupRealNamedProperty(*key, &result);
  15.   return result.IsFound() && !result.IsInterceptor();
  16. }
  17.  
  18.  
  19. bool JSObject::HasRealNamedCallbackProperty(Handle<JSObject> object,
  20.                                             Handle<Name> key) {
  21.   Isolate* isolate = object->GetIsolate();
  22.   SealHandleScope shs(isolate);
  23.   // Check access rights if needed.
  24.   if (object->IsAccessCheckNeeded()) {
  25.     if (!isolate->MayNamedAccess(*object, *key, v8::ACCESS_HAS)) {
  26.       isolate->ReportFailedAccessCheck(*object, v8::ACCESS_HAS);
  27.       return false;
  28.     }
  29.   }
  30.  
  31.   LookupResult result(isolate);
  32.   object->LocalLookupRealNamedProperty(*key, &result);
  33.   return result.IsPropertyCallbacks();
  34. }
Advertisement
Add Comment
Please, Sign In to add comment