Comment #9 on issue 458 by bugdro...@chromium.org: Chrome resize bottom-right corner is unusable - resize corner instead of a resize box http://code.google.com/p/chromium/issues/detail?id=458
The following revision refers to this bug: http://src.chromium.org/viewvc/chrome?view=rev&revision=9408 ------------------------------------------------------------------------ r9408 | m...@chromium.org | 2009-02-09 12:10:17 -0800 (Mon, 09 Feb 2009) | 31 lines Changed paths: M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_window.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_window_cocoa.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_window_cocoa.mm?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_window_gtk.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_window_gtk.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_view_host.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_view_host.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_view_host_delegate.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view_win.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view_win.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/tab_contents_delegate.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/web_contents.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/tab_contents/web_contents.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/download_shelf_view.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/download_shelf_view.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/browser_view.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/browser_view.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/render_messages_internal.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/slide_animation.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/temp_scaffolding_stubs.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_widget.cc?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_widget.h?r1=9408&r2=9407 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/test_browser_window.h?r1=9408&r2=9407 D /trunk/src/chrome/views/resize_corner.cc D /trunk/src/chrome/views/resize_corner.h M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/views.vcproj?r1=9408&r2=9407 Add a new resizer corner. To display a resize bitmap and handle the mouse interactions as requested in http://code.google.com/p/chromium/issues/detail?id=458. BUG=458 There are unfortunately two cases to handle and they must be handled separately. The first one is when there are no bottom shelf like the download bar, and the case where there is one. For the case without, we must draw on top of what we receive from WebKit, so we intercept the bitmap in RenderWidgetHostViewWin::OnPaint() so that we can draw the resize corner bitmap on top of it (taking into account whether we are in a right to left language or not). For the case where we have a bottom shelf, we use a dedicated view that we properly layout on top of the bottom shelf view (which takes care of handling the RTL language case for us). Same split for the mouse interactions. Without the bottom shelf, we must deal with it in RenderWidgetHostViewWin::OnMouseEvent() by sending the root window a WM_NCLBUTTONDOWN message with either HTBOTTOMRIGHT or HTBOTTOMLEFT (based on the RTL setting) and let the OS take care of the resizing. IF we have a bottom shelf, we must deal with the mouse interaction in BrowserView::NonClientHitTest() to either return HTBOTTOMRIGHT or HTBOTTOMLEFT (again, based on the RTL setting) and, again, let the OS take care of the resizing. More details here: http://code.google.com/p/chromium/wiki/BrowserViewResizer ------------------------------------------------------------------------ -- 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 -~----------~----~----~----~------~----~------~--~---