Index: chrome/browser/extensions/extension_tab_helper.cc |
diff --git a/chrome/browser/extensions/extension_tab_helper.cc b/chrome/browser/extensions/extension_tab_helper.cc |
index e3dc992b841607737eed2f8db7efea2ca9eb5871..e1f941a2a0ac234a383ed616520f3645fb661aff 100644 |
--- a/chrome/browser/extensions/extension_tab_helper.cc |
+++ b/chrome/browser/extensions/extension_tab_helper.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/extensions/extension_tab_helper.h" |
+#include "base/command_line.h" |
#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sessions/restore_tab_helper.h" |
@@ -12,6 +13,7 @@ |
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper_delegate.h" |
#include "chrome/common/chrome_notification_types.h" |
+#include "chrome/common/chrome_switches.h" |
#include "chrome/common/extensions/extension_action.h" |
#include "chrome/common/extensions/extension_icon_set.h" |
#include "chrome/common/extensions/extension_messages.h" |
@@ -123,6 +125,8 @@ bool ExtensionTabHelper::OnMessageReceived(const IPC::Message& message) { |
OnDidGetApplicationInfo) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_InstallApplication, |
OnInstallApplication) |
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_InlineWebstoreInstall, |
+ OnInlineWebstoreInstall) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_Request, OnRequest) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
@@ -142,6 +146,23 @@ void ExtensionTabHelper::OnInstallApplication(const WebApplicationInfo& info) { |
wrapper_->delegate()->OnInstallApplication(wrapper_, info); |
} |
+void ExtensionTabHelper::OnInlineWebstoreInstall( |
+ const std::string& webstore_item_id) { |
+ if (!CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableInlineWebstoreInstall)) |
Aaron Boodman
2011/08/17 04:53:03
You should use curly braces when the condition wra
Mihai Parparita -not on Chrome
2011/08/17 23:00:16
Done.
|
+ return; |
+ |
+ // For now there is no inline installation UI, we just open the item's Web |
+ // Store page in a new tab. |
+ GURL webstore_item_url = |
+ GURL(::Extension::ChromeStoreItemDetailURLPrefix() + webstore_item_id); |
+ GetBrowser()->OpenURL(OpenURLParams( |
+ webstore_item_url, |
+ GetBrowser()->GetSelectedTabContents()->GetURL(), |
+ NEW_FOREGROUND_TAB, |
+ PageTransition::AUTO_BOOKMARK)); |
+} |
+ |
void ExtensionTabHelper::OnRequest( |
const ExtensionHostMsg_Request_Params& request) { |
extension_function_dispatcher_.Dispatch(request, |