Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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, ¶ms)) | 542 if (prerenderer->UsePrerenderedPage(gurl, ¶ms)) |
| 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, ¶ms)) { | 547 if (prerender_manager->MaybeUsePrerenderedPage(gurl, ¶ms)) { |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |