// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef ASH_KEYBOARD_OVERLAY_KEYBOARD_OVERLAY_VIEW_H_ #define ASH_KEYBOARD_OVERLAY_KEYBOARD_OVERLAY_VIEW_H_ #include "ash/ash_export.h" #include "ash/wm/overlay_event_filter.h" #include "base/compiler_specific.h" #include "ui/views/controls/webview/web_dialog_view.h" class GURL; namespace content { class BrowserContext; } namespace ui { class WebDialogDelegate; } // A customized dialog view for the keyboard overlay. class ASH_EXPORT KeyboardOverlayView : public views::WebDialogView, public ash::internal::OverlayEventFilter::Delegate { public: KeyboardOverlayView(content::BrowserContext* context, ui::WebDialogDelegate* delegate, WebContentsHandler* handler); virtual ~KeyboardOverlayView(); // Overridden from ash::internal::OverlayEventFilter::Delegate: virtual void Cancel() OVERRIDE; virtual bool IsCancelingKeyEvent(ui::KeyEvent* event) OVERRIDE; virtual aura::Window* GetWindow() OVERRIDE; // Shows the keyboard overlay. static void ShowDialog(content::BrowserContext* context, WebContentsHandler* handler, const GURL& url); private: // Overridden from views::WidgetDelegate: virtual void WindowClosing() OVERRIDE; DISALLOW_COPY_AND_ASSIGN(KeyboardOverlayView); }; #endif // ASH_KEYBOARD_OVERLAY_KEYBOARD_OVERLAY_VIEW_H_