| 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();
 | 
|  }
 | 
| 
 |