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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit.cc

Issue 8253002: Move PageTransition into content namespace. While I'm touching all these files, I've also updated... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/autocomplete/autocomplete_edit.h" 5 #include "chrome/browser/autocomplete/autocomplete_edit.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 bool AutocompleteEditModel::CurrentTextIsURL() const { 312 bool AutocompleteEditModel::CurrentTextIsURL() const {
313 // If !user_input_in_progress_, the permanent text is showing, which should 313 // If !user_input_in_progress_, the permanent text is showing, which should
314 // always be a URL, so no further checking is needed. By avoiding checking in 314 // always be a URL, so no further checking is needed. By avoiding checking in
315 // this case, we avoid calling into the autocomplete providers, and thus 315 // this case, we avoid calling into the autocomplete providers, and thus
316 // initializing the history system, as long as possible, which speeds startup. 316 // initializing the history system, as long as possible, which speeds startup.
317 if (!user_input_in_progress_) 317 if (!user_input_in_progress_)
318 return true; 318 return true;
319 319
320 AutocompleteMatch match; 320 AutocompleteMatch match;
321 GetInfoForCurrentText(&match, NULL); 321 GetInfoForCurrentText(&match, NULL);
322 return match.transition == PageTransition::TYPED; 322 return match.transition == content::PAGE_TRANSITION_TYPED;
323 } 323 }
324 324
325 AutocompleteMatch::Type AutocompleteEditModel::CurrentTextType() const { 325 AutocompleteMatch::Type AutocompleteEditModel::CurrentTextType() const {
326 AutocompleteMatch match; 326 AutocompleteMatch match;
327 GetInfoForCurrentText(&match, NULL); 327 GetInfoForCurrentText(&match, NULL);
328 return match.type; 328 return match.type;
329 } 329 }
330 330
331 void AutocompleteEditModel::AdjustTextForCopy(int sel_min, 331 void AutocompleteEditModel::AdjustTextForCopy(int sel_min,
332 bool is_all_selected, 332 bool is_all_selected,
(...skipping 14 matching lines...) Expand all
347 *write_url = true; 347 *write_url = true;
348 return; 348 return;
349 } 349 }
350 350
351 // We can't use CurrentTextIsURL() or GetDataForURLExport() because right now 351 // We can't use CurrentTextIsURL() or GetDataForURLExport() because right now
352 // the user is probably holding down control to cause the copy, which will 352 // the user is probably holding down control to cause the copy, which will
353 // screw up our calculation of the desired_tld. 353 // screw up our calculation of the desired_tld.
354 AutocompleteMatch match; 354 AutocompleteMatch match;
355 profile_->GetAutocompleteClassifier()->Classify(*text, string16(), 355 profile_->GetAutocompleteClassifier()->Classify(*text, string16(),
356 KeywordIsSelected(), true, &match, NULL); 356 KeywordIsSelected(), true, &match, NULL);
357 if (match.transition != PageTransition::TYPED) 357 if (match.transition != content::PAGE_TRANSITION_TYPED)
358 return; 358 return;
359 *url = match.destination_url; 359 *url = match.destination_url;
360 360
361 // Prefix the text with 'http://' if the text doesn't start with 'http://', 361 // Prefix the text with 'http://' if the text doesn't start with 'http://',
362 // the text parses as a url with a scheme of http, the user selected the 362 // the text parses as a url with a scheme of http, the user selected the
363 // entire host, and the user hasn't edited the host or manually removed the 363 // entire host, and the user hasn't edited the host or manually removed the
364 // scheme. 364 // scheme.
365 GURL perm_url(PermanentURL()); 365 GURL perm_url(PermanentURL());
366 if (perm_url.SchemeIs(chrome::kHttpScheme) && 366 if (perm_url.SchemeIs(chrome::kHttpScheme) &&
367 url->SchemeIs(chrome::kHttpScheme) && perm_url.host() == url->host()) { 367 url->SchemeIs(chrome::kHttpScheme) && perm_url.host() == url->host()) {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 void AutocompleteEditModel::AcceptInput(WindowOpenDisposition disposition, 441 void AutocompleteEditModel::AcceptInput(WindowOpenDisposition disposition,
442 bool for_drop) { 442 bool for_drop) {
443 // Get the URL and transition type for the selected entry. 443 // Get the URL and transition type for the selected entry.
444 AutocompleteMatch match; 444 AutocompleteMatch match;
445 GURL alternate_nav_url; 445 GURL alternate_nav_url;
446 GetInfoForCurrentText(&match, &alternate_nav_url); 446 GetInfoForCurrentText(&match, &alternate_nav_url);
447 447
448 if (!match.destination_url.is_valid()) 448 if (!match.destination_url.is_valid())
449 return; 449 return;
450 450
451 if ((match.transition == PageTransition::TYPED) && (match.destination_url == 451 if ((match.transition == content::PAGE_TRANSITION_TYPED) &&
452 URLFixerUpper::FixupURL(UTF16ToUTF8(permanent_text_), std::string()))) { 452 (match.destination_url ==
453 URLFixerUpper::FixupURL(UTF16ToUTF8(permanent_text_), std::string()))) {
453 // When the user hit enter on the existing permanent URL, treat it like a 454 // When the user hit enter on the existing permanent URL, treat it like a
454 // reload for scoring purposes. We could detect this by just checking 455 // reload for scoring purposes. We could detect this by just checking
455 // user_input_in_progress_, but it seems better to treat "edits" that end 456 // user_input_in_progress_, but it seems better to treat "edits" that end
456 // up leaving the URL unchanged (e.g. deleting the last character and then 457 // up leaving the URL unchanged (e.g. deleting the last character and then
457 // retyping it) as reloads too. We exclude non-TYPED transitions because if 458 // retyping it) as reloads too. We exclude non-TYPED transitions because if
458 // the transition is GENERATED, the user input something that looked 459 // the transition is GENERATED, the user input something that looked
459 // different from the current URL, even if it wound up at the same place 460 // different from the current URL, even if it wound up at the same place
460 // (e.g. manually retyping the same search query), and it seems wrong to 461 // (e.g. manually retyping the same search query), and it seems wrong to
461 // treat this as a reload. 462 // treat this as a reload.
462 match.transition = PageTransition::RELOAD; 463 match.transition = content::PAGE_TRANSITION_RELOAD;
463 } else if (for_drop || ((paste_state_ != NONE) && 464 } else if (for_drop || ((paste_state_ != NONE) &&
464 match.is_history_what_you_typed_match)) { 465 match.is_history_what_you_typed_match)) {
465 // When the user pasted in a URL and hit enter, score it like a link click 466 // When the user pasted in a URL and hit enter, score it like a link click
466 // rather than a normal typed URL, so it doesn't get inline autocompleted 467 // rather than a normal typed URL, so it doesn't get inline autocompleted
467 // as aggressively later. 468 // as aggressively later.
468 match.transition = PageTransition::LINK; 469 match.transition = content::PAGE_TRANSITION_LINK;
469 } 470 }
470 471
471 if (match.template_url && match.template_url->url() && 472 if (match.template_url && match.template_url->url() &&
472 match.template_url->url()->HasGoogleBaseURLs()) { 473 match.template_url->url()->HasGoogleBaseURLs()) {
473 GoogleURLTracker::GoogleURLSearchCommitted(); 474 GoogleURLTracker::GoogleURLSearchCommitted();
474 #if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD) 475 #if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD)
475 // TODO(pastarmovj): Remove these metrics once we have proven that (close 476 // TODO(pastarmovj): Remove these metrics once we have proven that (close
476 // to) none searches that should have RLZ are sent out without one. 477 // to) none searches that should have RLZ are sent out without one.
477 match.template_url->url()->CollectRLZMetrics(); 478 match.template_url->url()->CollectRLZMetrics();
478 #endif 479 #endif
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 profile_, match.template_url->GetExtensionId(), 526 profile_, match.template_url->GetExtensionId(),
526 UTF16ToUTF8(match.fill_into_edit.substr(prefix_length))); 527 UTF16ToUTF8(match.fill_into_edit.substr(prefix_length)));
527 view_->RevertAll(); 528 view_->RevertAll();
528 return; 529 return;
529 } 530 }
530 531
531 if (template_url) { 532 if (template_url) {
532 UserMetrics::RecordAction(UserMetricsAction("AcceptedKeyword")); 533 UserMetrics::RecordAction(UserMetricsAction("AcceptedKeyword"));
533 template_url_service->IncrementUsageCount(template_url); 534 template_url_service->IncrementUsageCount(template_url);
534 535
535 if (match.transition == PageTransition::KEYWORD || 536 if (match.transition == content::PAGE_TRANSITION_KEYWORD ||
536 match.transition == PageTransition::KEYWORD_GENERATED) { 537 match.transition == content::PAGE_TRANSITION_KEYWORD_GENERATED) {
537 // NOTE: Non-prepopulated engines will all have ID 0, which is fine as 538 // NOTE: Non-prepopulated engines will all have ID 0, which is fine as
538 // the prepopulate IDs start at 1. Distribution-specific engines will 539 // the prepopulate IDs start at 1. Distribution-specific engines will
539 // all have IDs above the maximum, and will be automatically lumped 540 // all have IDs above the maximum, and will be automatically lumped
540 // together in an "overflow" bucket in the histogram. 541 // together in an "overflow" bucket in the histogram.
541 UMA_HISTOGRAM_ENUMERATION( 542 UMA_HISTOGRAM_ENUMERATION(
542 "Omnibox.SearchEngine", template_url->prepopulate_id(), 543 "Omnibox.SearchEngine", template_url->prepopulate_id(),
543 TemplateURLPrepopulateData::kMaxPrepopulatedEngineID); 544 TemplateURLPrepopulateData::kMaxPrepopulatedEngineID);
544 } 545 }
545 } 546 }
546 547
547 // NOTE: We purposefully don't increment the usage count of the default 548 // NOTE: We purposefully don't increment the usage count of the default
548 // search engine, if applicable; see comments in template_url.h. 549 // search engine, if applicable; see comments in template_url.h.
549 } 550 }
550 551
551 if (match.transition == PageTransition::GENERATED && match.template_url) { 552 if (match.transition == content::PAGE_TRANSITION_GENERATED &&
553 match.template_url) {
552 // See comment above. 554 // See comment above.
553 UMA_HISTOGRAM_ENUMERATION( 555 UMA_HISTOGRAM_ENUMERATION(
554 "Omnibox.SearchEngine", match.template_url->prepopulate_id(), 556 "Omnibox.SearchEngine", match.template_url->prepopulate_id(),
555 TemplateURLPrepopulateData::kMaxPrepopulatedEngineID); 557 TemplateURLPrepopulateData::kMaxPrepopulatedEngineID);
556 } 558 }
557 559
558 if (disposition != NEW_BACKGROUND_TAB) { 560 if (disposition != NEW_BACKGROUND_TAB) {
559 in_revert_ = true; 561 in_revert_ = true;
560 view_->RevertAll(); // Revert the box to its unedited state 562 view_->RevertAll(); // Revert the box to its unedited state
561 } 563 }
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 // static 1056 // static
1055 bool AutocompleteEditModel::IsSpaceCharForAcceptingKeyword(wchar_t c) { 1057 bool AutocompleteEditModel::IsSpaceCharForAcceptingKeyword(wchar_t c) {
1056 switch (c) { 1058 switch (c) {
1057 case 0x0020: // Space 1059 case 0x0020: // Space
1058 case 0x3000: // Ideographic Space 1060 case 0x3000: // Ideographic Space
1059 return true; 1061 return true;
1060 default: 1062 default:
1061 return false; 1063 return false;
1062 } 1064 }
1063 } 1065 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_edit.h ('k') | chrome/browser/autocomplete/autocomplete_edit_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698