summaryrefslogtreecommitdiffstats
path: root/webkit/default_plugin/install_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/default_plugin/install_dialog.h')
-rw-r--r--webkit/default_plugin/install_dialog.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/webkit/default_plugin/install_dialog.h b/webkit/default_plugin/install_dialog.h
index d755827..c07c554 100644
--- a/webkit/default_plugin/install_dialog.h
+++ b/webkit/default_plugin/install_dialog.h
@@ -8,6 +8,7 @@
#include <atlbase.h>
#include <atlwin.h>
#include <string>
+#include <vector>
#include "webkit/default_plugin/default_plugin_resources.h"
@@ -18,11 +19,6 @@ class PluginInstallerImpl;
// where it would be downloaded from, etc.
class PluginInstallDialog : public CDialogImpl<PluginInstallDialog> {
public:
- PluginInstallDialog()
- : plugin_impl_(NULL) {
- }
- ~PluginInstallDialog() {}
-
enum {IDD = IDD_DEFAULT_PLUGIN_INSTALL_DIALOG};
BEGIN_MSG_MAP(PluginInstallDialog)
@@ -31,26 +27,33 @@ class PluginInstallDialog : public CDialogImpl<PluginInstallDialog> {
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
END_MSG_MAP()
- bool Initialize(PluginInstallerImpl* plugin_impl,
- const std::wstring& plugin_name);
+ // Creates or returns the existing object for the given plugin name.
+ // Call RemoveInstaller when done.
+ static PluginInstallDialog* AddInstaller(PluginInstallerImpl* plugin_impl,
+ const std::wstring& plugin_name);
+
+ // Lets this object know that the given installer object is going away.
+ void RemoveInstaller(PluginInstallerImpl* installer);
+
+ void ShowInstallDialog();
+
+ private:
+ PluginInstallDialog(const std::wstring& plugin_name);
+ ~PluginInstallDialog();
// Implemented to ensure that we handle RTL layouts correctly.
HWND Create(HWND parent_window, LPARAM init_param);
- protected:
LRESULT OnInitDialog(UINT message, WPARAM wparam, LPARAM lparam,
BOOL& handled);
LRESULT OnGetPlugin(WORD notify_code, WORD id, HWND wnd_ctl, BOOL &handled);
LRESULT OnCancel(WORD notify_code, WORD id, HWND wnd_ctl, BOOL &handled);
- // Determines whether the UI layout is right-to-left.
- bool IsRTLLayout() const;
-
// Wraps the string with Unicode directionality characters in order to make
// sure BiDi text is rendered correctly when the UI layout is right-to-left.
void AdjustTextDirectionality(std::wstring* text) const;
- PluginInstallerImpl* plugin_impl_;
+ std::vector<PluginInstallerImpl*> installers_;
std::wstring plugin_name_;
};