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

Unified Diff: chrome/browser/ui/views/omnibox/omnibox_view_win.cc

Issue 19666006: Supports FontList in Textfield. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removes ResourceBundle::Delegate::GetFontList. Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/omnibox/omnibox_view_win.cc
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_win.cc b/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
index 2aa344633e8a26cdac4435f1b5cedd794f9a2989..a3617ea7dfc0770bc38a4b3e920760383d77e962 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
@@ -464,12 +464,12 @@ OmniboxViewWin::OmniboxViewWin(OmniboxEditController* controller,
LocationBarView* location_bar,
CommandUpdater* command_updater,
bool popup_window_mode,
- const gfx::Font& font,
+ const gfx::FontList& font_list,
int font_y_offset)
: OmniboxView(location_bar->profile(), controller, toolbar_model,
command_updater),
- popup_view_(
- OmniboxPopupContentsView::Create(font, this, model(), location_bar)),
+ popup_view_(OmniboxPopupContentsView::Create(
+ font_list, this, model(), location_bar)),
location_bar_(location_bar),
popup_window_mode_(popup_window_mode),
force_hidden_(false),
@@ -479,7 +479,7 @@ OmniboxViewWin::OmniboxViewWin(OmniboxEditController* controller,
can_discard_mousemove_(false),
ignore_ime_messages_(false),
delete_at_end_pressed_(false),
- font_(font),
+ font_list_(font_list),
font_y_adjustment_(font_y_offset),
possible_drag_(false),
in_drag_(false),
@@ -504,7 +504,7 @@ OmniboxViewWin::OmniboxViewWin(OmniboxEditController* controller,
Create(location_bar->GetWidget()->GetNativeView(), 0, 0, 0,
l10n_util::GetExtendedStyles());
SetReadOnly(popup_window_mode_);
- gfx::NativeFont native_font(font_.GetNativeFont());
+ gfx::NativeFont native_font(font_list_.GetPrimaryFont().GetNativeFont());
SetFont(native_font);
// IMF_DUALFONT (on by default) is supposed to use one font for ASCII text
@@ -531,7 +531,7 @@ OmniboxViewWin::OmniboxViewWin(OmniboxEditController* controller,
base::win::ScopedSelectObject font_in_dc(screen_dc, native_font);
TEXTMETRIC tm = {0};
GetTextMetrics(screen_dc, &tm);
- int cap_height = font_.GetBaseline() - tm.tmInternalLeading;
+ int cap_height = font_list_.GetBaseline() - tm.tmInternalLeading;
// The ratio of a font's x-height to its cap height. Sadly, Windows
// doesn't provide a true value for a font's x-height in its text
// metrics, so we approximate.
@@ -814,7 +814,7 @@ void OmniboxViewWin::ApplyCaretVisibility() {
// internally in Windows, as well.
::DestroyCaret();
if (model()->is_caret_visible()) {
- ::CreateCaret(m_hWnd, (HBITMAP) NULL, 1, font_.GetHeight());
+ ::CreateCaret(m_hWnd, (HBITMAP) NULL, 1, font_list_.GetHeight());
// According to the Windows API documentation, a newly created caret needs
// ShowCaret to be visible.
ShowCaret();
@@ -2519,7 +2519,7 @@ void OmniboxViewWin::DrawSlashForInsecureScheme(HDC hdc,
const SkScalar kStrokeWidthPixels = SkIntToScalar(2);
const int kAdditionalSpaceOutsideFont =
static_cast<int>(ceil(kStrokeWidthPixels * 1.5f));
- const int font_ascent = font_.GetBaseline();
+ const int font_ascent = font_list_.GetBaseline();
const CRect scheme_rect(
PosFromChar(insecure_scheme_component_.begin).x,
font_top + font_ascent - font_x_height_ - kAdditionalSpaceOutsideFont,
@@ -2607,7 +2607,7 @@ void OmniboxViewWin::DrawDropHighlight(HDC hdc,
const CRect highlight_rect(highlight_x,
highlight_y,
highlight_x + 1,
- highlight_y + font_.GetHeight());
+ highlight_y + font_list_.GetHeight());
// Clip the highlight to the region being painted.
CRect clip_rect;
@@ -2762,7 +2762,7 @@ void OmniboxViewWin::RepaintDropHighlight(int position) {
if ((position != -1) && (position <= GetTextLength())) {
const POINT min_loc(PosFromChar(position));
const RECT highlight_bounds = {min_loc.x - 1, font_y_adjustment_,
- min_loc.x + 2, font_.GetHeight() + font_y_adjustment_};
+ min_loc.x + 2, font_list_.GetHeight() + font_y_adjustment_};
InvalidateRect(&highlight_bounds, false);
}
}
@@ -2827,9 +2827,10 @@ int OmniboxViewWin::GetHorizontalMargin() const {
}
int OmniboxViewWin::WidthNeededToDisplay(const string16& text) const {
- // Use font_.GetStringWidth() instead of PosFromChar(GetTextLength()) because
- // PosFromChar() is apparently buggy. In both LTR UI and RTL UI with
- // left-to-right layout, PosFromChar(i) might return 0 when i is greater than
- // 1.
- return font_.GetStringWidth(text) + GetHorizontalMargin();
+ // Use font_list_.GetPrimaryFont().GetStringWidth() instead of
+ // PosFromChar(GetTextLength()) because PosFromChar() is apparently buggy.
+ // In both LTR UI and RTL UI with left-to-right layout, PosFromChar(i) might
+ // return 0 when i is greater than 1.
+ return font_list_.GetPrimaryFont().GetStringWidth(text) +
+ GetHorizontalMargin();
}

Powered by Google App Engine
This is Rietveld 408576698