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

Side by Side Diff: chrome/browser/ui/omnibox/omnibox_edit_model.cc

Issue 10877021: Experimental AutocompleteProvider for zerosuggest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: TabContents may be empty. Created 8 years, 3 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/autocomplete/zero_suggest_provider.cc ('k') | chrome/chrome_browser.gypi » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/omnibox/omnibox_edit_model.h" 5 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 autocomplete_controller_->input().text(), 519 autocomplete_controller_->input().text(),
520 just_deleted_text_, 520 just_deleted_text_,
521 autocomplete_controller_->input().type(), 521 autocomplete_controller_->input().type(),
522 popup_->selected_line(), 522 popup_->selected_line(),
523 -1, // don't yet know tab ID; set later if appropriate 523 -1, // don't yet know tab ID; set later if appropriate
524 ClassifyPage(controller_->GetTabContents()-> 524 ClassifyPage(controller_->GetTabContents()->
525 web_contents()->GetURL()), 525 web_contents()->GetURL()),
526 base::TimeTicks::Now() - time_user_first_modified_omnibox_, 526 base::TimeTicks::Now() - time_user_first_modified_omnibox_,
527 0, // inline autocomplete length; possibly set later 527 0, // inline autocomplete length; possibly set later
528 result()); 528 result());
529 DCHECK(user_input_in_progress_) << "We didn't get here through the " 529 DCHECK(user_input_in_progress_ || match.provider->name() == "ZeroSuggest")
530 "expected series of calls. time_user_first_modified_omnibox_ is " 530 << "We didn't get here through the expected series of calls. "
531 "not set correctly and other things may be wrong."; 531 << "time_user_first_modified_omnibox_ is not set correctly and other "
532 << "things may be wrong. Match provider: " << match.provider->name();
532 if (index != OmniboxPopupModel::kNoMatch) 533 if (index != OmniboxPopupModel::kNoMatch)
533 log.selected_index = index; 534 log.selected_index = index;
534 else if (!has_temporary_text_) 535 else if (!has_temporary_text_)
535 log.inline_autocompleted_length = inline_autocomplete_text_.length(); 536 log.inline_autocompleted_length = inline_autocomplete_text_.length();
536 if (disposition == CURRENT_TAB) { 537 if (disposition == CURRENT_TAB) {
537 // If we know the destination is being opened in the current tab, 538 // If we know the destination is being opened in the current tab,
538 // we can easily get the tab ID. (If it's being opened in a new 539 // we can easily get the tab ID. (If it's being opened in a new
539 // tab, we don't know the tab ID yet.) 540 // tab, we don't know the tab ID yet.)
540 log.tab_id = controller_->GetTabContents()-> 541 log.tab_id = controller_->GetTabContents()->
541 session_tab_helper()->session_id().id(); 542 session_tab_helper()->session_id().id();
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 } 685 }
685 686
686 void OmniboxEditModel::OnSetFocus(bool control_down) { 687 void OmniboxEditModel::OnSetFocus(bool control_down) {
687 has_focus_ = true; 688 has_focus_ = true;
688 control_key_state_ = control_down ? DOWN_WITHOUT_CHANGE : UP; 689 control_key_state_ = control_down ? DOWN_WITHOUT_CHANGE : UP;
689 690
690 InstantController* instant = controller_->GetInstant(); 691 InstantController* instant = controller_->GetInstant();
691 if (instant) 692 if (instant)
692 instant->OnAutocompleteGotFocus(); 693 instant->OnAutocompleteGotFocus();
693 694
695 TabContents* tab_contents = controller_->GetTabContents();
696 if (tab_contents) {
697 // TODO(jered): We may want to merge this into Start() and just call that
698 // here rather than having a special entry point for zero-suggest. Note
699 // that we avoid PermanentURL() here because it's not guaranteed to give us
700 // the actual underlying current URL, e.g. if we're on the NTP and the
701 // |permanent_text_| is empty.
702 autocomplete_controller_->StartZeroSuggest(
703 tab_contents->web_contents()->GetURL(), user_text_);
704 }
705
694 NotifySearchTabHelper(); 706 NotifySearchTabHelper();
695 } 707 }
696 708
697 void OmniboxEditModel::OnWillKillFocus(gfx::NativeView view_gaining_focus) { 709 void OmniboxEditModel::OnWillKillFocus(gfx::NativeView view_gaining_focus) {
698 SetSuggestedText(string16(), INSTANT_COMPLETE_NOW); 710 SetSuggestedText(string16(), INSTANT_COMPLETE_NOW);
699 711
700 if (InstantController* instant = controller_->GetInstant()) 712 if (InstantController* instant = controller_->GetInstant())
701 instant->OnAutocompleteLostFocus(view_gaining_focus); 713 instant->OnAutocompleteLostFocus(view_gaining_focus);
702 714
715 // TODO(jered): Rip this out along with StartZeroSuggest.
716 autocomplete_controller_->StopZeroSuggest();
703 NotifySearchTabHelper(); 717 NotifySearchTabHelper();
704 } 718 }
705 719
706 void OmniboxEditModel::OnKillFocus() { 720 void OmniboxEditModel::OnKillFocus() {
707 has_focus_ = false; 721 has_focus_ = false;
708 control_key_state_ = UP; 722 control_key_state_ = UP;
709 paste_state_ = NONE; 723 paste_state_ = NONE;
710 } 724 }
711 725
712 bool OmniboxEditModel::OnEscapeKeyPressed() { 726 bool OmniboxEditModel::OnEscapeKeyPressed() {
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 } 1221 }
1208 1222
1209 void OmniboxEditModel::ClassifyStringForPasteAndGo( 1223 void OmniboxEditModel::ClassifyStringForPasteAndGo(
1210 const string16& text, 1224 const string16& text,
1211 AutocompleteMatch* match, 1225 AutocompleteMatch* match,
1212 GURL* alternate_nav_url) const { 1226 GURL* alternate_nav_url) const {
1213 DCHECK(match); 1227 DCHECK(match);
1214 AutocompleteClassifierFactory::GetForProfile(profile_)->Classify(text, 1228 AutocompleteClassifierFactory::GetForProfile(profile_)->Classify(text,
1215 string16(), false, false, match, alternate_nav_url); 1229 string16(), false, false, match, alternate_nav_url);
1216 } 1230 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/zero_suggest_provider.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698