| 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 eaf3db0f3a42329bef713d6583a24a8a31004acb..69878dbc9c00e6c4cad12f405c87a319cb651071 100644
|
| --- a/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc
|
| +++ b/chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc
|
| @@ -34,6 +34,7 @@
|
| #include "extensions/common/permissions/manifest_permission_set.h"
|
| #include "extensions/common/permissions/permission_set.h"
|
| #include "extensions/common/permissions/permissions_data.h"
|
| +#include "extensions/common/switches.h"
|
| #include "extensions/common/url_pattern_set.h"
|
| #include "extensions/renderer/dispatcher.h"
|
| #include "extensions/renderer/native_handler.h"
|
| @@ -238,6 +239,7 @@ void ChromeExtensionsDispatcherDelegate::PopulateSourceMap(
|
|
|
| // Platform app sources that are not API-specific..
|
| source_map->RegisterSource("appView", IDR_APP_VIEW_JS);
|
| + source_map->RegisterSource("extensionOptions", IDR_EXTENSION_OPTIONS_JS);
|
| source_map->RegisterSource("tagWatcher", IDR_TAG_WATCHER_JS);
|
| source_map->RegisterSource("webViewInternal",
|
| IDR_WEB_VIEW_INTERNAL_CUSTOM_BINDINGS_JS);
|
| @@ -311,6 +313,16 @@ void ChromeExtensionsDispatcherDelegate::RequireAdditionalModules(
|
| module_system->Require("denyAppView");
|
| }
|
| }
|
| +
|
| + if (context_type == extensions::Feature::BLESSED_EXTENSION_CONTEXT ||
|
| + context_type == extensions::Feature::UNBLESSED_EXTENSION_CONTEXT) {
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| + extensions::switches::kEnableEmbeddedExtensionOptions) &&
|
| + extension->permissions_data()->HasAPIPermission(
|
| + extensions::APIPermission::kEmbeddedExtensionOptions)) {
|
| + module_system->Require("extensionOptions");
|
| + }
|
| + }
|
| }
|
|
|
| void ChromeExtensionsDispatcherDelegate::OnActiveExtensionsUpdated(
|
|
|