diff --git a/apps/custom_launcher_page_contents.cc b/apps/custom_launcher_page_contents.cc index 2af3d3a96359ff..1c5eeae74146c1 100644 --- a/apps/custom_launcher_page_contents.cc +++ b/apps/custom_launcher_page_contents.cc @@ -14,6 +14,7 @@ #include "content/public/browser/site_instance.h" #include "content/public/browser/web_contents.h" #include "content/public/common/renderer_preferences.h" +#include "extensions/browser/view_type_utils.h" #include "extensions/common/extension_messages.h" namespace apps { @@ -45,6 +46,8 @@ void CustomLauncherPageContents::Initialize(content::BrowserContext* context, context, extension_id_, web_contents_.get(), app_delegate_.get())); web_contents_->SetDelegate(this); + extensions::SetViewType(web_contents(), extensions::VIEW_TYPE_LAUNCHER_PAGE); + // This observer will activate the extension when it is navigated to, which // allows Dispatcher to give it the proper context and makes it behave like an // extension. diff --git a/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc b/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc index 2672856af8dfe2..c56029e35931f5 100644 --- a/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc +++ b/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc @@ -66,7 +66,8 @@ ContextMenuContentType* ContextMenuContentTypeFactory::CreateInternal( const extensions::ViewType view_type = extensions::GetViewType(web_contents); - if (view_type == extensions::VIEW_TYPE_APP_WINDOW) + if (view_type == extensions::VIEW_TYPE_APP_WINDOW || + view_type == extensions::VIEW_TYPE_LAUNCHER_PAGE) return new ContextMenuContentTypePlatformApp(web_contents, params); if (view_type == extensions::VIEW_TYPE_EXTENSION_POPUP) diff --git a/chrome/browser/speech/chrome_speech_recognition_manager_delegate.cc b/chrome/browser/speech/chrome_speech_recognition_manager_delegate.cc index 69893ed429596b..d8b59d0a3947a8 100644 --- a/chrome/browser/speech/chrome_speech_recognition_manager_delegate.cc +++ b/chrome/browser/speech/chrome_speech_recognition_manager_delegate.cc @@ -431,6 +431,7 @@ void ChromeSpeechRecognitionManagerDelegate::CheckRenderViewType( if (view_type == extensions::VIEW_TYPE_TAB_CONTENTS || view_type == extensions::VIEW_TYPE_APP_WINDOW || + view_type == extensions::VIEW_TYPE_LAUNCHER_PAGE || view_type == extensions::VIEW_TYPE_VIRTUAL_KEYBOARD || view_type == extensions::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) { // If it is a tab, we can check for permission. For apps, this means diff --git a/extensions/common/view_type.cc b/extensions/common/view_type.cc index 6fbfa5f3b0141d..084e49bbd4176d 100644 --- a/extensions/common/view_type.cc +++ b/extensions/common/view_type.cc @@ -13,6 +13,7 @@ const char kViewTypePanel[] = "PANEL"; const char kViewTypeInfobar[] = "INFOBAR"; const char kViewTypeExtensionDialog[] = "EXTENSION_DIALOG"; const char kViewTypeAppWindow[] = "APP_WINDOW"; +const char kViewTypeLauncherPage[] = "LAUNCHER_PAGE"; const char kViewTypeAll[] = "ALL"; } // namespace extensions diff --git a/extensions/common/view_type.h b/extensions/common/view_type.h index f6d2eeb8fbce3b..8fd5e6fa41dcff 100644 --- a/extensions/common/view_type.h +++ b/extensions/common/view_type.h @@ -20,6 +20,7 @@ enum ViewType { VIEW_TYPE_EXTENSION_DIALOG, VIEW_TYPE_EXTENSION_INFOBAR, VIEW_TYPE_EXTENSION_POPUP, + VIEW_TYPE_LAUNCHER_PAGE, VIEW_TYPE_PANEL, VIEW_TYPE_TAB_CONTENTS, VIEW_TYPE_VIRTUAL_KEYBOARD, @@ -33,6 +34,7 @@ extern const char kViewTypeAppWindow[]; extern const char kViewTypeBackgroundPage[]; extern const char kViewTypeExtensionDialog[]; extern const char kViewTypeInfobar[]; +extern const char kViewTypeLauncherPage[]; extern const char kViewTypePanel[]; extern const char kViewTypePopup[]; extern const char kViewTypeTabContents[]; diff --git a/extensions/renderer/runtime_custom_bindings.cc b/extensions/renderer/runtime_custom_bindings.cc index 3815abcd1ee442..fb6851e0f5392a 100644 --- a/extensions/renderer/runtime_custom_bindings.cc +++ b/extensions/renderer/runtime_custom_bindings.cc @@ -147,6 +147,8 @@ void RuntimeCustomBindings::GetExtensionViews( view_type = VIEW_TYPE_EXTENSION_DIALOG; } else if (view_type_string == kViewTypeAppWindow) { view_type = VIEW_TYPE_APP_WINDOW; + } else if (view_type_string == kViewTypeLauncherPage) { + view_type = VIEW_TYPE_LAUNCHER_PAGE; } else if (view_type_string == kViewTypePanel) { view_type = VIEW_TYPE_PANEL; } else if (view_type_string != kViewTypeAll) {