diff options
author | koz@chromium.org <koz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-27 05:52:58 +0000 |
---|---|---|
committer | koz@chromium.org <koz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-27 05:52:58 +0000 |
commit | a00fe69ddb6d23223472ae5d52451f9b2140ad25 (patch) | |
tree | 7a3ab655f51232e630579d376f55ba3a546cb01f | |
parent | b40d5cb10fb3f094033083d060397898eaaa022a (diff) | |
download | chromium_src-a00fe69ddb6d23223472ae5d52451f9b2140ad25.zip chromium_src-a00fe69ddb6d23223472ae5d52451f9b2140ad25.tar.gz chromium_src-a00fe69ddb6d23223472ae5d52451f9b2140ad25.tar.bz2 |
Add new versions of DidCreateScriptContext() with extension_group.
This is the first of a two part change to plumb the extension_group parameter
from WebKit into ExtensionDispatcher::DidCreateScriptContext().
BUG=
TEST=chrome still compiles
Review URL: http://codereview.chromium.org/9395071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123713 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/renderer/chrome_content_renderer_client.cc | 6 | ||||
-rw-r--r-- | chrome/renderer/chrome_content_renderer_client.h | 1 | ||||
-rw-r--r-- | chrome/renderer/extensions/extension_dispatcher.cc | 13 | ||||
-rw-r--r-- | chrome/renderer/extensions/extension_dispatcher.h | 1 | ||||
-rw-r--r-- | content/public/renderer/content_renderer_client.h | 1 | ||||
-rw-r--r-- | content/renderer/mock_content_renderer_client.cc | 3 | ||||
-rw-r--r-- | content/renderer/mock_content_renderer_client.h | 1 | ||||
-rw-r--r-- | content/renderer/render_view_impl.cc | 10 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 5 | ||||
-rw-r--r-- | content/shell/shell_content_renderer_client.cc | 3 | ||||
-rw-r--r-- | content/shell/shell_content_renderer_client.h | 1 |
11 files changed, 35 insertions, 10 deletions
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index 059e338..20f7a19 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -717,8 +717,10 @@ bool ChromeContentRendererClient::ShouldPumpEventsDuringCookieMessage() { } void ChromeContentRendererClient::DidCreateScriptContext( - WebFrame* frame, v8::Handle<v8::Context> context, int world_id) { - extension_dispatcher_->DidCreateScriptContext(frame, context, world_id); + WebFrame* frame, v8::Handle<v8::Context> context, int extension_group, + int world_id) { + extension_dispatcher_->DidCreateScriptContext( + frame, context, extension_group, world_id); } void ChromeContentRendererClient::WillReleaseScriptContext( diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h index 40846e8..6cbf7d9 100644 --- a/chrome/renderer/chrome_content_renderer_client.h +++ b/chrome/renderer/chrome_content_renderer_client.h @@ -83,6 +83,7 @@ class ChromeContentRendererClient : public content::ContentRendererClient { virtual bool ShouldPumpEventsDuringCookieMessage() OVERRIDE; virtual void DidCreateScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) OVERRIDE; virtual void WillReleaseScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, diff --git a/chrome/renderer/extensions/extension_dispatcher.cc b/chrome/renderer/extensions/extension_dispatcher.cc index 01a5af3..f357830 100644 --- a/chrome/renderer/extensions/extension_dispatcher.cc +++ b/chrome/renderer/extensions/extension_dispatcher.cc @@ -288,7 +288,7 @@ namespace { // // TODO(koz): Plumb extension_group through to AllowScriptExtension() from // WebKit. -static int hack_DidCreateScriptContext_extension_group = 0; +static int g_hack_extension_group = 0; } @@ -297,7 +297,7 @@ bool ExtensionDispatcher::AllowScriptExtension( const std::string& v8_extension_name, int extension_group, int world_id) { - hack_DidCreateScriptContext_extension_group = extension_group; + g_hack_extension_group = extension_group; // NULL in unit tests. if (!RenderThread::Get()) @@ -350,14 +350,17 @@ bool ExtensionDispatcher::AllowScriptExtension( } void ExtensionDispatcher::DidCreateScriptContext( - WebFrame* frame, v8::Handle<v8::Context> v8_context, int world_id) { + WebFrame* frame, v8::Handle<v8::Context> v8_context, int extension_group, + int world_id) { + // TODO(koz): If the caller didn't pass extension_group, use the last value. + if (extension_group == -1) + extension_group = g_hack_extension_group; ChromeV8Context* context = new ChromeV8Context( v8_context, frame, GetExtensionID(frame, world_id), - ExtensionGroupToContextType( - hack_DidCreateScriptContext_extension_group)); + ExtensionGroupToContextType(extension_group)); v8_context_set_.Add(context); const Extension* extension = extensions_.GetByID(context->extension_id()); diff --git a/chrome/renderer/extensions/extension_dispatcher.h b/chrome/renderer/extensions/extension_dispatcher.h index 6e89a05..5f42c87 100644 --- a/chrome/renderer/extensions/extension_dispatcher.h +++ b/chrome/renderer/extensions/extension_dispatcher.h @@ -68,6 +68,7 @@ class ExtensionDispatcher : public content::RenderProcessObserver { void DidCreateScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id); void WillReleaseScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h index 58f3fe7..10b5902 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h @@ -143,6 +143,7 @@ class ContentRendererClient { // See the corresponding functions in WebKit::WebFrameClient. virtual void DidCreateScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) = 0; virtual void WillReleaseScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context>, diff --git a/content/renderer/mock_content_renderer_client.cc b/content/renderer/mock_content_renderer_client.cc index 5f9376e..c86d0ac 100644 --- a/content/renderer/mock_content_renderer_client.cc +++ b/content/renderer/mock_content_renderer_client.cc @@ -89,7 +89,8 @@ bool MockContentRendererClient::ShouldPumpEventsDuringCookieMessage() { } void MockContentRendererClient::DidCreateScriptContext( - WebKit::WebFrame* frame, v8::Handle<v8::Context> context, int world_id) { + WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) { } void MockContentRendererClient::WillReleaseScriptContext( diff --git a/content/renderer/mock_content_renderer_client.h b/content/renderer/mock_content_renderer_client.h index bb1cb2f..dfde022 100644 --- a/content/renderer/mock_content_renderer_client.h +++ b/content/renderer/mock_content_renderer_client.h @@ -56,6 +56,7 @@ class MockContentRendererClient : public ContentRendererClient { virtual bool ShouldPumpEventsDuringCookieMessage() OVERRIDE; virtual void DidCreateScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) OVERRIDE; virtual void WillReleaseScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index 64162139..6d9d687 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -3122,9 +3122,17 @@ void RenderViewImpl::didExhaustMemoryAvailableForScript(WebFrame* frame) { void RenderViewImpl::didCreateScriptContext(WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) { content::GetContentClient()->renderer()->DidCreateScriptContext( - frame, context, world_id); + frame, context, extension_group, world_id); +} + +void RenderViewImpl::didCreateScriptContext(WebFrame* frame, + v8::Handle<v8::Context> context, + int world_id) { + content::GetContentClient()->renderer()->DidCreateScriptContext( + frame, context, -1, world_id); } void RenderViewImpl::willReleaseScriptContext(WebFrame* frame, diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index c79204c..f52ac68 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -526,6 +526,11 @@ class RenderViewImpl : public RenderWidget, virtual void didExhaustMemoryAvailableForScript(WebKit::WebFrame* frame); virtual void didCreateScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context>, + int extension_group, + int world_id); + // TODO(koz): Remove once WebKit no longer calls this. + virtual void didCreateScriptContext(WebKit::WebFrame* frame, + v8::Handle<v8::Context>, int world_id); virtual void willReleaseScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context>, diff --git a/content/shell/shell_content_renderer_client.cc b/content/shell/shell_content_renderer_client.cc index 1cbdee5c..2bcb24e 100644 --- a/content/shell/shell_content_renderer_client.cc +++ b/content/shell/shell_content_renderer_client.cc @@ -95,7 +95,8 @@ bool ShellContentRendererClient::ShouldPumpEventsDuringCookieMessage() { } void ShellContentRendererClient::DidCreateScriptContext( - WebKit::WebFrame* frame, v8::Handle<v8::Context> context, int world_id) { + WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) { } void ShellContentRendererClient::WillReleaseScriptContext( diff --git a/content/shell/shell_content_renderer_client.h b/content/shell/shell_content_renderer_client.h index d02deb3..a28f4f0 100644 --- a/content/shell/shell_content_renderer_client.h +++ b/content/shell/shell_content_renderer_client.h @@ -57,6 +57,7 @@ class ShellContentRendererClient : public ContentRendererClient { virtual bool ShouldPumpEventsDuringCookieMessage() OVERRIDE; virtual void DidCreateScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, + int extension_group, int world_id) OVERRIDE; virtual void WillReleaseScriptContext(WebKit::WebFrame* frame, v8::Handle<v8::Context> context, |