webui: Extract WebDialogDelegate into its own header file.

BUG=125841
[email protected]
[email protected]

Review URL: https://chromiumcodereview.appspot.com/10301003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135085 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/ui/webui/web_dialog_ui.h b/chrome/browser/ui/webui/web_dialog_ui.h
index 43f1e5b..a20e4897 100644
--- a/chrome/browser/ui/webui/web_dialog_ui.h
+++ b/chrome/browser/ui/webui/web_dialog_ui.h
@@ -32,89 +32,7 @@
 class Size;
 }
 
-// Implement this class to receive notifications.
-class WebDialogDelegate {
- public:
-  // Returns true if the contents needs to be run in a modal dialog.
-  virtual ui::ModalType GetDialogModalType() const = 0;
-
-  // Returns the title of the dialog.
-  virtual string16 GetDialogTitle() const = 0;
-
-  // Returns the dialog's name identifier. Used to identify this dialog for
-  // state restoration.
-  virtual std::string GetDialogName() const;
-
-  // Get the HTML file path for the content to load in the dialog.
-  virtual GURL GetDialogContentURL() const = 0;
-
-  // Get WebUIMessageHandler objects to handle messages from the HTML/JS page.
-  // The handlers are used to send and receive messages from the page while it
-  // is still open.  Ownership of each handler is taken over by the WebUI
-  // hosting the page.
-  virtual void GetWebUIMessageHandlers(
-      std::vector<content::WebUIMessageHandler*>* handlers) const = 0;
-
-  // Get the size of the dialog.
-  virtual void GetDialogSize(gfx::Size* size) const = 0;
-
-  // Get the size of the dialog.
-  virtual void GetMinimumDialogSize(gfx::Size* size) const;
-
-  // Gets the JSON string input to use when showing the dialog.
-  virtual std::string GetDialogArgs() const = 0;
-
-  // A callback to notify the delegate that |source|'s loading state has
-  // changed.
-  virtual void OnLoadingStateChanged(content::WebContents* source) {}
-
-  // A callback to notify the delegate that the dialog closed.
-  // IMPORTANT: Implementations should delete |this| here (unless they've
-  // arranged for the delegate to be deleted in some other way, e.g. by
-  // registering it as a message handler in the WebUI object).
-  virtual void OnDialogClosed(const std::string& json_retval) = 0;
-
-  // A callback to notify the delegate that the contents have gone
-  // away. Only relevant if your dialog hosts code that calls
-  // windows.close() and you've allowed that.  If the output parameter
-  // is set to true, then the dialog is closed.  The default is false.
-  virtual void OnCloseContents(content::WebContents* source,
-                               bool* out_close_dialog) = 0;
-
-  // A callback to allow the delegate to dictate that the window should not
-  // have a title bar.  This is useful when presenting branded interfaces.
-  virtual bool ShouldShowDialogTitle() const = 0;
-
-  // A callback to allow the delegate to inhibit context menu or show
-  // customized menu.
-  // Returns true iff you do NOT want the standard context menu to be
-  // shown (because you want to handle it yourself).
-  virtual bool HandleContextMenu(const content::ContextMenuParams& params);
-
-  // A callback to allow the delegate to open a new URL inside |source|.
-  // On return |out_new_contents| should contain the WebContents the URL
-  // is opened in. Return false to use the default handler.
-  virtual bool HandleOpenURLFromTab(content::WebContents* source,
-                                    const content::OpenURLParams& params,
-                                    content::WebContents** out_new_contents);
-
-  // A callback to create a new tab with |new_contents|. |source| is the
-  // WebContent where the operation originated. |disposition| controls how the
-  // new tab should be opened. |initial_pos| is the position of the window if a
-  // new window is created. |user_gesture| is true if the operation was started
-  // by a user gesture. Return false to use the default handler.
-  virtual bool HandleAddNewContents(content::WebContents* source,
-                                    content::WebContents* new_contents,
-                                    WindowOpenDisposition disposition,
-                                    const gfx::Rect& initial_pos,
-                                    bool user_gesture);
-
-  // Stores the dialog bounds.
-  virtual void StoreDialogSize(const gfx::Size& dialog_size) {}
-
- protected:
-  virtual ~WebDialogDelegate() {}
-};
+class WebDialogDelegate;
 
 // Displays file URL contents inside a modal web dialog.
 //