Index: chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc |
diff --git a/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc b/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc |
index 08fbf5bd4a9aaf327b08233f62e29685642ec06e..bed99eb67c3bec043ea5e1b7e96b8a3415e6439f 100644 |
--- a/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc |
+++ b/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc |
@@ -235,6 +235,7 @@ void ChromeExtensionsDispatcherDelegate::PopulateSourceMap( |
IDR_CHROME_DIRECT_SETTING_JS); |
// Platform app sources that are not API-specific.. |
+ source_map->RegisterSource("appView", IDR_APP_VIEW_JS); |
source_map->RegisterSource("tagWatcher", IDR_TAG_WATCHER_JS); |
source_map->RegisterSource("webview", IDR_WEBVIEW_CUSTOM_BINDINGS_JS); |
// Note: webView not webview so that this doesn't interfere with the |
@@ -293,6 +294,14 @@ void ChromeExtensionsDispatcherDelegate::RequireAdditionalModules( |
module_system->Require("denyWebView"); |
} |
} |
+ |
+ if (context_type == extensions::Feature::BLESSED_EXTENSION_CONTEXT) { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableAppView) && |
+ extension->permissions_data()->HasAPIPermission( |
+ extensions::APIPermission::kAppView)) { |
+ module_system->Require("appView"); |
+ } |
+ } |
} |
void ChromeExtensionsDispatcherDelegate::OnActiveExtensionsUpdated( |