        v8::Local<v8::Value> argv[]) override;
    v8::Local<v8::Context> mainWorldScriptContext() const override;
 +  v8::Local<v8::Context> worldScriptContext(
-+      v8::Isolate* isolate, int worldID, int extensionGroup) const override;
++      v8::Isolate* isolate, int worldID) const override;
    v8::Local<v8::Context> deprecatedMainWorldScriptContext() const override;
    void reload(WebFrameLoadType) override;
    void reloadWithOverrideURL(const WebURL& overrideUrl,
 diff --git a/third_party/WebKit/public/web/WebFrame.h b/third_party/WebKit/public/web/WebFrame.h
-index 855ed08..a3f1fc9 100644
+index 855ed08..5c10312c 100644
 --- a/third_party/WebKit/public/web/WebFrame.h
 +++ b/third_party/WebKit/public/web/WebFrame.h
 @@ -42,6 +42,7 @@

 }
 
+v8::Local<v8::Context> WebLocalFrameImpl::worldScriptContext(
+    v8::Isolate* isolate, int worldID, int extensionGroup) const {
+  PassRefPtr<DOMWrapperWorld> world = DOMWrapperWorld::ensureIsolatedWorld(
+      isolate, worldID, extensionGroup);
+  return ScriptState::forWorld(frame(), *world)->context();
+}
+

   return BindingSecurity::shouldAllowAccessToFrame(
       currentDOMWindow(mainThreadIsolate()), target->toImplBase()->frame(),
diff --git a/third_party/WebKit/Source/web/WebLocalFrameImpl.h b/third_party/WebKit/Source/web/WebLocalFrameImpl.h
index 6898061..b79db8d 100644
--- a/third_party/WebKit/Source/web/WebLocalFrameImpl.h
+++ b/third_party/WebKit/Source/web/WebLocalFrameImpl.h
@@ -145,6 +145,8 @@ class WEB_EXPORT WebLocalFrameImpl final
