summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-15 04:32:35 +0000
committermazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-15 04:32:35 +0000
commit5a7a583e86a3503c00a8e07e0b5f315c6a11a03f (patch)
treea61037a234db92147b0614fe7cdddd64b090805b
parent9b17389d8b282fdec7763094e12ee6c1eb43cdee (diff)
downloadchromium_src-5a7a583e86a3503c00a8e07e0b5f315c6a11a03f.zip
chromium_src-5a7a583e86a3503c00a8e07e0b5f315c6a11a03f.tar.gz
chromium_src-5a7a583e86a3503c00a8e07e0b5f315c6a11a03f.tar.bz2
Revert "Make most shotcut keys take effect on the keyboard overlay."
This reverts commit 9a675193fe08ff3dcdf089ace0e61d21dd14856b. TBR=tfarina@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81700 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc4
-rw-r--r--chrome/browser/ui/views/html_dialog_view.cc5
-rw-r--r--chrome/browser/ui/views/keyboard_overlay_delegate.cc23
-rw-r--r--chrome/browser/ui/views/keyboard_overlay_delegate.h4
-rw-r--r--chrome/browser/ui/views/keyboard_overlay_dialog_view.cc118
-rw-r--r--chrome/browser/ui/views/keyboard_overlay_dialog_view.h48
-rw-r--r--chrome/chrome_browser.gypi5
7 files changed, 32 insertions, 175 deletions
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 3b8d045..b7c7662 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -103,7 +103,7 @@
#endif
#if defined(OS_CHROMEOS)
-#include "chrome/browser/ui/views/keyboard_overlay_dialog_view.h"
+#include "chrome/browser/ui/views/keyboard_overlay_delegate.h"
#endif
using base::TimeDelta;
@@ -1186,7 +1186,7 @@ gfx::Rect BrowserView::GetInstantBounds() {
#if defined(OS_CHROMEOS)
void BrowserView::ShowKeyboardOverlay(gfx::NativeWindow owning_window) {
- KeyboardOverlayDialogView::ShowDialog(owning_window, this);
+ KeyboardOverlayDelegate::ShowDialog(owning_window);
}
#endif
diff --git a/chrome/browser/ui/views/html_dialog_view.cc b/chrome/browser/ui/views/html_dialog_view.cc
index 3887b6d..b922217 100644
--- a/chrome/browser/ui/views/html_dialog_view.cc
+++ b/chrome/browser/ui/views/html_dialog_view.cc
@@ -59,8 +59,9 @@ gfx::Size HtmlDialogView::GetPreferredSize() {
}
bool HtmlDialogView::AcceleratorPressed(const views::Accelerator& accelerator) {
- // Pressing ESC closes the dialog.
- DCHECK_EQ(ui::VKEY_ESCAPE, accelerator.GetKeyCode());
+ // Pressing Esc, Ctrl+Alt+/, or Ctrl+Alt+? closes the keyboard overlay.
+ DCHECK(ui::VKEY_ESCAPE == accelerator.GetKeyCode() ||
+ ui::VKEY_OEM_2 == accelerator.GetKeyCode());
OnDialogClosed(std::string());
return true;
}
diff --git a/chrome/browser/ui/views/keyboard_overlay_delegate.cc b/chrome/browser/ui/views/keyboard_overlay_delegate.cc
index 8d0f4ad..e12c75e 100644
--- a/chrome/browser/ui/views/keyboard_overlay_delegate.cc
+++ b/chrome/browser/ui/views/keyboard_overlay_delegate.cc
@@ -8,6 +8,9 @@
#include "base/memory/scoped_ptr.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/chromeos/frame/bubble_window.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/views/html_dialog_view.h"
#include "chrome/browser/ui/webui/html_dialog_ui.h"
#include "chrome/common/url_constants.h"
@@ -20,6 +23,26 @@ 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();
+ KeyboardOverlayDelegate* delegate = new KeyboardOverlayDelegate(
+ 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));
+ html_view->AddAccelerator(
+ views::Accelerator(ui::VKEY_OEM_2, true, true, true));
+
+ chromeos::BubbleWindow::Create(owning_window,
+ gfx::Rect(),
+ chromeos::BubbleWindow::STYLE_XSHAPE,
+ html_view);
+ html_view->window()->Show();
+}
+
KeyboardOverlayDelegate::KeyboardOverlayDelegate(
const std::wstring& title)
: title_(title),
diff --git a/chrome/browser/ui/views/keyboard_overlay_delegate.h b/chrome/browser/ui/views/keyboard_overlay_delegate.h
index 207f69b..bb48638 100644
--- a/chrome/browser/ui/views/keyboard_overlay_delegate.h
+++ b/chrome/browser/ui/views/keyboard_overlay_delegate.h
@@ -6,6 +6,7 @@
#define CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DELEGATE_H_
#include "chrome/browser/ui/webui/html_dialog_ui.h"
+#include "ui/gfx/native_widget_types.h"
class HtmlDialogView;
@@ -14,6 +15,9 @@ class KeyboardOverlayDelegate : public HtmlDialogUIDelegate {
public:
explicit KeyboardOverlayDelegate(const std::wstring& title);
+ // Shows the keyboard overlay dialog box.
+ static void ShowDialog(gfx::NativeWindow owning_window);
+
void set_view(HtmlDialogView* html_view) {
view_ = html_view;
}
diff --git a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc
deleted file mode 100644
index 659dfec..0000000
--- a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright (c) 2011 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.
-
-#include "chrome/browser/ui/views/keyboard_overlay_dialog_view.h"
-
-#include "chrome/browser/chromeos/frame/bubble_window.h"
-#include "chrome/browser/ui/browser_dialogs.h"
-#include "chrome/browser/ui/views/accelerator_table_gtk.h"
-#include "chrome/browser/ui/views/frame/browser_view.h"
-#include "chrome/browser/ui/views/keyboard_overlay_delegate.h"
-#include "chrome/browser/ui/views/window.h"
-#include "content/browser/tab_contents/tab_contents.h"
-#include "content/common/native_web_keyboard_event.h"
-#include "grit/generated_resources.h"
-#include "ui/base/keycodes/keyboard_codes.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "views/events/event.h"
-#include "views/widget/root_view.h"
-#include "views/widget/widget.h"
-#include "views/window/window.h"
-
-#if defined(OS_LINUX)
-#include "views/window/window_gtk.h"
-#endif
-
-namespace {
-struct Accelerator {
- ui::KeyboardCode keycode;
- bool shift_pressed;
- bool ctrl_pressed;
- bool alt_pressed;
-} kCloseAccelerators[] = {
- {ui::VKEY_OEM_2, false, true, true},
- {ui::VKEY_OEM_2, true, true, true},
- {ui::VKEY_ESCAPE, true, false, false},
-};
-} // namespace
-
-KeyboardOverlayDialogView::KeyboardOverlayDialogView(
- Profile* profile,
- HtmlDialogUIDelegate* delegate,
- BrowserView* parent_view)
- : HtmlDialogView(profile, delegate),
- parent_view_(parent_view) {
-}
-
-KeyboardOverlayDialogView::~KeyboardOverlayDialogView() {
-}
-
-void KeyboardOverlayDialogView::InitDialog() {
- DOMView::Init(profile(), NULL);
-
- tab_contents_->set_delegate(this);
-
- // Set the delegate. This must be done before loading the page. See
- // the comment above HtmlDialogUI in its header file for why.
- HtmlDialogUI::GetPropertyAccessor().SetProperty(tab_contents_->property_bag(),
- this);
-
- for (size_t i = 0; i < arraysize(kCloseAccelerators); ++i) {
- views::Accelerator accelerator(kCloseAccelerators[i].keycode,
- kCloseAccelerators[i].shift_pressed,
- kCloseAccelerators[i].ctrl_pressed,
- kCloseAccelerators[i].alt_pressed);
- close_accelerators_.insert(accelerator);
- AddAccelerator(accelerator);
- }
-
- for (size_t i = 0; i < browser::kAcceleratorMapLength; ++i) {
- views::Accelerator accelerator(browser::kAcceleratorMap[i].keycode,
- browser::kAcceleratorMap[i].shift_pressed,
- browser::kAcceleratorMap[i].ctrl_pressed,
- browser::kAcceleratorMap[i].alt_pressed);
- // Skip a sole ALT key since it's handled on the keyboard overlay.
- if (views::Accelerator(ui::VKEY_MENU, false, false, false) == accelerator) {
- continue;
- }
- // Skip accelerators for closing the dialog since they are already added.
- if (IsCloseAccelerator(accelerator)) {
- continue;
- }
- AddAccelerator(accelerator);
- }
-
- DOMView::LoadURL(GetDialogContentURL());
-}
-
-bool KeyboardOverlayDialogView::AcceleratorPressed(
- const views::Accelerator& accelerator) {
- if (!IsCloseAccelerator(accelerator)) {
- parent_view_->AcceleratorPressed(accelerator);
- }
- OnDialogClosed(std::string());
- return true;
-}
-
-void KeyboardOverlayDialogView::ShowDialog(
- gfx::NativeWindow owning_window, BrowserView* parent_view) {
- KeyboardOverlayDelegate* delegate = new KeyboardOverlayDelegate(
- UTF16ToWide(l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TITLE)));
- KeyboardOverlayDialogView* html_view =
- new KeyboardOverlayDialogView(parent_view->browser()->profile(),
- delegate,
- parent_view);
- delegate->set_view(html_view);
- html_view->InitDialog();
- chromeos::BubbleWindow::Create(owning_window,
- gfx::Rect(),
- chromeos::BubbleWindow::STYLE_XSHAPE,
- html_view);
- html_view->window()->Show();
-}
-
-bool KeyboardOverlayDialogView::IsCloseAccelerator(
- const views::Accelerator& accelerator) {
- return close_accelerators_.find(accelerator) != close_accelerators_.end();
-}
diff --git a/chrome/browser/ui/views/keyboard_overlay_dialog_view.h b/chrome/browser/ui/views/keyboard_overlay_dialog_view.h
deleted file mode 100644
index ac5fac2..0000000
--- a/chrome/browser/ui/views/keyboard_overlay_dialog_view.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) 2011 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 CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DIALOG_VIEW_H_
-#define CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DIALOG_VIEW_H_
-#pragma once
-
-#include <set>
-
-#include "chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h"
-#include "chrome/browser/ui/webui/html_dialog_ui.h"
-#include "chrome/browser/ui/views/html_dialog_view.h"
-#include "views/window/window_delegate.h"
-
-class BrowserView;
-
-// A customized dialog view for the keyboard overlay.
-class KeyboardOverlayDialogView : public HtmlDialogView {
- public:
- KeyboardOverlayDialogView(Profile* profile,
- HtmlDialogUIDelegate* delegate,
- BrowserView* parent_view);
- virtual ~KeyboardOverlayDialogView();
-
- // Initializes the contents of the dialog (the DOMView and the callbacks).
- void InitDialog();
-
- // Overridden from views::View:
- virtual bool AcceleratorPressed(const views::Accelerator& accelerator);
-
- // Shows the keyboard overlay.
- static void ShowDialog(gfx::NativeWindow owning_window, BrowserView* parent);
-
- private:
- // Returns true if |accelerator| is an accelerator for closing the dialog.
- bool IsCloseAccelerator(const views::Accelerator& accelerator);
-
- // Points to the view from which this dialog is created.
- BrowserView* parent_view_;
-
- // Contains accelerators for closing this dialog.
- std::set<views::Accelerator> close_accelerators_;
-
- DISALLOW_COPY_AND_ASSIGN(KeyboardOverlayDialogView);
-};
-
-#endif // CHROME_BROWSER_UI_VIEWS_KEYBOARD_OVERLAY_DIALOG_VIEW_H_
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 37efe96..a0bfb81 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -2986,8 +2986,6 @@
'browser/ui/views/js_modal_dialog_views.h',
'browser/ui/views/keyboard_overlay_delegate.cc',
'browser/ui/views/keyboard_overlay_delegate.h',
- 'browser/ui/views/keyboard_overlay_dialog_view.cc',
- 'browser/ui/views/keyboard_overlay_dialog_view.h',
'browser/ui/views/local_storage_info_view.cc',
'browser/ui/views/local_storage_info_view.h',
'browser/ui/views/local_storage_set_item_info_view.cc',
@@ -3741,7 +3739,6 @@
'browser/ui/browser_list_stub.cc',
'browser/ui/crypto_module_password_dialog_nss.cc',
'browser/ui/views/keyboard_overlay_delegate.cc',
- 'browser/ui/views/keyboard_overlay_dialog_view.cc',
'browser/ui/views/select_file_dialog.cc',
],
'conditions': [
@@ -3966,8 +3963,6 @@
['include', '^browser/ui/views/js_modal_dialog_views.h'],
['include', '^browser/ui/views/keyboard_overlay_delegate.cc'],
['include', '^browser/ui/views/keyboard_overlay_delegate.h'],
- ['include', '^browser/ui/views/keyboard_overlay_dialog_view.cc'],
- ['include', '^browser/ui/views/keyboard_overlay_dialog_view.h'],
['include', '^browser/ui/views/location_bar/click_handler.cc'],
['include', '^browser/ui/views/location_bar/click_handler.h'],
['include', '^browser/ui/views/location_bar/content_setting_image_view.cc'],