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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java

Issue 1229853006: [Document mode] Allow multiple popup windows to appear. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Uploading for realz Created 5 years, 5 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
index c7178ef1d0dcb9307758efccd9d426c15a0a29cf..2a9a49cd643094dbee01f63dc8d097165926d7a0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
@@ -332,7 +332,7 @@ public class ChromeLauncherActivity extends Activity
int shortcutSource = getIntent().getIntExtra(
ShortcutHelper.EXTRA_SOURCE, ShortcutSource.UNKNOWN);
LaunchMetrics.recordHomeScreenLaunchIntoTab(url, shortcutSource);
- if (relaunchTask(incognito, url)) return;
+ if (relaunchTask(incognito, url) != Tab.INVALID_TAB_ID) return;
}
// Create and fire a launch Intent to start a new Task. The old Intent is copied using
@@ -449,9 +449,10 @@ public class ChromeLauncherActivity extends Activity
* @param incognito Whether the created document should be incognito.
* @param asyncParams AsyncTabCreationParams to store internally and use later once an intent is
* received to launch the URL.
+ * @return ID of the Tab that was launched.
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
- public static void launchDocumentInstance(
+ public static int launchDocumentInstance(
Activity activity, boolean incognito, AsyncTabCreationParams asyncParams) {
assert asyncParams != null;
@@ -470,7 +471,8 @@ public class ChromeLauncherActivity extends Activity
if (launchMode == LAUNCH_MODE_RETARGET) {
assert asyncParams.getWebContents() == null;
assert loadUrlParams.getPostData() == null;
- if (relaunchTask(incognito, loadUrlParams.getUrl())) return;
+ int relaunchedId = relaunchTask(incognito, loadUrlParams.getUrl());
+ if (relaunchedId != Tab.INVALID_TAB_ID) return relaunchedId;
}
// If the new tab is spawned by another tab, record the parent.
@@ -503,6 +505,8 @@ public class ChromeLauncherActivity extends Activity
} else {
fireDocumentIntent(activity, intent, incognito, affiliated, asyncParams);
}
+
+ return ActivityDelegate.getTabIdFromIntent(intent);
}
/**
@@ -656,11 +660,11 @@ public class ChromeLauncherActivity extends Activity
* Bring the task matching the given URL to the front if the task is retargetable.
* @param incognito Whether or not the tab is incognito.
* @param url URL that the tab would have been created for. If null, this param is ignored.
- * @return Whether the task was successfully brought back.
+ * @return ID of the Tab if it was successfully relaunched, otherwise Tab.INVALID_TAB_ID.
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
- private static boolean relaunchTask(boolean incognito, String url) {
- if (TextUtils.isEmpty(url)) return false;
+ private static int relaunchTask(boolean incognito, String url) {
+ if (TextUtils.isEmpty(url)) return Tab.INVALID_TAB_ID;
Context context = ApplicationStatus.getApplicationContext();
ActivityManager manager =
@@ -680,10 +684,10 @@ public class ChromeLauncherActivity extends Activity
}
if (!moveToFront(task)) continue;
- return true;
+ return id;
}
- return false;
+ return Tab.INVALID_TAB_ID;
}
/**
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698