Index: chrome/browser/renderer_host/chrome_render_view_host_observer.cc |
diff --git a/chrome/browser/renderer_host/chrome_render_view_host_observer.cc b/chrome/browser/renderer_host/chrome_render_view_host_observer.cc |
index 082a31521b3ccecaefb851079dc6317216611cf9..960c155902d1cfc742de0952a171f7e22e98b056 100644 |
--- a/chrome/browser/renderer_host/chrome_render_view_host_observer.cc |
+++ b/chrome/browser/renderer_host/chrome_render_view_host_observer.cc |
@@ -121,6 +121,13 @@ void ChromeRenderViewHostObserver::InitRenderViewForExtensions() { |
case Extension::TYPE_HOSTED_APP: |
case Extension::TYPE_PACKAGED_APP: |
case Extension::TYPE_PLATFORM_APP: |
+ // Always send a Loaded message before ActivateExtension so that |
+ // ExtensionDispatcher knows what Extension is active, not just its ID. |
+ // This is important for classifying the Extension's JavaScript context |
+ // correctly (see ExtensionDispatcher::ClassifyJavaScriptContext). |
+ Send(new ExtensionMsg_Loaded( |
not at google - send to devlin
2012/08/06 22:54:48
Maybe this could go in InitRenderViewHostForExtens
|
+ std::vector<ExtensionMsg_Loaded_Params>( |
+ 1, ExtensionMsg_Loaded_Params(extension)))); |
Send(new ExtensionMsg_ActivateExtension(extension->id())); |
break; |