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

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

Issue 143463012: Pass rendering state on swapping in a prerendered page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dev
Patch Set: . Created 6 years, 10 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
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_string.h" 8 #include "base/android/jni_string.h"
9 #include "chrome/browser/android/chrome_web_contents_delegate_android.h" 9 #include "chrome/browser/android/chrome_web_contents_delegate_android.h"
10 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" 10 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h"
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 void TabAndroid::OnNewTabPageReady() { 251 void TabAndroid::OnNewTabPageReady() {
252 NOTREACHED(); 252 NOTREACHED();
253 } 253 }
254 254
255 bool TabAndroid::ShouldWelcomePageLinkToTermsOfService() { 255 bool TabAndroid::ShouldWelcomePageLinkToTermsOfService() {
256 NOTIMPLEMENTED(); 256 NOTIMPLEMENTED();
257 return false; 257 return false;
258 } 258 }
259 259
260 void TabAndroid::SwapTabContents(content::WebContents* old_contents, 260 void TabAndroid::SwapTabContents(content::WebContents* old_contents,
261 content::WebContents* new_contents) { 261 content::WebContents* new_contents,
262 bool did_finish_load) {
262 JNIEnv* env = base::android::AttachCurrentThread(); 263 JNIEnv* env = base::android::AttachCurrentThread();
263 264
264 // We need to notify the native InfobarContainer so infobars can be swapped. 265 // We need to notify the native InfobarContainer so infobars can be swapped.
265 InfoBarContainerAndroid* infobar_container = 266 InfoBarContainerAndroid* infobar_container =
266 reinterpret_cast<InfoBarContainerAndroid*>( 267 reinterpret_cast<InfoBarContainerAndroid*>(
267 Java_TabBase_getNativeInfoBarContainer( 268 Java_TabBase_getNativeInfoBarContainer(
268 env, 269 env,
269 weak_java_tab_.get(env).obj())); 270 weak_java_tab_.get(env).obj()));
270 InfoBarService* new_infobar_service = new_contents ? 271 InfoBarService* new_infobar_service = new_contents ?
271 InfoBarService::FromWebContents(new_contents) : NULL; 272 InfoBarService::FromWebContents(new_contents) : NULL;
272 infobar_container->ChangeInfoBarService(new_infobar_service); 273 infobar_container->ChangeInfoBarService(new_infobar_service);
273 274
274 Java_TabBase_swapWebContents( 275 Java_TabBase_swapWebContents(
275 env, 276 env,
276 weak_java_tab_.get(env).obj(), 277 weak_java_tab_.get(env).obj(),
277 reinterpret_cast<intptr_t>(new_contents)); 278 reinterpret_cast<intptr_t>(new_contents),
279 did_finish_load);
278 } 280 }
279 281
280 void TabAndroid::Observe(int type, 282 void TabAndroid::Observe(int type,
281 const content::NotificationSource& source, 283 const content::NotificationSource& source,
282 const content::NotificationDetails& details) { 284 const content::NotificationDetails& details) {
283 JNIEnv* env = base::android::AttachCurrentThread(); 285 JNIEnv* env = base::android::AttachCurrentThread();
284 switch (type) { 286 switch (type) {
285 case chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED: { 287 case chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED: {
286 TabSpecificContentSettings* settings = 288 TabSpecificContentSettings* settings =
287 TabSpecificContentSettings::FromWebContents(web_contents()); 289 TabSpecificContentSettings::FromWebContents(web_contents());
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 462
461 static void Init(JNIEnv* env, jobject obj) { 463 static void Init(JNIEnv* env, jobject obj) {
462 TRACE_EVENT0("native", "TabAndroid::Init"); 464 TRACE_EVENT0("native", "TabAndroid::Init");
463 // This will automatically bind to the Java object and pass ownership there. 465 // This will automatically bind to the Java object and pass ownership there.
464 new TabAndroid(env, obj); 466 new TabAndroid(env, obj);
465 } 467 }
466 468
467 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { 469 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) {
468 return RegisterNativesImpl(env); 470 return RegisterNativesImpl(env);
469 } 471 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698