diff options
author | rohitrao@chromium.org <rohitrao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-15 18:54:44 +0000 |
---|---|---|
committer | rohitrao@chromium.org <rohitrao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-15 18:54:44 +0000 |
commit | c63d5746297b26ab376cf537ad89468fae70d357 (patch) | |
tree | a71c60ef81d3777b89a8c6dfc8aa0153119a0c49 | |
parent | b67881840362e2bd88b73cb0317c5cf1c338847a (diff) | |
download | chromium_src-c63d5746297b26ab376cf537ad89468fae70d357.zip chromium_src-c63d5746297b26ab376cf537ad89468fae70d357.tar.gz chromium_src-c63d5746297b26ab376cf537ad89468fae70d357.tar.bz2 |
[Mac] Make the pageup, Shift-pageup, and Option-Shift-pageup keys scroll the underlying webpage when using the findbar.
BUG=http://crbug.com/17421
TEST=Try pressing pageup with focus in the findbar.
Review URL: http://codereview.chromium.org/204006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26246 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/cocoa/find_bar_cocoa_controller.mm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/find_bar_cocoa_controller.mm b/chrome/browser/cocoa/find_bar_cocoa_controller.mm index 4b6e89e..15f8ea3 100644 --- a/chrome/browser/cocoa/find_bar_cocoa_controller.mm +++ b/chrome/browser/cocoa/find_bar_cocoa_controller.mm @@ -113,6 +113,28 @@ } return YES; + } else if (command == @selector(pageUp:) || + command == @selector(pageUpAndModifySelection:) || + command == @selector(scrollPageUp:) || + command == @selector(pageDown:) || + command == @selector(pageDownAndModifySelection:) || + command == @selector(scrollPageDown:)) { + TabContents* contents = + findBarBridge_->GetFindBarController()->tab_contents(); + if (!contents) + return NO; + + // Sanity-check to make sure we got a keyboard event. + NSEvent* event = [NSApp currentEvent]; + if ([event type] != NSKeyDown && [event type] != NSKeyUp) + return NO; + + // Forward the event to the renderer. + // TODO(rohitrao): Should this call -[BaseView keyEvent:]? Is there code in + // that function that we want to keep or avoid? + RenderViewHost* render_view_host = contents->render_view_host(); + render_view_host->ForwardKeyboardEvent(NativeWebKeyboardEvent(event)); + return YES; } return NO; |