Chromium Code Reviews| Index: extensions/browser/extension_web_contents_observer.cc |
| diff --git a/extensions/browser/extension_web_contents_observer.cc b/extensions/browser/extension_web_contents_observer.cc |
| index 04335a527b8531cb9c7e3aac456528117b7be9ad..dec1e531dc262180f6f26e3b08823fa5a864c69d 100644 |
| --- a/extensions/browser/extension_web_contents_observer.cc |
| +++ b/extensions/browser/extension_web_contents_observer.cc |
| @@ -90,34 +90,18 @@ void ExtensionWebContentsObserver::RenderViewCreated( |
| } |
| } |
| - switch (type) { |
| - case Manifest::TYPE_EXTENSION: |
| - case Manifest::TYPE_USER_SCRIPT: |
| - case Manifest::TYPE_HOSTED_APP: |
| - case Manifest::TYPE_LEGACY_PACKAGED_APP: |
| - case Manifest::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). |
| - // We also have to include the tab-specific permissions here, since it's |
| - // an extension process. |
| - render_view_host->Send( |
| - new ExtensionMsg_Loaded(std::vector<ExtensionMsg_Loaded_Params>( |
| - 1, ExtensionMsg_Loaded_Params( |
| - extension, true /* include tab permissions */)))); |
| - render_view_host->Send( |
| - new ExtensionMsg_ActivateExtension(extension->id())); |
| - break; |
| - |
| - case Manifest::TYPE_UNKNOWN: |
| - case Manifest::TYPE_THEME: |
| - case Manifest::TYPE_SHARED_MODULE: |
| - break; |
| - |
| - case Manifest::NUM_LOAD_TYPES: |
| - NOTREACHED(); |
| - } |
| + // Tells the new view that it's hosted in an extension process. It would be |
| + // better to do this at process creation time (RendererStartupHelper), but |
| + // the information that it's an *extension* process isn't plumbed in. |
| + // |
| + // Note that because this code is run per *view* we may end up sending |
|
Devlin
2015/06/03 20:53:37
I think more important is that the Dispatcher is k
not at google - send to devlin
2015/06/03 21:53:03
The comment is about the fact that extension activ
|
| + // multiple redundant ExtensionMsg_ActivateExtension messages. For example, |
| + // opening a popup will load both the background page and the popup, 2 views. |
| + // |
| + // All of the above said, the concept of activating an extension should be |
| + // moot when site isolation is able to guarantee that no extension iframe can |
| + // live in an untrusted process. |
| + render_view_host->Send(new ExtensionMsg_ActivateExtension(extension->id())); |
| } |
| void ExtensionWebContentsObserver::RenderFrameCreated( |