Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: chrome/browser/ui/views/find_bar_host.cc

Issue 9402018: Experimental Extension Keybinding (first cut). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/find_bar_host.h" 5 #include "chrome/browser/ui/views/find_bar_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "chrome/browser/ui/find_bar/find_bar_controller.h" 9 #include "chrome/browser/ui/find_bar/find_bar_controller.h"
10 #include "chrome/browser/ui/find_bar/find_tab_helper.h" 10 #include "chrome/browser/ui/find_bar/find_tab_helper.h"
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 } 169 }
170 170
171 //////////////////////////////////////////////////////////////////////////////// 171 ////////////////////////////////////////////////////////////////////////////////
172 // FindBarWin, ui::AcceleratorTarget implementation: 172 // FindBarWin, ui::AcceleratorTarget implementation:
173 173
174 bool FindBarHost::AcceleratorPressed(const ui::Accelerator& accelerator) { 174 bool FindBarHost::AcceleratorPressed(const ui::Accelerator& accelerator) {
175 ui::KeyboardCode key = accelerator.key_code(); 175 ui::KeyboardCode key = accelerator.key_code();
176 if (key == ui::VKEY_RETURN && accelerator.IsCtrlDown()) { 176 if (key == ui::VKEY_RETURN && accelerator.IsCtrlDown()) {
177 // Ctrl+Enter closes the Find session and navigates any link that is active. 177 // Ctrl+Enter closes the Find session and navigates any link that is active.
178 find_bar_controller_->EndFindSession(FindBarController::kActivateSelection); 178 find_bar_controller_->EndFindSession(FindBarController::kActivateSelection);
179 return true;
179 } else if (key == ui::VKEY_ESCAPE) { 180 } else if (key == ui::VKEY_ESCAPE) {
180 // This will end the Find session and hide the window, causing it to loose 181 // This will end the Find session and hide the window, causing it to loose
181 // focus and in the process unregister us as the handler for the Escape 182 // focus and in the process unregister us as the handler for the Escape
182 // accelerator through the OnWillChangeFocus event. 183 // accelerator through the OnWillChangeFocus event.
183 find_bar_controller_->EndFindSession(FindBarController::kKeepSelection); 184 find_bar_controller_->EndFindSession(FindBarController::kKeepSelection);
185 return true;
184 } else { 186 } else {
185 NOTREACHED() << "Unknown accelerator"; 187 NOTREACHED() << "Unknown accelerator";
186 } 188 }
187 189
188 return true; 190 return false;
189 } 191 }
190 192
191 bool FindBarHost::CanHandleAccelerators() const { 193 bool FindBarHost::CanHandleAccelerators() const {
192 return true; 194 return true;
193 } 195 }
194 196
195 //////////////////////////////////////////////////////////////////////////////// 197 ////////////////////////////////////////////////////////////////////////////////
196 // FindBarTesting implementation: 198 // FindBarTesting implementation:
197 199
198 bool FindBarHost::GetFindBarWindowInfo(gfx::Point* position, 200 bool FindBarHost::GetFindBarWindowInfo(gfx::Point* position,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 // The BrowserView does Layout for the components that we care about 303 // The BrowserView does Layout for the components that we care about
302 // positioning relative to, so we ask it to tell us where we should go. 304 // positioning relative to, so we ask it to tell us where we should go.
303 *bounds = browser_view()->GetFindBarBoundingBox(); 305 *bounds = browser_view()->GetFindBarBoundingBox();
304 } 306 }
305 307
306 void FindBarHost::RegisterAccelerators() { 308 void FindBarHost::RegisterAccelerators() {
307 DropdownBarHost::RegisterAccelerators(); 309 DropdownBarHost::RegisterAccelerators();
308 310
309 // Register for Ctrl+Return. 311 // Register for Ctrl+Return.
310 ui::Accelerator escape(ui::VKEY_RETURN, false, true, false); 312 ui::Accelerator escape(ui::VKEY_RETURN, false, true, false);
311 focus_manager()->RegisterAccelerator(escape, this); 313 focus_manager()->RegisterAccelerator(
314 escape, ui::AcceleratorManager::kNormalPriority, this);
312 } 315 }
313 316
314 void FindBarHost::UnregisterAccelerators() { 317 void FindBarHost::UnregisterAccelerators() {
315 // Unregister Ctrl+Return. 318 // Unregister Ctrl+Return.
316 ui::Accelerator escape(ui::VKEY_RETURN, false, true, false); 319 ui::Accelerator escape(ui::VKEY_RETURN, false, true, false);
317 focus_manager()->UnregisterAccelerator(escape, this); 320 focus_manager()->UnregisterAccelerator(escape, this);
318 321
319 DropdownBarHost::UnregisterAccelerators(); 322 DropdownBarHost::UnregisterAccelerators();
320 } 323 }
321 324
322 //////////////////////////////////////////////////////////////////////////////// 325 ////////////////////////////////////////////////////////////////////////////////
323 // private: 326 // private:
324 327
325 void FindBarHost::GetWidgetPositionNative(gfx::Rect* avoid_overlapping_rect) { 328 void FindBarHost::GetWidgetPositionNative(gfx::Rect* avoid_overlapping_rect) {
326 gfx::Rect frame_rect = host()->GetTopLevelWidget()->GetWindowScreenBounds(); 329 gfx::Rect frame_rect = host()->GetTopLevelWidget()->GetWindowScreenBounds();
327 content::WebContentsView* tab_view = 330 content::WebContentsView* tab_view =
328 find_bar_controller_->tab_contents()->web_contents()->GetView(); 331 find_bar_controller_->tab_contents()->web_contents()->GetView();
329 gfx::Rect webcontents_rect; 332 gfx::Rect webcontents_rect;
330 tab_view->GetViewBounds(&webcontents_rect); 333 tab_view->GetViewBounds(&webcontents_rect);
331 avoid_overlapping_rect->Offset(0, webcontents_rect.y() - frame_rect.y()); 334 avoid_overlapping_rect->Offset(0, webcontents_rect.y() - frame_rect.y());
332 } 335 }
333 336
334 FindBarView* FindBarHost::find_bar_view() { 337 FindBarView* FindBarHost::find_bar_view() {
335 return static_cast<FindBarView*>(view()); 338 return static_cast<FindBarView*>(view());
336 } 339 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/dropdown_bar_host.cc ('k') | chrome/browser/ui/views/frame/browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698