| 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 9a685eef10f3dac2f34afa42870833ae0b82944b..2c1b4e467e1ddffbf99c723fcc206d2687504c28 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| @@ -751,21 +751,27 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
|
| // 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);
|
| + Tab ntpToRefocus = null;
|
| for (int i = 0; i < normalTabModel.getCount(); i++) {
|
| Tab tab = normalTabModel.getTabAt(i);
|
|
|
| if (NewTabPage.isNTPUrl(tab.getUrl()) && !tab.canGoBack() && !tab.canGoForward()) {
|
| + // If the currently selected tab is an NTP, then take no action.
|
| if (getActivityTab().equals(tab)) return true;
|
| -
|
| - normalTabModel.moveTab(tab.getId(), normalTabModel.getCount());
|
| - normalTabModel.setIndex(
|
| - TabModelUtils.getTabIndexById(normalTabModel, tab.getId()),
|
| - TabSelectionType.FROM_USER);
|
| - return true;
|
| + ntpToRefocus = tab;
|
| + break;
|
| }
|
| }
|
|
|
| - getTabCreator(false).launchUrl(UrlConstants.NTP_URL, TabLaunchType.FROM_EXTERNAL_APP);
|
| + if (ntpToRefocus != null) {
|
| + normalTabModel.moveTab(ntpToRefocus.getId(), normalTabModel.getCount());
|
| + normalTabModel.setIndex(
|
| + TabModelUtils.getTabIndexById(normalTabModel, ntpToRefocus.getId()),
|
| + TabSelectionType.FROM_USER);
|
| + } else {
|
| + getTabCreator(false).launchUrl(UrlConstants.NTP_URL, TabLaunchType.FROM_EXTERNAL_APP);
|
| + }
|
| + RecordUserAction.record("MobileStartup.MainIntent.NTPCreatedDueToInactivity");
|
| return true;
|
| }
|
|
|
|
|