| Index: chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc
|
| ===================================================================
|
| --- chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc (revision 80563)
|
| +++ chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc (working copy)
|
| @@ -266,7 +266,12 @@
|
| }
|
|
|
| void AutocompletePopupContentsView::InvalidateLine(size_t line) {
|
| - GetChildViewAt(static_cast<int>(line))->SchedulePaint();
|
| + AutocompleteResultView* result_view =
|
| + static_cast<AutocompleteResultView*>(GetChildViewAt(
|
| + static_cast<int>(line)));
|
| +
|
| + result_view->SetMatch(GetMatchAtIndex(line));
|
| + result_view->SchedulePaint();
|
| }
|
|
|
| void AutocompletePopupContentsView::UpdatePopupAppearance() {
|
| @@ -301,7 +306,7 @@
|
| result_view = static_cast<AutocompleteResultView*>(GetChildViewAt(i));
|
| result_view->SetVisible(true);
|
| }
|
| - result_view->set_match(GetMatchAtIndex(i));
|
| + result_view->SetMatch(GetMatchAtIndex(i));
|
| }
|
| for (size_t i = model_->result().size(); i < child_rv_count; ++i)
|
| GetChildViewAt(i)->SetVisible(false);
|
| @@ -623,9 +628,14 @@
|
| // OpenURL() may close the popup, which will clear the result set and, by
|
| // extension, |match| and its contents. So copy the relevant strings out to
|
| // make sure they stay alive until the call completes.
|
| + string16 keyword;
|
| + bool is_keyword_hint = false;
|
| +
|
| + if (match.keyword.get()) {
|
| + keyword = match.keyword->text;
|
| + is_keyword_hint = match.keyword->is_keyword_hint;
|
| + }
|
| const GURL url(match.destination_url);
|
| - string16 keyword;
|
| - const bool is_keyword_hint = model_->GetKeywordForMatch(match, &keyword);
|
| edit_view_->OpenURL(url, disposition, match.transition, GURL(), index,
|
| is_keyword_hint ? string16() : keyword);
|
| }
|
|
|