Index: chrome/browser/ui/web_contents_modal_dialog_manager.h |
diff --git a/chrome/browser/ui/web_contents_modal_dialog_manager.h b/chrome/browser/ui/web_contents_modal_dialog_manager.h |
index 3a392d493ac253c142ed361bea3dd4106dc2fb2a..93840953947bef594cc8631c8e82d7e5207d7067 100644 |
--- a/chrome/browser/ui/web_contents_modal_dialog_manager.h |
+++ b/chrome/browser/ui/web_contents_modal_dialog_manager.h |
@@ -7,8 +7,11 @@ |
#include <deque> |
+#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/ui/native_web_contents_modal_dialog_manager.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "content/public/browser/web_contents_user_data.h" |
+#include "ui/gfx/native_widget_types.h" |
class WebContentsModalDialog; |
class WebContentsModalDialogManagerDelegate; |
@@ -23,6 +26,9 @@ class WebContentsModalDialogManager |
WebContentsModalDialogManagerDelegate* delegate() const { return delegate_; } |
void set_delegate(WebContentsModalDialogManagerDelegate* d) { delegate_ = d; } |
+ static NativeWebContentsModalDialogManager* CreateNativeManager( |
+ WebContentsModalDialogManager* manager); |
+ |
// Adds the given dialog to the list of child dialogs. The dialog will notify |
// via WillClose() when it is being destroyed. |
void AddDialog(WebContentsModalDialog* dialog); |
@@ -47,6 +53,9 @@ class WebContentsModalDialogManager |
: manager_(manager) {} |
void CloseAllDialogs() { manager_->CloseAllDialogs(); } |
+ void ResetNativeManager(NativeWebContentsModalDialogManager* delegate) { |
+ manager_->native_manager_.reset(delegate); |
+ } |
private: |
WebContentsModalDialogManager* manager_; |
@@ -86,6 +95,9 @@ class WebContentsModalDialogManager |
// Delegate for notifying our owner about stuff. Not owned by us. |
WebContentsModalDialogManagerDelegate* delegate_; |
+ // Delegate for native UI-specific functions on the dialog. |
+ scoped_ptr<NativeWebContentsModalDialogManager> native_manager_; |
+ |
// All active dialogs. |
WebContentsModalDialogList child_dialogs_; |