summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/frame
diff options
context:
space:
mode:
authorxji@chromium.org <xji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-18 02:34:17 +0000
committerxji@chromium.org <xji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-18 02:34:17 +0000
commit02d5ca8130c52ff90a2ac906a4e48c317f965797 (patch)
treedb23bf5a00cb5d3450938071dad0ebdea3196a3d /chrome/browser/views/frame
parent8d8be886ac2e0454b36404d6f2569ad72629088f (diff)
downloadchromium_src-02d5ca8130c52ff90a2ac906a4e48c317f965797.zip
chromium_src-02d5ca8130c52ff90a2ac906a4e48c317f965797.tar.gz
chromium_src-02d5ca8130c52ff90a2ac906a4e48c317f965797.tar.bz2
This CL fixes issue 4224: Window Management controls don't work with maximized RTL Chrome windows.
When checking whether a point is within a window management button view's boundary, need to apply mirroring transformation on the view's boundary to work for RTL chrome. http://crbug.com/4224 TEST: 1. Launch Chrome with any RTL (Eg: he, ar) 2. Maximize the browser window. 3. Hover over window management controls (min,restore,close), they all work correctly in the sense that the buttons got highlighted and react to user events. (without this fix, when hover over window management controls, the buttons won't get highlighted at all and they won't react to user events) Review URL: http://codereview.chromium.org/14129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7205 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/frame')
-rw-r--r--chrome/browser/views/frame/opaque_non_client_view.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome/browser/views/frame/opaque_non_client_view.cc b/chrome/browser/views/frame/opaque_non_client_view.cc
index f7bfe22..c6d6ce4 100644
--- a/chrome/browser/views/frame/opaque_non_client_view.cc
+++ b/chrome/browser/views/frame/opaque_non_client_view.cc
@@ -657,7 +657,8 @@ views::View* OpaqueNonClientView::GetViewForPoint(const gfx::Point& point,
for (int i = 0; i < arraysize(views); ++i) {
if (!views[i]->IsVisible())
continue;
- if (views[i]->bounds().Contains(point))
+ // Apply mirroring transformation on view bounds for RTL chrome.
+ if (views[i]->GetBounds(APPLY_MIRRORING_TRANSFORMATION).Contains(point))
return views[i];
}
return View::GetViewForPoint(point, can_create_floating);