summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-26 21:50:23 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-26 21:50:23 +0000
commitbb461530cb42d050c91bacc9ec1a6a48100c6be7 (patch)
tree8b88b90958fdd1d2dcdc666b4414a93ca833c97e /chrome/browser/ui
parent11740d25bd6ac9c9da9ceb99ba1ba59d3caabeeb (diff)
downloadchromium_src-bb461530cb42d050c91bacc9ec1a6a48100c6be7.zip
chromium_src-bb461530cb42d050c91bacc9ec1a6a48100c6be7.tar.gz
chromium_src-bb461530cb42d050c91bacc9ec1a6a48100c6be7.tar.bz2
Revert "Revert "Finish wiring up chrome.app.install().""
This reverts commit 89f4de523e9c916950f72c264cdefed662849124. TBR=aa@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67474 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r--chrome/browser/ui/browser.cc15
-rw-r--r--chrome/browser/ui/browser.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index b113408..24f7c6f 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -46,6 +46,7 @@
#include "chrome/browser/download/download_shelf.h"
#include "chrome/browser/download/download_started_animation.h"
#include "chrome/browser/extensions/crashed_extension_infobar.h"
+#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_browser_event_router.h"
#include "chrome/browser/extensions/extension_disabled_infobar_delegate.h"
#include "chrome/browser/extensions/extension_host.h"
@@ -97,6 +98,7 @@
#include "chrome/common/page_transition_types.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
+#include "chrome/common/web_apps.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
#include "grit/locale_settings.h"
@@ -3143,6 +3145,19 @@ void Browser::OnDidGetApplicationInfo(TabContents* tab_contents,
pending_web_app_action_ = NONE;
}
+void Browser::OnInstallApplication(TabContents* source,
+ const WebApplicationInfo& web_app) {
+ ExtensionsService* extensions_service = profile()->GetExtensionsService();
+ if (!extensions_service)
+ return;
+
+ scoped_refptr<CrxInstaller> installer(
+ new CrxInstaller(extensions_service,
+ extensions_service->show_extensions_prompts() ?
+ new ExtensionInstallUI(profile()) : NULL));
+ installer->InstallWebApp(web_app);
+}
+
void Browser::ContentRestrictionsChanged(TabContents* source) {
UpdateCommandsForContentRestrictionState();
}
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 79bde6d..faa316c 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -47,6 +47,7 @@ class SkBitmap;
class StatusBubble;
class TabNavigation;
class TabStripModel;
+struct WebApplicationInfo;
namespace gfx {
class Point;
}
@@ -776,6 +777,8 @@ class Browser : public TabHandlerDelegate,
NavigationType::Type navigation_type);
virtual void OnDidGetApplicationInfo(TabContents* tab_contents,
int32 page_id);
+ virtual void OnInstallApplication(TabContents* tab_contents,
+ const WebApplicationInfo& app_info);
virtual void ContentRestrictionsChanged(TabContents* source);
// Overridden from SelectFileDialog::Listener: