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

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

Issue 2750313005: Refocus existing NTP instead of creating a new one after inactivity. (Closed)
Patch Set: Created 3 years, 9 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 | no next file » | 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/ChromeTabbedActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
index 52c4b8ee8cb1b3ca2dce5e6d33935db4504241ce..8a9efeca3136ab422f6e01434c407fe0891a35ef 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -104,6 +104,7 @@ import org.chromium.chrome.browser.tab.TabStateBrowserControlsVisibilityDelegate
import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
+import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorImpl;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabModelObserver;
@@ -761,6 +762,23 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
return false;
}
+ // In cases where the tab model is initialized, attempt to reuse an existing NTP if
+ // available before attempting to create a new one.
+ TabModel normalTabModel = getTabModelSelector().getModel(false);
+ for (int i = 0; i < normalTabModel.getCount(); i++) {
+ Tab tab = normalTabModel.getTabAt(i);
+
+ if (NewTabPage.isNTPUrl(tab.getUrl()) && !tab.canGoBack() && !tab.canGoForward()) {
+ if (getActivityTab().equals(tab)) return true;
+
+ normalTabModel.moveTab(tab.getId(), normalTabModel.getCount());
+ normalTabModel.setIndex(
+ TabModelUtils.getTabIndexById(normalTabModel, tab.getId()),
+ TabSelectionType.FROM_USER);
+ return true;
+ }
+ }
+
getTabCreator(false).launchUrl(UrlConstants.NTP_URL, TabLaunchType.FROM_EXTERNAL_APP);
return true;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698