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

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

Issue 883153002: Load web contents after tab is created. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: findbugs exception Created 5 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
« no previous file with comments | « chrome/browser/android/chrome_web_contents_delegate_android.h ('k') | chrome/chrome.gyp » ('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/chrome_web_contents_delegate_android.h" 5 #include "chrome/browser/android/chrome_web_contents_delegate_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 "base/command_line.h" 9 #include "base/command_line.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 bool* was_blocked) { 313 bool* was_blocked) {
314 // No code for this yet. 314 // No code for this yet.
315 DCHECK_NE(disposition, SAVE_TO_DISK); 315 DCHECK_NE(disposition, SAVE_TO_DISK);
316 // Can't create a new contents for the current tab - invalid case. 316 // Can't create a new contents for the current tab - invalid case.
317 DCHECK_NE(disposition, CURRENT_TAB); 317 DCHECK_NE(disposition, CURRENT_TAB);
318 318
319 TabHelpers::AttachTabHelpers(new_contents); 319 TabHelpers::AttachTabHelpers(new_contents);
320 320
321 JNIEnv* env = AttachCurrentThread(); 321 JNIEnv* env = AttachCurrentThread();
322 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); 322 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
323 bool handled = false; 323 AddWebContentsResult add_result =
324 ADD_WEB_CONTENTS_RESULT_STOP_LOAD_AND_DELETE;
324 if (!obj.is_null()) { 325 if (!obj.is_null()) {
325 ScopedJavaLocalRef<jobject> jsource; 326 ScopedJavaLocalRef<jobject> jsource;
326 if (source) 327 if (source)
327 jsource = source->GetJavaWebContents(); 328 jsource = source->GetJavaWebContents();
328 ScopedJavaLocalRef<jobject> jnew_contents; 329 ScopedJavaLocalRef<jobject> jnew_contents;
329 if (new_contents) 330 if (new_contents)
330 jnew_contents = new_contents->GetJavaWebContents(); 331 jnew_contents = new_contents->GetJavaWebContents();
331 332
332 handled = Java_ChromeWebContentsDelegateAndroid_addNewContents( 333 add_result = static_cast<AddWebContentsResult>(
333 env, 334 Java_ChromeWebContentsDelegateAndroid_addNewContents(
334 obj.obj(), 335 env,
335 jsource.obj(), 336 obj.obj(),
336 jnew_contents.obj(), 337 jsource.obj(),
337 static_cast<jint>(disposition), 338 jnew_contents.obj(),
338 NULL, 339 static_cast<jint>(disposition),
339 user_gesture); 340 NULL,
341 user_gesture));
340 } 342 }
341 343
342 if (was_blocked) 344 if (was_blocked)
343 *was_blocked = !handled; 345 *was_blocked = !(add_result == ADD_WEB_CONTENTS_RESULT_PROCEED);
344 if (!handled) 346
347 if (add_result == ADD_WEB_CONTENTS_RESULT_STOP_LOAD_AND_DELETE)
345 delete new_contents; 348 delete new_contents;
346 } 349 }
347 350
348 } // namespace android 351 } // namespace android
349 } // namespace chrome 352 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/android/chrome_web_contents_delegate_android.h ('k') | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698