From a40c12aad15ca01029dce484284b433527511d76 Mon Sep 17 00:00:00 2001
From: "sky@google.com" <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri, 12 Dec 2008 18:32:22 +0000
Subject: Fixes bookmark menus so that they align properly when rtl.

BUG=5418
TEST=see bug

Review URL: http://codereview.chromium.org/14053

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6902 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/browser/views/bookmark_manager_view.cc | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

(limited to 'chrome')

diff --git a/chrome/browser/views/bookmark_manager_view.cc b/chrome/browser/views/bookmark_manager_view.cc
index 1f39d0f..4971019 100644
--- a/chrome/browser/views/bookmark_manager_view.cc
+++ b/chrome/browser/views/bookmark_manager_view.cc
@@ -483,11 +483,14 @@ void BookmarkManagerView::RunMenu(views::View* source,
   if (!GetBookmarkModel()->IsLoaded())
     return;
 
+  int menu_x = pt.x;
+  menu_x += UILayoutIsRightToLeft() ? (source->width() - 5) :
+                                      (-source->width() + 5);
   if (source->GetID() == kOrganizeMenuButtonID) {
-    ShowMenu(hwnd, pt.x - source->width() + 5, pt.y + 2,
+    ShowMenu(hwnd, menu_x, pt.y + 2,
              BookmarkContextMenu::BOOKMARK_MANAGER_ORGANIZE_MENU);
   } else if (source->GetID() == kToolsMenuButtonID) {
-    ShowToolsMenu(hwnd, pt.x - source->width() + 5, pt.y + 2);
+    ShowToolsMenu(hwnd, menu_x, pt.y + 2);
   } else {
     NOTREACHED();
   }
@@ -696,8 +699,10 @@ void BookmarkManagerView::ShowToolsMenu(HWND host, int x, int y) {
   menu.AppendMenuItemWithLabel(
           IDS_BOOKMARK_MANAGER_EXPORT_MENU,
           l10n_util::GetString(IDS_BOOKMARK_MANAGER_EXPORT_MENU));
-  menu.RunMenuAt(GetWidget()->GetHWND(), gfx::Rect(x, y, 0, 0),
-                 views::MenuItemView::TOPLEFT, true);
+  views::MenuItemView::AnchorPosition anchor =
+      UILayoutIsRightToLeft() ? views::MenuItemView::TOPRIGHT :
+                                views::MenuItemView::TOPLEFT;
+  menu.RunMenuAt(GetWidget()->GetHWND(), gfx::Rect(x, y, 0, 0), anchor, true);
 }
 
 void BookmarkManagerView::ShowImportBookmarksFileChooser() {
-- 
cgit v1.1