Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index 7101411854cac8efa6edc0dc8410dacfa847754b..20c9d6bf5537e5fb86dbdf07145d27866768bae8 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -236,6 +236,13 @@ void ChromeContentRendererClient::RenderThreadStarted() { |
RenderThread* thread = RenderThread::Get(); |
chrome_observer_.reset(new ChromeRenderProcessObserver(this)); |
+ |
+ // Extensions clients must be created before extensions::Dispatcher. |
+ extensions::ExtensionsClient::Set( |
+ extensions::ChromeExtensionsClient::GetInstance()); |
+ extensions::ExtensionsRendererClient::Set( |
+ ChromeExtensionsRendererClient::GetInstance()); |
+ |
// ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and |
// injects it using SetExtensionDispatcher(). Don't overwrite it. |
if (!extension_dispatcher_) |
@@ -359,11 +366,6 @@ void ChromeContentRendererClient::RenderThreadStarted() { |
WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
extension_resource_scheme); |
- extensions::ExtensionsClient::Set( |
- extensions::ChromeExtensionsClient::GetInstance()); |
- extensions::ExtensionsRendererClient::Set( |
- ChromeExtensionsRendererClient::GetInstance()); |
- |
#if defined(OS_WIN) |
// Report if the renderer process has been patched by chrome_elf. |
// TODO(csharp): Remove once the renderer is no longer getting |