summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webframeloaderclient_impl.cc
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-14 22:14:01 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-14 22:14:01 +0000
commitb6ce15971b4139103635132bb9c9d3cd2224973e (patch)
tree07ac0724aed49c2adb8d8c47aadeb23a34d3e324 /webkit/glue/webframeloaderclient_impl.cc
parent95c3c59d275042225cda4589525cb279f66f1f2c (diff)
downloadchromium_src-b6ce15971b4139103635132bb9c9d3cd2224973e.zip
chromium_src-b6ce15971b4139103635132bb9c9d3cd2224973e.tar.gz
chromium_src-b6ce15971b4139103635132bb9c9d3cd2224973e.tar.bz2
Chrome-side of fixes for content-script messaging.
This change adds registration of content scripts, parented to a frame's context. When a frame's context goes away, we unregister it and any content script contexts for it. There's a corresponding webkit change that lets us know when a content script context is created. Filed upstream as https://bugs.webkit.org/show_bug.cgi?id=27104. BUG=16228 TEST=install an extension with a content script that communicates with a parent process. Messages should be sendable both ways. Review URL: http://codereview.chromium.org/155309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20677 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webframeloaderclient_impl.cc')
-rw-r--r--webkit/glue/webframeloaderclient_impl.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/webkit/glue/webframeloaderclient_impl.cc b/webkit/glue/webframeloaderclient_impl.cc
index c5d4901..19f1096 100644
--- a/webkit/glue/webframeloaderclient_impl.cc
+++ b/webkit/glue/webframeloaderclient_impl.cc
@@ -130,18 +130,25 @@ void WebFrameLoaderClient::documentElementAvailable() {
d->DocumentElementAvailable(webframe_);
}
-void WebFrameLoaderClient::didCreateScriptContext() {
+void WebFrameLoaderClient::didCreateScriptContextForFrame() {
WebViewImpl* webview = webframe_->GetWebViewImpl();
WebViewDelegate* d = webview->delegate();
if (d)
- d->DidCreateScriptContext(webframe_);
+ d->DidCreateScriptContextForFrame(webframe_);
}
-void WebFrameLoaderClient::didDestroyScriptContext() {
+void WebFrameLoaderClient::didDestroyScriptContextForFrame() {
WebViewImpl* webview = webframe_->GetWebViewImpl();
WebViewDelegate* d = webview->delegate();
if (d)
- d->DidDestroyScriptContext(webframe_);
+ d->DidDestroyScriptContextForFrame(webframe_);
+}
+
+void WebFrameLoaderClient::didCreateIsolatedScriptContext() {
+ WebViewImpl* webview = webframe_->GetWebViewImpl();
+ WebViewDelegate* d = webview->delegate();
+ if (d)
+ d->DidCreateIsolatedScriptContext(webframe_);
}
void WebFrameLoaderClient::didPerformFirstNavigation() const {