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

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: '' 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
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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 #include "content/public/browser/web_contents.h" 51 #include "content/public/browser/web_contents.h"
52 #include "jni/Tab_jni.h" 52 #include "jni/Tab_jni.h"
53 #include "skia/ext/image_operations.h" 53 #include "skia/ext/image_operations.h"
54 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" 54 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
55 #include "ui/base/resource/resource_bundle.h" 55 #include "ui/base/resource/resource_bundle.h"
56 #include "ui/base/window_open_disposition.h" 56 #include "ui/base/window_open_disposition.h"
57 #include "ui/gfx/android/device_display_info.h" 57 #include "ui/gfx/android/device_display_info.h"
58 #include "ui/gfx/android/java_bitmap.h" 58 #include "ui/gfx/android/java_bitmap.h"
59 #include "ui/gfx/favicon_size.h" 59 #include "ui/gfx/favicon_size.h"
60 #include "ui/gfx/image/image_skia.h" 60 #include "ui/gfx/image/image_skia.h"
61 61
Mark P 2014/11/17 19:15:58 please include instant_types directly.
kmadhusu 2014/11/17 22:52:05 Done.
62 using content::GlobalRequestID; 62 using content::GlobalRequestID;
63 using content::NavigationController; 63 using content::NavigationController;
64 using content::WebContents; 64 using content::WebContents;
65 65
66 namespace { 66 namespace {
67 67
68 WebContents* CreateTargetContents(const chrome::NavigateParams& params, 68 WebContents* CreateTargetContents(const chrome::NavigateParams& params,
69 const GURL& url) { 69 const GURL& url) {
70 Profile* profile = params.initiating_profile; 70 Profile* profile = params.initiating_profile;
71 71
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 bool prefetched_page_loaded = HasPrerenderedUrl(gurl); 529 bool prefetched_page_loaded = HasPrerenderedUrl(gurl);
530 // Getting the load status before MaybeUsePrerenderedPage() b/c it resets. 530 // Getting the load status before MaybeUsePrerenderedPage() b/c it resets.
531 chrome::NavigateParams params(NULL, web_contents()); 531 chrome::NavigateParams params(NULL, web_contents());
532 InstantSearchPrerenderer* prerenderer = 532 InstantSearchPrerenderer* prerenderer =
533 InstantSearchPrerenderer::GetForProfile(GetProfile()); 533 InstantSearchPrerenderer::GetForProfile(GetProfile());
534 if (prerenderer) { 534 if (prerenderer) {
535 const base::string16& search_terms = 535 const base::string16& search_terms =
536 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl); 536 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl);
537 if (!search_terms.empty() && 537 if (!search_terms.empty() &&
538 prerenderer->CanCommitQuery(web_contents_.get(), search_terms)) { 538 prerenderer->CanCommitQuery(web_contents_.get(), search_terms)) {
539 prerenderer->Commit(search_terms); 539 EmbeddedSearchRequestParams request_params(gurl);
540 prerenderer->Commit(search_terms, request_params);
540 541
541 if (prerenderer->UsePrerenderedPage(gurl, &params)) 542 if (prerenderer->UsePrerenderedPage(gurl, &params))
542 return FULL_PRERENDERED_PAGE_LOAD; 543 return FULL_PRERENDERED_PAGE_LOAD;
543 } 544 }
544 prerenderer->Cancel(); 545 prerenderer->Cancel();
545 } 546 }
546 if (prerender_manager->MaybeUsePrerenderedPage(gurl, &params)) { 547 if (prerender_manager->MaybeUsePrerenderedPage(gurl, &params)) {
547 return prefetched_page_loaded ? 548 return prefetched_page_loaded ?
548 FULL_PRERENDERED_PAGE_LOAD : PARTIAL_PRERENDERED_PAGE_LOAD; 549 FULL_PRERENDERED_PAGE_LOAD : PARTIAL_PRERENDERED_PAGE_LOAD;
549 } 550 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 load_params.referrer = content::Referrer( 596 load_params.referrer = content::Referrer(
596 GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)), 597 GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)),
597 static_cast<blink::WebReferrerPolicy>(referrer_policy)); 598 static_cast<blink::WebReferrerPolicy>(referrer_policy));
598 } 599 }
599 const base::string16 search_terms = 600 const base::string16 search_terms =
600 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl); 601 chrome::ExtractSearchTermsFromURL(GetProfile(), gurl);
601 SearchTabHelper* search_tab_helper = 602 SearchTabHelper* search_tab_helper =
602 SearchTabHelper::FromWebContents(web_contents_.get()); 603 SearchTabHelper::FromWebContents(web_contents_.get());
603 if (!search_terms.empty() && search_tab_helper && 604 if (!search_terms.empty() && search_tab_helper &&
604 search_tab_helper->SupportsInstant()) { 605 search_tab_helper->SupportsInstant()) {
605 search_tab_helper->Submit(search_terms); 606 EmbeddedSearchRequestParams request_params(gurl);
607 search_tab_helper->Submit(search_terms, request_params);
606 return DEFAULT_PAGE_LOAD; 608 return DEFAULT_PAGE_LOAD;
607 } 609 }
608 load_params.is_renderer_initiated = is_renderer_initiated; 610 load_params.is_renderer_initiated = is_renderer_initiated;
609 web_contents()->GetController().LoadURLWithParams(load_params); 611 web_contents()->GetController().LoadURLWithParams(load_params);
610 } 612 }
611 return DEFAULT_PAGE_LOAD; 613 return DEFAULT_PAGE_LOAD;
612 } 614 }
613 615
614 void TabAndroid::SetActiveNavigationEntryTitleForUrl(JNIEnv* env, 616 void TabAndroid::SetActiveNavigationEntryTitleForUrl(JNIEnv* env,
615 jobject obj, 617 jobject obj,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 690
689 static void Init(JNIEnv* env, jobject obj) { 691 static void Init(JNIEnv* env, jobject obj) {
690 TRACE_EVENT0("native", "TabAndroid::Init"); 692 TRACE_EVENT0("native", "TabAndroid::Init");
691 // This will automatically bind to the Java object and pass ownership there. 693 // This will automatically bind to the Java object and pass ownership there.
692 new TabAndroid(env, obj); 694 new TabAndroid(env, obj);
693 } 695 }
694 696
695 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { 697 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) {
696 return RegisterNativesImpl(env); 698 return RegisterNativesImpl(env);
697 } 699 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/browser_instant_controller.cc » ('j') | chrome/browser/ui/browser_instant_controller.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698