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

Unified 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: Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/chrome_web_contents_delegate_android.cc
diff --git a/chrome/browser/android/chrome_web_contents_delegate_android.cc b/chrome/browser/android/chrome_web_contents_delegate_android.cc
index 038a27467b9ea005d6f39a9f75e796aebcea2c0c..9362fe98f04a9ba70ea1a98c77e907f28a9ad796 100644
--- a/chrome/browser/android/chrome_web_contents_delegate_android.cc
+++ b/chrome/browser/android/chrome_web_contents_delegate_android.cc
@@ -320,7 +320,7 @@ void ChromeWebContentsDelegateAndroid::AddNewContents(
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
- bool handled = false;
+ AddWebContentsResult handled = ADD_WEB_CONTENTS_RESULT_STOP_LOAD_AND_DELETE;
if (!obj.is_null()) {
ScopedJavaLocalRef<jobject> jsource;
if (source)
@@ -329,20 +329,30 @@ void ChromeWebContentsDelegateAndroid::AddNewContents(
if (new_contents)
jnew_contents = new_contents->GetJavaWebContents();
- handled = Java_ChromeWebContentsDelegateAndroid_addNewContents(
- env,
- obj.obj(),
- jsource.obj(),
- jnew_contents.obj(),
- static_cast<jint>(disposition),
- NULL,
- user_gesture);
+ handled = static_cast<AddWebContentsResult>(
+ Java_ChromeWebContentsDelegateAndroid_addNewContents(
+ env,
+ obj.obj(),
+ jsource.obj(),
+ jnew_contents.obj(),
+ static_cast<jint>(disposition),
+ NULL,
+ user_gesture));
}
- if (was_blocked)
- *was_blocked = !handled;
- if (!handled)
- delete new_contents;
+ switch (handled) {
+ case ADD_WEB_CONTENTS_RESULT_STOP_LOAD_AND_DELETE:
+ delete new_contents;
+ // fall through
+ case ADD_WEB_CONTENTS_RESULT_STOP_LOAD:
+ if (was_blocked)
+ *was_blocked = true;
+ break;
+ case ADD_WEB_CONTENTS_RESULT_PROCEED:
+ if (was_blocked)
+ *was_blocked = false;
+ break;
+ }
gone 2015/01/29 03:11:32 Add a default: here. Also, man this switch hurts
}
} // namespace android

Powered by Google App Engine
This is Rietveld 408576698