1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// Use of this source code is governed by a BSD-style license that can be 321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// found in the LICENSE file. 421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#ifndef CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DELEGATE_H_ 621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#define CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DELEGATE_H_ 721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/webui/html_dialog_ui.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass HtmlDialogView; 1221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenclass KeyboardOverlayDelegate : public HtmlDialogUIDelegate { 1421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen public: 15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen explicit KeyboardOverlayDelegate(const std::wstring& title); 1621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen void set_view(HtmlDialogView* html_view) { 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen view_ = html_view; 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen HtmlDialogView* view() { 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return view_; 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 2421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 2521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen private: 2621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen ~KeyboardOverlayDelegate(); 2721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 2821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // Overridden from HtmlDialogUI::Delegate: 2921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual bool IsDialogModal() const; 3021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual std::wstring GetDialogTitle() const; 3121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual GURL GetDialogContentURL() const; 3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual void GetWebUIMessageHandlers( 3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen std::vector<WebUIMessageHandler*>* handlers) const; 3421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual void GetDialogSize(gfx::Size* size) const; 3521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual std::string GetDialogArgs() const; 3621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual void OnDialogClosed(const std::string& json_retval); 3721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual void OnCloseContents(TabContents* source, bool* out_close_dialog); 3821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual bool ShouldShowDialogTitle() const; 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen virtual bool HandleContextMenu(const ContextMenuParams& params); 4021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 4121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // The dialog title. 4221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen std::wstring title_; 4321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // The view associated with this delegate. 45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // This class does not own the pointer. 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen HtmlDialogView* view_; 47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 4821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen DISALLOW_COPY_AND_ASSIGN(KeyboardOverlayDelegate); 4921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}; 5021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 5121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#endif // CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DELEGATE_H_ 52