| Index: third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp b/third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp
|
| index 3fcba5514d4016c656052ed1c962fa0d90d7a9cf..fc2e9215b284b67b322f5a16ff27f740c565b5c6 100644
|
| --- a/third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp
|
| @@ -5,6 +5,7 @@
|
| #include "web/WebRemoteFrameImpl.h"
|
|
|
| #include "bindings/core/v8/RemoteWindowProxy.h"
|
| +#include "bindings/core/v8/V8Window.h"
|
| #include "core/dom/Fullscreen.h"
|
| #include "core/dom/RemoteSecurityContext.h"
|
| #include "core/dom/SecurityContext.h"
|
| @@ -26,6 +27,7 @@
|
| #include "web/RemoteFrameOwner.h"
|
| #include "web/WebLocalFrameImpl.h"
|
| #include "web/WebViewImpl.h"
|
| +#include "wtf/debug/Alias.h"
|
|
|
| namespace blink {
|
|
|
| @@ -215,9 +217,23 @@ v8::Local<v8::Context> WebRemoteFrameImpl::mainWorldScriptContext() const {
|
|
|
| v8::Local<v8::Context> WebRemoteFrameImpl::deprecatedMainWorldScriptContext()
|
| const {
|
| - return static_cast<RemoteWindowProxy*>(
|
| - frame()->windowProxy(DOMWrapperWorld::mainWorld()))
|
| - ->contextIfInitialized();
|
| + v8::Local<v8::Context> context =
|
| + static_cast<RemoteWindowProxy*>(
|
| + frame()->windowProxy(DOMWrapperWorld::mainWorld()))
|
| + ->contextIfInitialized();
|
| +
|
| + DOMWindow* window = frame()->domWindow();
|
| + // Prevent this local from getting optimized out, and hopefully, the heap
|
| + // contents captured into minidumps.
|
| + WTF::debug::alias(&window);
|
| +
|
| + v8::Local<v8::Object> globalProxy = context->Global();
|
| + CHECK(!globalProxy.IsEmpty());
|
| + CHECK(V8Window::hasInstance(globalProxy, v8::Isolate::GetCurrent()));
|
| + CHECK(window);
|
| + CHECK_EQ(window, V8Window::toImpl(globalProxy));
|
| +
|
| + return context;
|
| }
|
|
|
| void WebRemoteFrameImpl::reload(WebFrameLoadType) {
|
|
|