Commit 75d18078 authored by Scott Violet's avatar Scott Violet Committed by Chromium LUCI CQ

Revert "Android: cleanup of transition types"

This reverts commit 495dcf2f.

Reason for revert: see https://bugs.chromium.org/p/chromium/issues/detail?id=1169201 .

Original change's description:
> Android: cleanup of transition types
>
> This removes adding the qualifier PageTransition.FROM_API for
> TabLaunchTypes of FROM_LINK and FROM_RESTORE. I believe this was
> unintentional, and doesn't make sense to use FROM_API with.
>
> This also removes FROM_API for intents that came from chrome and
> launched chrome. Again, seems like we shouldn't use FROM_API for
> this scenario either.
>
> I came across this while doing the other patches. AFAIK nothing
> depends upon this, just seems worth cleaning up.
>
> BUG=none
> TEST=none
>
> Change-Id: Id89fbc0e70fb52a662ac33a55d269460677ee152
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2511853
> Commit-Queue: Scott Violet <sky@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#823388}

TBR=sky@chromium.org,mthiesse@chromium.org,tedchoc@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1169201
Change-Id: Idff0c0063f22b7290c37be33062d34eeb6572199
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2644148Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#846225}
parent ef899c98
...@@ -1258,8 +1258,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent ...@@ -1258,8 +1258,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
if (isActivityFinishingOrDestroyed()) { if (isActivityFinishingOrDestroyed()) {
return; return;
} }
final boolean fromChrome = isFromChrome(intent, externalAppId); if (isFromChrome(intent, externalAppId)) {
if (fromChrome) {
RecordUserAction.record("MobileTabbedModeViewIntentFromChrome"); RecordUserAction.record("MobileTabbedModeViewIntentFromChrome");
} else { } else {
RecordUserAction.record("MobileTabbedModeViewIntentFromApp"); RecordUserAction.record("MobileTabbedModeViewIntentFromApp");
...@@ -1316,7 +1315,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent ...@@ -1316,7 +1315,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
RedirectHandlerTabHelper.updateIntentInTab(currentTab, intent); RedirectHandlerTabHelper.updateIntentInTab(currentTab, intent);
LoadUrlParams loadUrlParams = LoadUrlParams loadUrlParams =
ChromeTabbedActivity.createLoadUrlParamsForIntent(url, referer, ChromeTabbedActivity.createLoadUrlParamsForIntent(url, referer,
hasUserGesture, mIntentHandlingTimeMs, intent, fromChrome); hasUserGesture, mIntentHandlingTimeMs, intent);
loadUrlParams.setIsRendererInitiated(isRendererInitiated); loadUrlParams.setIsRendererInitiated(isRendererInitiated);
loadUrlParams.setInitiatorOrigin(initiatorOrigin); loadUrlParams.setInitiatorOrigin(initiatorOrigin);
currentTab.loadUrl(loadUrlParams); currentTab.loadUrl(loadUrlParams);
...@@ -1345,7 +1344,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent ...@@ -1345,7 +1344,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
LoadUrlParams loadUrlParams = LoadUrlParams loadUrlParams =
ChromeTabbedActivity.createLoadUrlParamsForIntent(url, ChromeTabbedActivity.createLoadUrlParamsForIntent(url,
referer, hasUserGesture, mIntentHandlingTimeMs, referer, hasUserGesture, mIntentHandlingTimeMs,
intent, fromChrome); intent);
loadUrlParams.setVerbatimHeaders(headers); loadUrlParams.setVerbatimHeaders(headers);
loadUrlParams.setIsRendererInitiated(isRendererInitiated); loadUrlParams.setIsRendererInitiated(isRendererInitiated);
loadUrlParams.setInitiatorOrigin(initiatorOrigin); loadUrlParams.setInitiatorOrigin(initiatorOrigin);
...@@ -2015,12 +2014,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent ...@@ -2015,12 +2014,14 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
* Create a LoadUrlParams for handling a VIEW intent. * Create a LoadUrlParams for handling a VIEW intent.
*/ */
private static LoadUrlParams createLoadUrlParamsForIntent(String url, String referer, private static LoadUrlParams createLoadUrlParamsForIntent(String url, String referer,
boolean hasUserGesture, long intentHandlingTimeMs, Intent intent, boolean fromChrome) { boolean hasUserGesture, long intentHandlingTimeMs, Intent intent) {
LoadUrlParams loadUrlParams = new LoadUrlParams(url); LoadUrlParams loadUrlParams = new LoadUrlParams(url);
loadUrlParams.setIntentReceivedTimestamp(intentHandlingTimeMs); loadUrlParams.setIntentReceivedTimestamp(intentHandlingTimeMs);
loadUrlParams.setHasUserGesture(hasUserGesture); loadUrlParams.setHasUserGesture(hasUserGesture);
int transitionType = PageTransition.LINK; // Add FROM_API to ensure intent handling isn't used again. Without FROM_API Chrome could
if (!fromChrome) transitionType |= PageTransition.FROM_API; // get stuck in a loop continually being asked to open a link, and then calling out to the
// system.
int transitionType = PageTransition.LINK | PageTransition.FROM_API;
loadUrlParams.setTransitionType( loadUrlParams.setTransitionType(
IntentHandler.getTransitionTypeFromIntent(intent, transitionType)); IntentHandler.getTransitionTypeFromIntent(intent, transitionType));
if (referer != null) { if (referer != null) {
......
...@@ -443,8 +443,11 @@ public class ChromeTabCreator extends TabCreator { ...@@ -443,8 +443,11 @@ public class ChromeTabCreator extends TabCreator {
case TabLaunchType.FROM_START_SURFACE: case TabLaunchType.FROM_START_SURFACE:
transition = originalTransitionType; transition = originalTransitionType;
break; break;
case TabLaunchType.FROM_RESTORE:
case TabLaunchType.FROM_LINK:
case TabLaunchType.FROM_EXTERNAL_APP: case TabLaunchType.FROM_EXTERNAL_APP:
case TabLaunchType.FROM_BROWSER_ACTIONS: case TabLaunchType.FROM_BROWSER_ACTIONS:
// FROM_API ensures intent handling isn't used.
transition = PageTransition.LINK | PageTransition.FROM_API; transition = PageTransition.LINK | PageTransition.FROM_API;
break; break;
case TabLaunchType.FROM_CHROME_UI: case TabLaunchType.FROM_CHROME_UI:
...@@ -453,9 +456,7 @@ public class ChromeTabCreator extends TabCreator { ...@@ -453,9 +456,7 @@ public class ChromeTabCreator extends TabCreator {
case TabLaunchType.FROM_LAUNCH_NEW_INCOGNITO_TAB: case TabLaunchType.FROM_LAUNCH_NEW_INCOGNITO_TAB:
transition = PageTransition.AUTO_TOPLEVEL; transition = PageTransition.AUTO_TOPLEVEL;
break; break;
case TabLaunchType.FROM_LINK:
case TabLaunchType.FROM_LONGPRESS_FOREGROUND: case TabLaunchType.FROM_LONGPRESS_FOREGROUND:
case TabLaunchType.FROM_RESTORE:
transition = PageTransition.LINK; transition = PageTransition.LINK;
break; break;
case TabLaunchType.FROM_LONGPRESS_BACKGROUND: case TabLaunchType.FROM_LONGPRESS_BACKGROUND:
......
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