| 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 024b4ebd14f4b3dba20ef11040bec3a7888c537f..cd8c9e33fbf75f569e7893c933a8fca4f865d142 100644
|
| --- a/chrome/browser/extensions/extension_tab_helper.cc
|
| +++ b/chrome/browser/extensions/extension_tab_helper.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/command_line.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/webstore_inline_installer.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sessions/restore_tab_helper.h"
|
| #include "chrome/browser/ui/browser.h"
|
| @@ -154,15 +155,9 @@ void ExtensionTabHelper::OnInlineWebstoreInstall(
|
| 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_urls::GetWebstoreItemDetailURLPrefix() + webstore_item_id);
|
| - GetBrowser()->OpenURL(OpenURLParams(
|
| - webstore_item_url,
|
| - GetBrowser()->GetSelectedTabContents()->GetURL(),
|
| - NEW_FOREGROUND_TAB,
|
| - PageTransition::AUTO_BOOKMARK));
|
| + scoped_refptr<WebstoreInlineInstaller> installer(new WebstoreInlineInstaller(
|
| + tab_contents(), webstore_item_id, this));
|
| + installer->BeginInstall();
|
| }
|
|
|
| void ExtensionTabHelper::OnRequest(
|
| @@ -213,6 +208,15 @@ Browser* ExtensionTabHelper::GetBrowser() {
|
| return NULL;
|
| }
|
|
|
| +void ExtensionTabHelper::OnInlineInstallSuccess() {
|
| + Send(new ExtensionMsg_InlineWebstoreInstallResponse(routing_id(), true, ""));
|
| +}
|
| +
|
| +void ExtensionTabHelper::OnInlineInstallFailure(const std::string& error) {
|
| + Send(new ExtensionMsg_InlineWebstoreInstallResponse(
|
| + routing_id(), false, error));
|
| +}
|
| +
|
| TabContents* ExtensionTabHelper::GetAssociatedTabContents() const {
|
| return tab_contents();
|
| }
|
|
|