Comment #6 on issue 28839 by [email protected]: Optimize keyboard  
event flow between the browser and the renderer.
http://code.google.com/p/chromium/issues/detail?id=28839

The following revision refers to this bug:
     http://src.chromium.org/viewvc/chrome?view=rev&revision=34234

------------------------------------------------------------------------
r34234 | [email protected] | 2009-12-09 22:01:48 -0800 (Wed, 09 Dec 2009)  
| 20 lines
Changed paths:
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/blocked_popup_container_interactive_uitest.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_keyevents_browsertest.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_window.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/main_menu.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/cocoa/browser_window_cocoa.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/cocoa/browser_window_cocoa.mm?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_host.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_host.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/external_tab_container.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/external_tab_container.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gtk/browser_window_gtk.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gtk/browser_window_gtk.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_view_host.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_view_host.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_view_host_delegate.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_unittest.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view_mac.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view_mac.mm?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/interstitial_page.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_delegate.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_view.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_view.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_view_gtk.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_view_gtk.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_view_mac.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_view_mac.mm?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/browser_view.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/browser_view.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/notifications/balloon_view_host.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tab_contents/tab_contents_view_gtk.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tab_contents/tab_contents_view_gtk.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tab_contents/tab_contents_view_win.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tab_contents/tab_contents_view_win.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/render_messages_internal.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_widget.cc?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_widget.h?r1=34234&r2=34233
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/test_browser_window.h?r1=34234&r2=34233

Refactor the keyboard events handling code related to  
RenderViewHostDelegate::View and TabContentsDelegate interfaces.

Significant changes made by this CL:
1. The keyboard event handling code has been moved from TabContentsView  
implementation classes into BrowserWindow implementation classes.
Please refer to this discussion thread:  
http://groups.google.com/group/chromium-dev/browse_thread/thread/e6e0b5cc105659b7/9953c4308bb0000c
This change makes the keyboard event flow comply with the relationship  
between TabContents/TabContentsView and TabContentsDelegate/BrowserWindow.
Besides it, the code is also simplified a lot, for example, the keyboard  
event handling code in  
chrome/browser/views/tab_contents/tab_contents_view_{gtk,win}.cc are now  
merged into one copy and moved into  
chrome/browser/views/frame/browser_view.cc.

2. A pre-handle phrase has been added into the keyboard event handling  
flow. A keyboard event will be first sent to the browser for pre-handling  
before being sent to the renderer. Then if the event was not handled by the  
renderer, it'll be sent to the browser again for post-handling.

3. The keyboard accelerator handling code of Windows and Linux ports have  
been optimized to get rid off extra command lookup.

4. The keyboard event message flow between the browser and the renderer is  
changed back to full async mode, all complex logics introduced by revision  
29857 are removed.


BUG=24479, 26054, 26131, 28839
TEST=See bug reports.


Review URL: http://codereview.chromium.org/400012
------------------------------------------------------------------------


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

-- 
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs

Reply via email to