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

Side by Side Diff: chrome/browser/android/tab_android.cc

Issue 609493002: Propagate the search request params from the browser to the Instant search base page to fix the embe (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 1 month 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
« no previous file with comments | « no previous file | chrome/browser/ui/browser_instant_controller.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 (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/android/tab_android.h" 5 #include "chrome/browser/android/tab_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_array.h" 8 #include "base/android/jni_array.h"
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 20 matching lines...) Expand all
31 #include "chrome/browser/ui/android/context_menu_helper.h" 31 #include "chrome/browser/ui/android/context_menu_helper.h"
32 #include "chrome/browser/ui/android/infobars/infobar_container_android.h" 32 #include "chrome/browser/ui/android/infobars/infobar_container_android.h"
33 #include "chrome/browser/ui/android/tab_model/tab_model.h" 33 #include "chrome/browser/ui/android/tab_model/tab_model.h"
34 #include "chrome/browser/ui/android/tab_model/tab_model_list.h" 34 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
35 #include "chrome/browser/ui/android/window_android_helper.h" 35 #include "chrome/browser/ui/android/window_android_helper.h"
36 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" 36 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h"
37 #include "chrome/browser/ui/search/instant_search_prerenderer.h" 37 #include "chrome/browser/ui/search/instant_search_prerenderer.h"
38 #include "chrome/browser/ui/search/search_tab_helper.h" 38 #include "chrome/browser/ui/search/search_tab_helper.h"
39 #include "chrome/browser/ui/tab_contents/core_tab_helper.h" 39 #include "chrome/browser/ui/tab_contents/core_tab_helper.h"
40 #include "chrome/browser/ui/tab_helpers.h" 40 #include "chrome/browser/ui/tab_helpers.h"
41 #include "chrome/common/instant_types.h"
41 #include "chrome/common/url_constants.h" 42 #include "chrome/common/url_constants.h"
42 #include "components/google/core/browser/google_url_tracker.h" 43 #include "components/google/core/browser/google_url_tracker.h"
43 #include "components/google/core/browser/google_util.h" 44 #include "components/google/core/browser/google_util.h"
44 #include "components/infobars/core/infobar_container.h" 45 #include "components/infobars/core/infobar_container.h"
45 #include "components/url_fixer/url_fixer.h" 46 #include "components/url_fixer/url_fixer.h"
46 #include "content/public/browser/android/content_view_core.h" 47 #include "content/public/browser/android/content_view_core.h"
47 #include "content/public/browser/navigation_entry.h" 48 #include "content/public/browser/navigation_entry.h"
48 #include "content/public/browser/notification_service.h" 49 #include "content/public/browser/notification_service.h"
49 #include "content/public/browser/render_process_host.h" 50 #include "content/public/browser/render_process_host.h"
50 #include "content/public/browser/user_metrics.h" 51 #include "content/public/browser/user_metrics.h"
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 bool prefetched_page_loaded = HasPrerenderedUrl(gurl); 530 bool prefetched_page_loaded = HasPrerenderedUrl(gurl);
530 // Getting the load status before MaybeUsePrerenderedPage() b/c it resets. 531 // Getting the load status before MaybeUsePrerenderedPage() b/c it resets.
531 chrome::NavigateParams params(NULL, web_contents()); 532 chrome::NavigateParams params(NULL, web_contents());
532 InstantSearchPrerenderer* prerenderer = 533 InstantSearchPrerenderer* prerenderer =
533 InstantSearchPrerenderer::GetForProfile(GetProfile()); 534 InstantSearchPrerenderer::GetForProfile(GetProfile());
534 if (prerenderer) { 535 if (prerenderer) {
535 const base::string16& search_terms = 536 const base::string16& search_terms =
536 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl); 537 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl);
537 if (!search_terms.empty() && 538 if (!search_terms.empty() &&
538 prerenderer->CanCommitQuery(web_contents_.get(), search_terms)) { 539 prerenderer->CanCommitQuery(web_contents_.get(), search_terms)) {
539 prerenderer->Commit(search_terms); 540 EmbeddedSearchRequestParams request_params(gurl);
541 prerenderer->Commit(search_terms, request_params);
540 542
541 if (prerenderer->UsePrerenderedPage(gurl, &params)) 543 if (prerenderer->UsePrerenderedPage(gurl, &params))
542 return FULL_PRERENDERED_PAGE_LOAD; 544 return FULL_PRERENDERED_PAGE_LOAD;
543 } 545 }
544 prerenderer->Cancel(); 546 prerenderer->Cancel();
545 } 547 }
546 if (prerender_manager->MaybeUsePrerenderedPage(gurl, &params)) { 548 if (prerender_manager->MaybeUsePrerenderedPage(gurl, &params)) {
547 return prefetched_page_loaded ? 549 return prefetched_page_loaded ?
548 FULL_PRERENDERED_PAGE_LOAD : PARTIAL_PRERENDERED_PAGE_LOAD; 550 FULL_PRERENDERED_PAGE_LOAD : PARTIAL_PRERENDERED_PAGE_LOAD;
549 } 551 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 load_params.referrer = content::Referrer( 597 load_params.referrer = content::Referrer(
596 GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)), 598 GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)),
597 static_cast<blink::WebReferrerPolicy>(referrer_policy)); 599 static_cast<blink::WebReferrerPolicy>(referrer_policy));
598 } 600 }
599 const base::string16 search_terms = 601 const base::string16 search_terms =
600 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl); 602 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl);
601 SearchTabHelper* search_tab_helper = 603 SearchTabHelper* search_tab_helper =
602 SearchTabHelper::FromWebContents(web_contents_.get()); 604 SearchTabHelper::FromWebContents(web_contents_.get());
603 if (!search_terms.empty() && search_tab_helper && 605 if (!search_terms.empty() && search_tab_helper &&
604 search_tab_helper->SupportsInstant()) { 606 search_tab_helper->SupportsInstant()) {
605 search_tab_helper->Submit(search_terms); 607 EmbeddedSearchRequestParams request_params(gurl);
608 search_tab_helper->Submit(search_terms, request_params);
606 return DEFAULT_PAGE_LOAD; 609 return DEFAULT_PAGE_LOAD;
607 } 610 }
608 load_params.is_renderer_initiated = is_renderer_initiated; 611 load_params.is_renderer_initiated = is_renderer_initiated;
609 web_contents()->GetController().LoadURLWithParams(load_params); 612 web_contents()->GetController().LoadURLWithParams(load_params);
610 } 613 }
611 return DEFAULT_PAGE_LOAD; 614 return DEFAULT_PAGE_LOAD;
612 } 615 }
613 616
614 void TabAndroid::SetActiveNavigationEntryTitleForUrl(JNIEnv* env, 617 void TabAndroid::SetActiveNavigationEntryTitleForUrl(JNIEnv* env,
615 jobject obj, 618 jobject obj,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 691
689 static void Init(JNIEnv* env, jobject obj) { 692 static void Init(JNIEnv* env, jobject obj) {
690 TRACE_EVENT0("native", "TabAndroid::Init"); 693 TRACE_EVENT0("native", "TabAndroid::Init");
691 // This will automatically bind to the Java object and pass ownership there. 694 // This will automatically bind to the Java object and pass ownership there.
692 new TabAndroid(env, obj); 695 new TabAndroid(env, obj);
693 } 696 }
694 697
695 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { 698 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) {
696 return RegisterNativesImpl(env); 699 return RegisterNativesImpl(env);
697 } 700 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/browser_instant_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698