Commit ba58fd11 authored by Jochen Eisinger's avatar Jochen Eisinger Committed by Commit Bot

Add logging to external intent handling

I will revert this CL after a few canaries.

Bug: 839751
Change-Id: I823ec7c2eb47df905869d3f4f74c89e59a1433be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2246596
Auto-Submit: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#779391}
parent d55d36bb
...@@ -70,7 +70,8 @@ public class ExternalNavigationHandler { ...@@ -70,7 +70,8 @@ public class ExternalNavigationHandler {
private static final String TAG = "UrlHandler"; private static final String TAG = "UrlHandler";
// Enables debug logging on a local build. // Enables debug logging on a local build.
private static final boolean DEBUG = false; // TODO(jochen): switch this back to false.
private static final boolean DEBUG = true;
private static final String WTAI_URL_PREFIX = "wtai://wp/"; private static final String WTAI_URL_PREFIX = "wtai://wp/";
private static final String WTAI_MC_URL_PREFIX = "wtai://wp/mc;"; private static final String WTAI_MC_URL_PREFIX = "wtai://wp/mc;";
......
...@@ -13,6 +13,7 @@ import android.text.TextUtils; ...@@ -13,6 +13,7 @@ import android.text.TextUtils;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils; import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.PackageManagerUtils; import org.chromium.base.PackageManagerUtils;
import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.PageTransition;
...@@ -23,6 +24,7 @@ import java.util.List; ...@@ -23,6 +24,7 @@ import java.util.List;
* This class contains the logic to determine effective navigation/redirect. * This class contains the logic to determine effective navigation/redirect.
*/ */
public class RedirectHandler { public class RedirectHandler {
private static final String TAG = "RedirectHandler";
/** /**
* An invalid entry index. * An invalid entry index.
*/ */
...@@ -148,15 +150,30 @@ public class RedirectHandler { ...@@ -148,15 +150,30 @@ public class RedirectHandler {
boolean isNewLoadingStartedByUser = false; boolean isNewLoadingStartedByUser = false;
boolean isFromIntent = pageTransitionCore == PageTransition.LINK boolean isFromIntent = pageTransitionCore == PageTransition.LINK
&& (pageTransType & PageTransition.FROM_API) != 0; && (pageTransType & PageTransition.FROM_API) != 0;
Log.i(TAG,
"updateNewUrlLoading called (pageTransType: " + pageTransType
+ ", isRedirect: " + isRedirect + ", hasUserGesture: " + hasUserGesture
+ ", lastUserInteractionTime: " + lastUserInteractionTime
+ ", lastCommittedEntryIndex: " + lastCommittedEntryIndex + ")");
Log.i(TAG,
" - prevNewUrlLoadingTime: " + prevNewUrlLoadingTime
+ ", mLastNewUrlLoadingTime: " + mLastNewUrlLoadingTime);
Log.i(TAG,
" - pageTransitionCore: " + pageTransitionCore + ", isFromIntent: " + isFromIntent);
if (!isRedirect) { if (!isRedirect) {
if ((pageTransType & PageTransition.FORWARD_BACK) != 0) { if ((pageTransType & PageTransition.FORWARD_BACK) != 0) {
isNewLoadingStartedByUser = true; isNewLoadingStartedByUser = true;
Log.i(TAG, "- isNewLoadingStartedByUser: forward/back navigation");
} else if (pageTransitionCore != PageTransition.LINK } else if (pageTransitionCore != PageTransition.LINK
&& pageTransitionCore != PageTransition.FORM_SUBMIT) { && pageTransitionCore != PageTransition.FORM_SUBMIT) {
isNewLoadingStartedByUser = true; isNewLoadingStartedByUser = true;
Log.i(TAG, "- isNewLoadingStartedByUser: not a link or form submission");
} else if (prevNewUrlLoadingTime == INVALID_TIME || isFromIntent } else if (prevNewUrlLoadingTime == INVALID_TIME || isFromIntent
|| lastUserInteractionTime > prevNewUrlLoadingTime) { || lastUserInteractionTime > prevNewUrlLoadingTime) {
isNewLoadingStartedByUser = true; isNewLoadingStartedByUser = true;
Log.i(TAG,
"- isNewLoadingStartedByUser: first load, from intent or new user gesture");
} }
} }
...@@ -164,17 +181,22 @@ public class RedirectHandler { ...@@ -164,17 +181,22 @@ public class RedirectHandler {
// Updates mInitialNavigationType for a new loading started by a user's gesture. // Updates mInitialNavigationType for a new loading started by a user's gesture.
if (isFromIntent && mInitialIntent != null) { if (isFromIntent && mInitialIntent != null) {
mInitialNavigationType = NAVIGATION_TYPE_FROM_INTENT; mInitialNavigationType = NAVIGATION_TYPE_FROM_INTENT;
Log.i(TAG, " - mInitialNavigationType: FROM_INTENT");
} else { } else {
clearIntentHistory(); clearIntentHistory();
if (pageTransitionCore == PageTransition.TYPED) { if (pageTransitionCore == PageTransition.TYPED) {
mInitialNavigationType = NAVIGATION_TYPE_FROM_USER_TYPING; mInitialNavigationType = NAVIGATION_TYPE_FROM_USER_TYPING;
Log.i(TAG, " - mInitialNavigationType: USER_TYPING");
} else if (pageTransitionCore == PageTransition.RELOAD } else if (pageTransitionCore == PageTransition.RELOAD
|| (pageTransType & PageTransition.FORWARD_BACK) != 0) { || (pageTransType & PageTransition.FORWARD_BACK) != 0) {
mInitialNavigationType = NAVIGATION_TYPE_FROM_RELOAD; mInitialNavigationType = NAVIGATION_TYPE_FROM_RELOAD;
Log.i(TAG, " - mInitialNavigationType: RELOAD");
} else if (pageTransitionCore == PageTransition.LINK && !hasUserGesture) { } else if (pageTransitionCore == PageTransition.LINK && !hasUserGesture) {
mInitialNavigationType = NAVIGATION_TYPE_FROM_LINK_WITHOUT_USER_GESTURE; mInitialNavigationType = NAVIGATION_TYPE_FROM_LINK_WITHOUT_USER_GESTURE;
Log.i(TAG, " - mInitialNavigationType: LINK_WITHOUT_USER_GESTURE");
} else { } else {
mInitialNavigationType = NAVIGATION_TYPE_OTHER; mInitialNavigationType = NAVIGATION_TYPE_OTHER;
Log.i(TAG, " - mInitialNavigationType: OTHER");
} }
} }
mIsOnEffectiveRedirectChain = false; mIsOnEffectiveRedirectChain = false;
...@@ -183,6 +205,9 @@ public class RedirectHandler { ...@@ -183,6 +205,9 @@ public class RedirectHandler {
} else if (mInitialNavigationType != NAVIGATION_TYPE_NONE) { } else if (mInitialNavigationType != NAVIGATION_TYPE_NONE) {
// Redirect chain starts from the second url loading. // Redirect chain starts from the second url loading.
mIsOnEffectiveRedirectChain = true; mIsOnEffectiveRedirectChain = true;
Log.i(TAG, " - mIsOnEffectiveRedirectChain: true");
} else {
Log.i(TAG, " - no updates");
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment