Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: chrome/browser/find_bar_controller.cc

Issue 1073005: Move RTL related functions from app/l10n_util to base/i18n/rtl... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/external_tab_container.cc ('k') | chrome/browser/gtk/bookmark_bubble_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/find_bar_controller.h" 5 #include "chrome/browser/find_bar_controller.h"
6 6
7 #include "app/l10n_util.h" 7 #include "base/i18n/rtl.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/find_bar.h" 9 #include "chrome/browser/find_bar.h"
10 #include "chrome/browser/tab_contents/navigation_entry.h" 10 #include "chrome/browser/tab_contents/navigation_entry.h"
11 #include "chrome/common/notification_service.h" 11 #include "chrome/common/notification_service.h"
12 #include "chrome/browser/tab_contents/tab_contents.h" 12 #include "chrome/browser/tab_contents/tab_contents.h"
13 13
14 // The minimum space between the FindInPage window and the search result. 14 // The minimum space between the FindInPage window and the search result.
15 static const int kMinFindWndDistanceFromSelection = 5; 15 static const int kMinFindWndDistanceFromSelection = 5;
16 16
17 FindBarController::FindBarController(FindBar* find_bar) 17 FindBarController::FindBarController(FindBar* find_bar)
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 } 147 }
148 } 148 }
149 } 149 }
150 } 150 }
151 151
152 // static 152 // static
153 gfx::Rect FindBarController::GetLocationForFindbarView( 153 gfx::Rect FindBarController::GetLocationForFindbarView(
154 gfx::Rect view_location, 154 gfx::Rect view_location,
155 const gfx::Rect& dialog_bounds, 155 const gfx::Rect& dialog_bounds,
156 const gfx::Rect& avoid_overlapping_rect) { 156 const gfx::Rect& avoid_overlapping_rect) {
157 if (l10n_util::GetTextDirection() == l10n_util::RIGHT_TO_LEFT) { 157 if (base::i18n::IsRTL()) {
158 int boundary = dialog_bounds.width() - view_location.width(); 158 int boundary = dialog_bounds.width() - view_location.width();
159 view_location.set_x(std::min(view_location.x(), boundary)); 159 view_location.set_x(std::min(view_location.x(), boundary));
160 } else { 160 } else {
161 view_location.set_x(std::max(view_location.x(), dialog_bounds.x())); 161 view_location.set_x(std::max(view_location.x(), dialog_bounds.x()));
162 } 162 }
163 163
164 gfx::Rect new_pos = view_location; 164 gfx::Rect new_pos = view_location;
165 165
166 // If the selection rectangle intersects the current position on screen then 166 // If the selection rectangle intersects the current position on screen then
167 // we try to move our dialog to the left (right for RTL) of the selection 167 // we try to move our dialog to the left (right for RTL) of the selection
168 // rectangle. 168 // rectangle.
169 if (!avoid_overlapping_rect.IsEmpty() && 169 if (!avoid_overlapping_rect.IsEmpty() &&
170 avoid_overlapping_rect.Intersects(new_pos)) { 170 avoid_overlapping_rect.Intersects(new_pos)) {
171 if (l10n_util::GetTextDirection() == l10n_util::RIGHT_TO_LEFT) { 171 if (base::i18n::IsRTL()) {
172 new_pos.set_x(avoid_overlapping_rect.x() + 172 new_pos.set_x(avoid_overlapping_rect.x() +
173 avoid_overlapping_rect.width() + 173 avoid_overlapping_rect.width() +
174 (2 * kMinFindWndDistanceFromSelection)); 174 (2 * kMinFindWndDistanceFromSelection));
175 175
176 // If we moved it off-screen to the right, we won't move it at all. 176 // If we moved it off-screen to the right, we won't move it at all.
177 if (new_pos.x() + new_pos.width() > dialog_bounds.width()) 177 if (new_pos.x() + new_pos.width() > dialog_bounds.width())
178 new_pos = view_location; // Reset. 178 new_pos = view_location; // Reset.
179 } else { 179 } else {
180 new_pos.set_x(avoid_overlapping_rect.x() - new_pos.width() - 180 new_pos.set_x(avoid_overlapping_rect.x() - new_pos.width() -
181 kMinFindWndDistanceFromSelection); 181 kMinFindWndDistanceFromSelection);
(...skipping 20 matching lines...) Expand all
202 if (find_result.number_of_matches() > -1) { 202 if (find_result.number_of_matches() > -1) {
203 if (last_reported_matchcount_ > 0 && 203 if (last_reported_matchcount_ > 0 &&
204 find_result.number_of_matches() == 1 && 204 find_result.number_of_matches() == 1 &&
205 !find_result.final_update()) 205 !find_result.final_update())
206 return; // Don't let interim result override match count. 206 return; // Don't let interim result override match count.
207 last_reported_matchcount_ = find_result.number_of_matches(); 207 last_reported_matchcount_ = find_result.number_of_matches();
208 } 208 }
209 209
210 find_bar_->UpdateUIForFindResult(find_result, tab_contents_->find_text()); 210 find_bar_->UpdateUIForFindResult(find_result, tab_contents_->find_text());
211 } 211 }
OLDNEW
« no previous file with comments | « chrome/browser/external_tab_container.cc ('k') | chrome/browser/gtk/bookmark_bubble_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698