summaryrefslogtreecommitdiffstats
path: root/chrome/browser/plugin_installer.h
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-26 17:00:33 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-26 17:00:33 +0000
commit3240d2502106b171635231826c72b0f440fba9c9 (patch)
treecd4efdddffd712446f042c3b86e77cc4d645ba12 /chrome/browser/plugin_installer.h
parent1efa8696f8388ca66491c68508f0c75d69d6f1d0 (diff)
downloadchromium_src-3240d2502106b171635231826c72b0f440fba9c9.zip
chromium_src-3240d2502106b171635231826c72b0f440fba9c9.tar.gz
chromium_src-3240d2502106b171635231826c72b0f440fba9c9.tar.bz2
Keep infobar visible during plug-in installation and show installation state.
Instead of dismissing the infobar when the user accepts it, it's now dismissed when the last missing plug-in placeholder is gone (because we loaded the actual plug-in). BUG=110701 TEST=none Review URL: http://codereview.chromium.org/9269007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119246 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_installer.h')
-rw-r--r--chrome/browser/plugin_installer.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/chrome/browser/plugin_installer.h b/chrome/browser/plugin_installer.h
index 514d919..6f76967 100644
--- a/chrome/browser/plugin_installer.h
+++ b/chrome/browser/plugin_installer.h
@@ -12,6 +12,7 @@
class FilePath;
class PluginInstallerObserver;
+class WeakPluginInstallerObserver;
namespace net {
class URLRequestContextGetter;
@@ -34,6 +35,9 @@ class PluginInstaller {
void AddObserver(PluginInstallerObserver* observer);
void RemoveObserver(PluginInstallerObserver* observer);
+ void AddWeakObserver(WeakPluginInstallerObserver* observer);
+ void RemoveWeakObserver(WeakPluginInstallerObserver* observer);
+
State state() const { return state_; }
// Unique identifier for the plug-in. Should be kept in sync with the
@@ -55,12 +59,17 @@ class PluginInstaller {
void StartInstalling(net::URLRequestContextGetter* request_context);
+ // Called when the browser opened the download URL in a new tab, to notify
+ // observers.
+ void DidOpenDownloadURL();
+
private:
void DidFinishDownload(const FilePath& downloaded_file);
void DownloadError(const std::string& msg);
State state_;
ObserverList<PluginInstallerObserver> observers_;
+ ObserverList<WeakPluginInstallerObserver> weak_observers_;
std::string identifier_;
GURL plugin_url_;