• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/ui/views/keyboard_overlay_delegate.h"
6 
7 #include <algorithm>
8 
9 #include "base/memory/scoped_ptr.h"
10 #include "base/utf_string_conversions.h"
11 #include "chrome/browser/ui/views/html_dialog_view.h"
12 #include "chrome/browser/ui/webui/html_dialog_ui.h"
13 #include "chrome/common/url_constants.h"
14 #include "grit/generated_resources.h"
15 #include "ui/base/l10n/l10n_util.h"
16 #include "views/screen.h"
17 
18 
19 static const int kBaseWidth = 1252;
20 static const int kBaseHeight = 516;
21 static const int kHorizontalMargin = 28;
22 
KeyboardOverlayDelegate(const std::wstring & title)23 KeyboardOverlayDelegate::KeyboardOverlayDelegate(
24     const std::wstring& title)
25     : title_(title),
26       view_(NULL) {
27 }
28 
~KeyboardOverlayDelegate()29 KeyboardOverlayDelegate::~KeyboardOverlayDelegate() {
30 }
31 
IsDialogModal() const32 bool KeyboardOverlayDelegate::IsDialogModal() const {
33   return true;
34 }
35 
GetDialogTitle() const36 std::wstring KeyboardOverlayDelegate::GetDialogTitle() const {
37   return title_;
38 }
39 
GetDialogContentURL() const40 GURL KeyboardOverlayDelegate::GetDialogContentURL() const {
41   std::string url_string(chrome::kChromeUIKeyboardOverlayURL);
42   return GURL(url_string);
43 }
44 
GetWebUIMessageHandlers(std::vector<WebUIMessageHandler * > * handlers) const45 void KeyboardOverlayDelegate::GetWebUIMessageHandlers(
46     std::vector<WebUIMessageHandler*>* handlers) const {
47 }
48 
GetDialogSize(gfx::Size * size) const49 void KeyboardOverlayDelegate::GetDialogSize(
50     gfx::Size* size) const {
51   using std::min;
52   DCHECK(view_);
53   gfx::Rect rect = views::Screen::GetMonitorAreaNearestWindow(
54       view_->native_view());
55   const int width = min(kBaseWidth, rect.width() - kHorizontalMargin);
56   const int height = width * kBaseHeight / kBaseWidth;
57   size->SetSize(width, height);
58 }
59 
GetDialogArgs() const60 std::string KeyboardOverlayDelegate::GetDialogArgs() const {
61   return "[]";
62 }
63 
OnDialogClosed(const std::string & json_retval)64 void KeyboardOverlayDelegate::OnDialogClosed(
65     const std::string& json_retval) {
66   delete this;
67   return;
68 }
69 
OnCloseContents(TabContents * source,bool * out_close_dialog)70 void KeyboardOverlayDelegate::OnCloseContents(TabContents* source,
71                                               bool* out_close_dialog) {
72 }
73 
ShouldShowDialogTitle() const74 bool KeyboardOverlayDelegate::ShouldShowDialogTitle() const {
75   return false;
76 }
77 
HandleContextMenu(const ContextMenuParams & params)78 bool KeyboardOverlayDelegate::HandleContextMenu(
79     const ContextMenuParams& params) {
80   return true;
81 }
82