Index: chrome/browser/android/tab_android.cc |
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc |
index a64861bcca783402094788493bf54c9ac9f299d2..4dc07f68471e47279687e96faefeea4061763cfb 100644 |
--- a/chrome/browser/android/tab_android.cc |
+++ b/chrome/browser/android/tab_android.cc |
@@ -11,7 +11,11 @@ |
#include "base/memory/ptr_util.h" |
#include "base/metrics/histogram.h" |
#include "base/trace_event/trace_event.h" |
+#include "blimp/client/public/blimp_client_context.h" |
+#include "blimp/client/public/contents/blimp_contents.h" |
+#include "blimp/client/public/contents/blimp_navigation_controller.h" |
#include "cc/layers/layer.h" |
+#include "chrome/browser/android/blimp/blimp_client_context_factory.h" |
#include "chrome/browser/android/compositor/tab_content_manager.h" |
#include "chrome/browser/android/metrics/uma_utils.h" |
#include "chrome/browser/android/offline_pages/offline_page_model_factory.h" |
@@ -29,6 +33,7 @@ |
#include "chrome/browser/printing/print_view_manager_basic.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_android.h" |
+#include "chrome/browser/profiles/profile_manager.h" |
#include "chrome/browser/search/instant_service.h" |
#include "chrome/browser/search/instant_service_factory.h" |
#include "chrome/browser/search/search.h" |
@@ -422,6 +427,14 @@ void TabAndroid::InitWebContents( |
content_layer_->InsertChild(web_contents_->GetNativeView()->GetLayer(), 0); |
} |
+void TabAndroid::InitBlimpContents(JNIEnv* env, |
+ const JavaParamRef<jobject>& obj) { |
+ blimp::client::BlimpClientContext* context = |
+ BlimpClientContextFactory::GetForBrowserContext( |
+ ProfileManager::GetLastUsedProfile()->GetOriginalProfile()); |
David Trainor- moved to gerrit
2016/08/11 21:40:19
Should we fail if this is an incognito tab (for no
shaktisahu
2016/08/12 22:11:49
I discussed with Tommy about this. I added a check
|
+ blimp_contents_ = context->CreateBlimpContents(); |
+} |
+ |
void TabAndroid::UpdateDelegates( |
JNIEnv* env, |
const JavaParamRef<jobject>& obj, |
@@ -500,6 +513,15 @@ base::android::ScopedJavaLocalRef<jobject> TabAndroid::GetProfileAndroid( |
return profile_android->GetJavaObject(); |
} |
+base::android::ScopedJavaLocalRef<jobject> TabAndroid::GetBlimpContents( |
+ JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& obj) { |
+ if (!blimp_contents_.get()) |
+ return base::android::ScopedJavaLocalRef<jobject>(); |
+ |
+ return blimp_contents_->GetJavaObject(); |
+} |
+ |
TabAndroid::TabLoadStatus TabAndroid::LoadUrl( |
JNIEnv* env, |
const JavaParamRef<jobject>& obj, |
@@ -584,6 +606,12 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl( |
GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)), |
static_cast<blink::WebReferrerPolicy>(referrer_policy)); |
} |
+ |
+ if (blimp_contents()) { |
David Trainor- moved to gerrit
2016/08/11 21:40:19
Can we do this before we build the LoadURLParams?
shaktisahu
2016/08/12 22:11:49
Done.
|
+ blimp_contents()->GetNavigationController().LoadURL(fixed_url); |
+ return DEFAULT_PAGE_LOAD; |
+ } |
+ |
const base::string16 search_terms = |
search::ExtractSearchTermsFromURL(GetProfile(), gurl); |
SearchTabHelper* search_tab_helper = |