| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009, 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 void LocalWindowProxy::SetupWindowPrototypeChain() { | 214 void LocalWindowProxy::SetupWindowPrototypeChain() { |
| 215 // Associate the window wrapper object and its prototype chain with the | 215 // Associate the window wrapper object and its prototype chain with the |
| 216 // corresponding native DOMWindow object. | 216 // corresponding native DOMWindow object. |
| 217 DOMWindow* window = GetFrame()->DomWindow(); | 217 DOMWindow* window = GetFrame()->DomWindow(); |
| 218 const WrapperTypeInfo* wrapper_type_info = window->GetWrapperTypeInfo(); | 218 const WrapperTypeInfo* wrapper_type_info = window->GetWrapperTypeInfo(); |
| 219 v8::Local<v8::Context> context = script_state_->GetContext(); | 219 v8::Local<v8::Context> context = script_state_->GetContext(); |
| 220 | 220 |
| 221 // The global proxy object. Note this is not the global object. | 221 // The global proxy object. Note this is not the global object. |
| 222 v8::Local<v8::Object> global_proxy = context->Global(); | 222 v8::Local<v8::Object> global_proxy = context->Global(); |
| 223 CHECK(global_proxy_ == global_proxy); | 223 CHECK(global_proxy_ == global_proxy); |
| 224 V8DOMWrapper::SetNativeInfo(GetIsolate(), global_proxy, wrapper_type_info, | 224 v8::Local<v8::Object> associated_wrapper = |
| 225 window); | 225 AssociateWithWrapper(window, wrapper_type_info, global_proxy); |
| 226 DCHECK(associated_wrapper == global_proxy); |
| 226 // Mark the handle to be traced by Oilpan, since the global proxy has a | 227 // Mark the handle to be traced by Oilpan, since the global proxy has a |
| 227 // reference to the DOMWindow. | 228 // reference to the DOMWindow. |
| 228 global_proxy_.Get().SetWrapperClassId(wrapper_type_info->wrapper_class_id); | 229 global_proxy_.Get().SetWrapperClassId(wrapper_type_info->wrapper_class_id); |
| 229 | 230 |
| 230 // The global object, aka window wrapper object. | 231 // The global object, aka window wrapper object. |
| 231 v8::Local<v8::Object> window_wrapper = | 232 v8::Local<v8::Object> window_wrapper = |
| 232 global_proxy->GetPrototype().As<v8::Object>(); | 233 global_proxy->GetPrototype().As<v8::Object>(); |
| 233 v8::Local<v8::Object> associated_wrapper = | 234 V8DOMWrapper::SetNativeInfo(GetIsolate(), window_wrapper, wrapper_type_info, |
| 234 AssociateWithWrapper(window, wrapper_type_info, window_wrapper); | 235 window); |
| 235 DCHECK(associated_wrapper == window_wrapper); | |
| 236 | 236 |
| 237 // The prototype object of Window interface. | 237 // The prototype object of Window interface. |
| 238 v8::Local<v8::Object> window_prototype = | 238 v8::Local<v8::Object> window_prototype = |
| 239 window_wrapper->GetPrototype().As<v8::Object>(); | 239 window_wrapper->GetPrototype().As<v8::Object>(); |
| 240 CHECK(!window_prototype.IsEmpty()); | 240 CHECK(!window_prototype.IsEmpty()); |
| 241 V8DOMWrapper::SetNativeInfo(GetIsolate(), window_prototype, wrapper_type_info, | 241 V8DOMWrapper::SetNativeInfo(GetIsolate(), window_prototype, wrapper_type_info, |
| 242 window); | 242 window); |
| 243 | 243 |
| 244 // The named properties object of Window interface. | 244 // The named properties object of Window interface. |
| 245 v8::Local<v8::Object> window_properties = | 245 v8::Local<v8::Object> window_properties = |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 | 449 |
| 450 SetSecurityToken(origin); | 450 SetSecurityToken(origin); |
| 451 } | 451 } |
| 452 | 452 |
| 453 LocalWindowProxy::LocalWindowProxy(v8::Isolate* isolate, | 453 LocalWindowProxy::LocalWindowProxy(v8::Isolate* isolate, |
| 454 LocalFrame& frame, | 454 LocalFrame& frame, |
| 455 RefPtr<DOMWrapperWorld> world) | 455 RefPtr<DOMWrapperWorld> world) |
| 456 : WindowProxy(isolate, frame, std::move(world)) {} | 456 : WindowProxy(isolate, frame, std::move(world)) {} |
| 457 | 457 |
| 458 } // namespace blink | 458 } // namespace blink |
| OLD | NEW |