summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/keyboard_overlay_delegate.cc
diff options
context:
space:
mode:
authormazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-13 03:38:28 +0000
committermazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-13 03:38:28 +0000
commit9459a99c6e59c2ce248985fce66f2d4712bb22a0 (patch)
tree3f5185f9b7f41bd7164bead2b8e14f7693ad6962 /chrome/browser/ui/views/keyboard_overlay_delegate.cc
parentdc67f74d8dd340b050441abb3a55a257ef91c0e2 (diff)
downloadchromium_src-9459a99c6e59c2ce248985fce66f2d4712bb22a0.zip
chromium_src-9459a99c6e59c2ce248985fce66f2d4712bb22a0.tar.gz
chromium_src-9459a99c6e59c2ce248985fce66f2d4712bb22a0.tar.bz2
Adjust the keyboard overlay size to the screen size.
BUG=chromium-os:663 TEST=manually on the chrome notebook Review URL: http://codereview.chromium.org/6820026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81361 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/keyboard_overlay_delegate.cc')
-rw-r--r--chrome/browser/ui/views/keyboard_overlay_delegate.cc20
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/ui/views/keyboard_overlay_delegate.cc b/chrome/browser/ui/views/keyboard_overlay_delegate.cc
index 930c9f4..e12c75e 100644
--- a/chrome/browser/ui/views/keyboard_overlay_delegate.cc
+++ b/chrome/browser/ui/views/keyboard_overlay_delegate.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/ui/views/keyboard_overlay_delegate.h"
+#include <algorithm>
+
#include "base/memory/scoped_ptr.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/chromeos/frame/bubble_window.h"
@@ -14,6 +16,12 @@
#include "chrome/common/url_constants.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "views/screen.h"
+
+
+static const int kBaseWidth = 1252;
+static const int kBaseHeight = 516;
+static const int kHorizontalMargin = 28;
void KeyboardOverlayDelegate::ShowDialog(gfx::NativeWindow owning_window) {
Browser* browser = BrowserList::GetLastActive();
@@ -21,6 +29,7 @@ void KeyboardOverlayDelegate::ShowDialog(gfx::NativeWindow owning_window) {
UTF16ToWide(l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TITLE)));
HtmlDialogView* html_view =
new HtmlDialogView(browser->profile(), delegate);
+ delegate->set_view(html_view);
html_view->InitDialog();
html_view->AddAccelerator(
views::Accelerator(ui::VKEY_OEM_2, false, true, true));
@@ -36,7 +45,8 @@ void KeyboardOverlayDelegate::ShowDialog(gfx::NativeWindow owning_window) {
KeyboardOverlayDelegate::KeyboardOverlayDelegate(
const std::wstring& title)
- : title_(title) {
+ : title_(title),
+ view_(NULL) {
}
KeyboardOverlayDelegate::~KeyboardOverlayDelegate() {
@@ -61,7 +71,13 @@ void KeyboardOverlayDelegate::GetWebUIMessageHandlers(
void KeyboardOverlayDelegate::GetDialogSize(
gfx::Size* size) const {
- size->SetSize(1252, 516);
+ using std::min;
+ DCHECK(view_);
+ gfx::Rect rect = views::Screen::GetMonitorAreaNearestWindow(
+ view_->native_view());
+ const int width = min(kBaseWidth, rect.width() - kHorizontalMargin);
+ const int height = width * kBaseHeight / kBaseWidth;
+ size->SetSize(width, height);
}
std::string KeyboardOverlayDelegate::GetDialogArgs() const {