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

Side by Side Diff: chrome/browser/ui/search/search_tab_helper.cc

Issue 215733002: Add support to enable EmbeddedSearch API in Android Chrome search results page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 7 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/search/search_android_unittest.cc ('k') | chrome/browser/ui/tab_helpers.cc » ('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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/search/search_tab_helper.h" 5 #include "chrome/browser/ui/search/search_tab_helper.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 return; 391 return;
392 392
393 if (!history::MostVisitedTilesExperiment::IsDontShowOpenURLsEnabled()) 393 if (!history::MostVisitedTilesExperiment::IsDontShowOpenURLsEnabled())
394 return; 394 return;
395 395
396 history::MostVisitedTilesExperiment::RemoveItemsMatchingOpenTabs( 396 history::MostVisitedTilesExperiment::RemoveItemsMatchingOpenTabs(
397 delegate_->GetOpenUrls(), items); 397 delegate_->GetOpenUrls(), items);
398 } 398 }
399 399
400 void SearchTabHelper::FocusOmnibox(OmniboxFocusState state) { 400 void SearchTabHelper::FocusOmnibox(OmniboxFocusState state) {
401 // TODO(kmadhusu): Move platform specific code from here and get rid of #ifdef.
402 #if !defined(OS_ANDROID)
401 OmniboxView* omnibox = GetOmniboxView(); 403 OmniboxView* omnibox = GetOmniboxView();
402 if (!omnibox) 404 if (!omnibox)
403 return; 405 return;
404 406
405 // Do not add a default case in the switch block for the following reasons: 407 // Do not add a default case in the switch block for the following reasons:
406 // (1) Explicitly handle the new states. If new states are added in the 408 // (1) Explicitly handle the new states. If new states are added in the
407 // OmniboxFocusState, the compiler will warn the developer to handle the new 409 // OmniboxFocusState, the compiler will warn the developer to handle the new
408 // states. 410 // states.
409 // (2) An attacker may control the renderer and sends the browser process a 411 // (2) An attacker may control the renderer and sends the browser process a
410 // malformed IPC. This function responds to the invalid |state| values by 412 // malformed IPC. This function responds to the invalid |state| values by
(...skipping 15 matching lines...) Expand all
426 omnibox->ShowImeIfNeeded(); 428 omnibox->ShowImeIfNeeded();
427 break; 429 break;
428 case OMNIBOX_FOCUS_NONE: 430 case OMNIBOX_FOCUS_NONE:
429 // Remove focus only if the popup is closed. This will prevent someone 431 // Remove focus only if the popup is closed. This will prevent someone
430 // from changing the omnibox value and closing the popup without user 432 // from changing the omnibox value and closing the popup without user
431 // interaction. 433 // interaction.
432 if (!omnibox->model()->popup_model()->IsOpen()) 434 if (!omnibox->model()->popup_model()->IsOpen())
433 web_contents()->GetView()->Focus(); 435 web_contents()->GetView()->Focus();
434 break; 436 break;
435 } 437 }
438 #endif
436 } 439 }
437 440
438 void SearchTabHelper::NavigateToURL(const GURL& url, 441 void SearchTabHelper::NavigateToURL(const GURL& url,
439 WindowOpenDisposition disposition, 442 WindowOpenDisposition disposition,
440 bool is_most_visited_item_url) { 443 bool is_most_visited_item_url) {
441 if (is_most_visited_item_url) { 444 if (is_most_visited_item_url) {
442 content::RecordAction( 445 content::RecordAction(
443 base::UserMetricsAction("InstantExtended.MostVisitedClicked")); 446 base::UserMetricsAction("InstantExtended.MostVisitedClicked"));
444 } 447 }
445 448
(...skipping 29 matching lines...) Expand all
475 web_contents())->LogMostVisitedImpression(position, provider); 478 web_contents())->LogMostVisitedImpression(position, provider);
476 } 479 }
477 480
478 void SearchTabHelper::OnLogMostVisitedNavigation( 481 void SearchTabHelper::OnLogMostVisitedNavigation(
479 int position, const base::string16& provider) { 482 int position, const base::string16& provider) {
480 NTPUserDataLogger::GetOrCreateFromWebContents( 483 NTPUserDataLogger::GetOrCreateFromWebContents(
481 web_contents())->LogMostVisitedNavigation(position, provider); 484 web_contents())->LogMostVisitedNavigation(position, provider);
482 } 485 }
483 486
484 void SearchTabHelper::PasteIntoOmnibox(const base::string16& text) { 487 void SearchTabHelper::PasteIntoOmnibox(const base::string16& text) {
488 // TODO(kmadhusu): Move platform specific code from here and get rid of #ifdef.
489 #if !defined(OS_ANDROID)
485 OmniboxView* omnibox = GetOmniboxView(); 490 OmniboxView* omnibox = GetOmniboxView();
486 if (!omnibox) 491 if (!omnibox)
487 return; 492 return;
488
489 // The first case is for right click to paste, where the text is retrieved 493 // The first case is for right click to paste, where the text is retrieved
490 // from the clipboard already sanitized. The second case is needed to handle 494 // from the clipboard already sanitized. The second case is needed to handle
491 // drag-and-drop value and it has to be sanitazed before setting it into the 495 // drag-and-drop value and it has to be sanitazed before setting it into the
492 // omnibox. 496 // omnibox.
493 base::string16 text_to_paste = text.empty() ? omnibox->GetClipboardText() : 497 base::string16 text_to_paste = text.empty() ? omnibox->GetClipboardText() :
494 omnibox->SanitizeTextForPaste(text); 498 omnibox->SanitizeTextForPaste(text);
495 499
496 if (text_to_paste.empty()) 500 if (text_to_paste.empty())
497 return; 501 return;
498 502
499 if (!omnibox->model()->has_focus()) 503 if (!omnibox->model()->has_focus())
500 omnibox->SetFocus(); 504 omnibox->SetFocus();
501 505
502 omnibox->OnBeforePossibleChange(); 506 omnibox->OnBeforePossibleChange();
503 omnibox->model()->OnPaste(); 507 omnibox->model()->OnPaste();
504 omnibox->SetUserText(text_to_paste); 508 omnibox->SetUserText(text_to_paste);
505 omnibox->OnAfterPossibleChange(); 509 omnibox->OnAfterPossibleChange();
510 #endif
506 } 511 }
507 512
508 void SearchTabHelper::OnChromeIdentityCheck(const base::string16& identity) { 513 void SearchTabHelper::OnChromeIdentityCheck(const base::string16& identity) {
509 SigninManagerBase* manager = SigninManagerFactory::GetForProfile(profile()); 514 SigninManagerBase* manager = SigninManagerFactory::GetForProfile(profile());
510 if (manager) { 515 if (manager) {
511 const base::string16 username = 516 const base::string16 username =
512 base::UTF8ToUTF16(manager->GetAuthenticatedUsername()); 517 base::UTF8ToUTF16(manager->GetAuthenticatedUsername());
513 ipc_router_.SendChromeIdentityCheckResult(identity, 518 ipc_router_.SendChromeIdentityCheckResult(identity,
514 identity == username); 519 identity == username);
515 } 520 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 576
572 bool SearchTabHelper::IsInputInProgress() const { 577 bool SearchTabHelper::IsInputInProgress() const {
573 OmniboxView* omnibox = GetOmniboxView(); 578 OmniboxView* omnibox = GetOmniboxView();
574 return !model_.mode().is_ntp() && omnibox && 579 return !model_.mode().is_ntp() && omnibox &&
575 omnibox->model()->focus_state() == OMNIBOX_FOCUS_VISIBLE; 580 omnibox->model()->focus_state() == OMNIBOX_FOCUS_VISIBLE;
576 } 581 }
577 582
578 OmniboxView* SearchTabHelper::GetOmniboxView() const { 583 OmniboxView* SearchTabHelper::GetOmniboxView() const {
579 return delegate_ ? delegate_->GetOmniboxView() : NULL; 584 return delegate_ ? delegate_->GetOmniboxView() : NULL;
580 } 585 }
OLDNEW
« no previous file with comments | « chrome/browser/search/search_android_unittest.cc ('k') | chrome/browser/ui/tab_helpers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698