| Index: chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
 | 
| diff --git a/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc b/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
 | 
| index 224ca81b7c0ebe312b26f9d8136fe4d6bc553c65..13a208e2b82fd44da507ecf7141bd672ca336d80 100644
 | 
| --- a/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
 | 
| +++ b/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
 | 
| @@ -24,7 +24,7 @@ namespace {
 | 
|  
 | 
|  const SkColor kBorderColor = SkColorSetARGB(0xFF, 0xC7, 0xCA, 0xCE);
 | 
|  const SkColor kHoveredBackgroundColor = SkColorSetARGB(0xFF, 0xCD, 0xCD, 0xCD);
 | 
| -const SkColor kLabelTextColor = SkColorSetARGB(0xFF, 0x7F, 0x7F, 0x7F);
 | 
| +const SkColor kItemTextColor = SkColorSetARGB(0xFF, 0x7F, 0x7F, 0x7F);
 | 
|  const SkColor kPopupBackground = SkColorSetARGB(0xFF, 0xFF, 0xFF, 0xFF);
 | 
|  const SkColor kValueTextColor = SkColorSetARGB(0xFF, 0x00, 0x00, 0x00);
 | 
|  
 | 
| @@ -55,12 +55,12 @@ void AutofillPopupViewViews::OnPaint(gfx::Canvas* canvas) {
 | 
|    canvas->DrawColor(kPopupBackground);
 | 
|    OnPaintBorder(canvas);
 | 
|  
 | 
| -  for (size_t i = 0; i < controller_->autofill_values().size(); ++i) {
 | 
| -    gfx::Rect line_rect = controller_->GetRectForRow(i, width());
 | 
| +  for (size_t i = 0; i < controller_->names().size(); ++i) {
 | 
| +    gfx::Rect line_rect = controller_->GetRowBounds(i);
 | 
|  
 | 
| -    if (controller_->autofill_unique_ids()[i] ==
 | 
| +    if (controller_->identifiers()[i] ==
 | 
|              WebAutofillClient::MenuItemIDSeparator) {
 | 
| -      canvas->DrawRect(line_rect, kLabelTextColor);
 | 
| +      canvas->DrawRect(line_rect, kItemTextColor);
 | 
|      } else {
 | 
|        DrawAutofillEntry(canvas, i, line_rect);
 | 
|      }
 | 
| @@ -68,12 +68,12 @@ void AutofillPopupViewViews::OnPaint(gfx::Canvas* canvas) {
 | 
|  }
 | 
|  
 | 
|  void AutofillPopupViewViews::OnMouseCaptureLost() {
 | 
| -  controller_->ClearSelectedLine();
 | 
| +  controller_->MouseExitedPopup();
 | 
|  }
 | 
|  
 | 
|  bool AutofillPopupViewViews::OnMouseDragged(const ui::MouseEvent& event) {
 | 
|    if (HitTestPoint(gfx::Point(event.x(), event.y()))) {
 | 
| -    controller_->SetSelectedPosition(event.x(), event.y());
 | 
| +    controller_->MouseHovered(event.x(), event.y());
 | 
|  
 | 
|      // We must return true in order to get future OnMouseDragged and
 | 
|      // OnMouseReleased events.
 | 
| @@ -81,16 +81,16 @@ bool AutofillPopupViewViews::OnMouseDragged(const ui::MouseEvent& event) {
 | 
|    }
 | 
|  
 | 
|    // If we move off of the popup, we lose the selection.
 | 
| -  controller_->ClearSelectedLine();
 | 
| +  controller_->MouseExitedPopup();
 | 
|    return false;
 | 
|  }
 | 
|  
 | 
|  void AutofillPopupViewViews::OnMouseExited(const ui::MouseEvent& event) {
 | 
| -  controller_->ClearSelectedLine();
 | 
| +  controller_->MouseExitedPopup();
 | 
|  }
 | 
|  
 | 
|  void AutofillPopupViewViews::OnMouseMoved(const ui::MouseEvent& event) {
 | 
| -  controller_->SetSelectedPosition(event.x(), event.y());
 | 
| +  controller_->MouseHovered(event.x(), event.y());
 | 
|  }
 | 
|  
 | 
|  bool AutofillPopupViewViews::OnMousePressed(const ui::MouseEvent& event) {
 | 
| @@ -102,7 +102,7 @@ void AutofillPopupViewViews::OnMouseReleased(const ui::MouseEvent& event) {
 | 
|    // We only care about the left click.
 | 
|    if (event.IsOnlyLeftMouseButton() &&
 | 
|        HitTestPoint(gfx::Point(event.x(), event.y())))
 | 
| -    controller_->AcceptSelectedPosition(event.x(), event.y());
 | 
| +    controller_->MouseClicked(event.x(), event.y());
 | 
|  }
 | 
|  
 | 
|  void AutofillPopupViewViews::OnWidgetBoundsChanged(
 | 
| @@ -146,7 +146,7 @@ void AutofillPopupViewViews::Show() {
 | 
|  }
 | 
|  
 | 
|  void AutofillPopupViewViews::InvalidateRow(size_t row) {
 | 
| -  SchedulePaintInRect(controller_->GetRectForRow(row, width()));
 | 
| +  SchedulePaintInRect(controller_->GetRowBounds(row));
 | 
|  }
 | 
|  
 | 
|  void AutofillPopupViewViews::UpdateBoundsAndRedrawPopup() {
 | 
| @@ -163,13 +163,13 @@ void AutofillPopupViewViews::DrawAutofillEntry(gfx::Canvas* canvas,
 | 
|      canvas->FillRect(entry_rect, kHoveredBackgroundColor);
 | 
|  
 | 
|    canvas->DrawStringInt(
 | 
| -      controller_->autofill_values()[index],
 | 
| -      controller_->value_font(),
 | 
| +      controller_->names()[index],
 | 
| +      controller_->name_font(),
 | 
|        kValueTextColor,
 | 
|        kEndPadding,
 | 
|        entry_rect.y(),
 | 
| -      canvas->GetStringWidth(controller_->autofill_values()[index],
 | 
| -                             controller_->value_font()),
 | 
| +      canvas->GetStringWidth(controller_->names()[index],
 | 
| +                             controller_->name_font()),
 | 
|        entry_rect.height(),
 | 
|        gfx::Canvas::TEXT_ALIGN_CENTER);
 | 
|  
 | 
| @@ -178,9 +178,8 @@ void AutofillPopupViewViews::DrawAutofillEntry(gfx::Canvas* canvas,
 | 
|  
 | 
|    // Draw the delete icon, if one is needed.
 | 
|    ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
 | 
| -  int row_height = controller_->GetRowHeightFromId(
 | 
| -      controller_->autofill_unique_ids()[index]);
 | 
| -  if (controller_->CanDelete(controller_->autofill_unique_ids()[index])) {
 | 
| +  int row_height = controller_->GetRowBounds(index).height();
 | 
| +  if (controller_->CanDelete(index)) {
 | 
|      x_align_left -= kDeleteIconWidth;
 | 
|  
 | 
|      // TODO(csharp): Create a custom resource for the delete icon.
 | 
| @@ -188,15 +187,14 @@ void AutofillPopupViewViews::DrawAutofillEntry(gfx::Canvas* canvas,
 | 
|      canvas->DrawImageInt(
 | 
|          *rb.GetImageSkiaNamed(IDR_CLOSE_BAR),
 | 
|          x_align_left,
 | 
| -        entry_rect.y() + ((row_height - kDeleteIconHeight) / 2));
 | 
| +        entry_rect.y() + (row_height - kDeleteIconHeight) / 2);
 | 
|  
 | 
|      x_align_left -= kIconPadding;
 | 
|    }
 | 
|  
 | 
|    // Draw the Autofill icon, if one exists
 | 
| -  if (!controller_->autofill_icons()[index].empty()) {
 | 
| -    int icon =
 | 
| -        controller_->GetIconResourceID(controller_->autofill_icons()[index]);
 | 
| +  if (!controller_->icons()[index].empty()) {
 | 
| +    int icon = controller_->GetIconResourceID(controller_->icons()[index]);
 | 
|      DCHECK_NE(-1, icon);
 | 
|      int icon_y = entry_rect.y() + (row_height - kAutofillIconHeight) / 2;
 | 
|  
 | 
| @@ -207,18 +205,18 @@ void AutofillPopupViewViews::DrawAutofillEntry(gfx::Canvas* canvas,
 | 
|      x_align_left -= kIconPadding;
 | 
|    }
 | 
|  
 | 
| -  // Draw the label text.
 | 
| -  x_align_left -= canvas->GetStringWidth(controller_->autofill_labels()[index],
 | 
| -                                         controller_->label_font());
 | 
| +  // Draw the name text.
 | 
| +  x_align_left -= canvas->GetStringWidth(controller_->subtexts()[index],
 | 
| +                                         controller_->subtext_font());
 | 
|  
 | 
|    canvas->DrawStringInt(
 | 
| -      controller_->autofill_labels()[index],
 | 
| -      controller_->label_font(),
 | 
| -      kLabelTextColor,
 | 
| +      controller_->subtexts()[index],
 | 
| +      controller_->subtext_font(),
 | 
| +      kItemTextColor,
 | 
|        x_align_left + kEndPadding,
 | 
|        entry_rect.y(),
 | 
| -      canvas->GetStringWidth(controller_->autofill_labels()[index],
 | 
| -                             controller_->label_font()),
 | 
| +      canvas->GetStringWidth(controller_->subtexts()[index],
 | 
| +                             controller_->subtext_font()),
 | 
|        entry_rect.height(),
 | 
|        gfx::Canvas::TEXT_ALIGN_CENTER);
 | 
|  }
 | 
| 
 |