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

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

Issue 1867083003: "Move to other window" improvements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@find_in_page_leak
Patch Set: fix legit findbugs failure Created 4 years, 8 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/appmenu/AppMenuPropertiesDelegate.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/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 a97280d745061a830667970902ac313f8db21b6c..a7e90b297f7a562d83525eef526b11ccf8b17120 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -79,7 +79,6 @@ import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoS
import org.chromium.chrome.browser.signin.SigninPromoScreen;
import org.chromium.chrome.browser.snackbar.undo.UndoBarController;
import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver;
import org.chromium.chrome.browser.tabmodel.TabModel;
@@ -88,7 +87,6 @@ import org.chromium.chrome.browser.tabmodel.TabModelObserver;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorImpl;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
import org.chromium.chrome.browser.tabmodel.TabModelUtils;
-import org.chromium.chrome.browser.tabmodel.TabReparentingParams;
import org.chromium.chrome.browser.tabmodel.TabWindowManager;
import org.chromium.chrome.browser.toolbar.ToolbarControlContainer;
import org.chromium.chrome.browser.util.FeatureUtilities;
@@ -241,6 +239,11 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
closeIfNoTabsAndHomepageEnabled();
}
+ @Override
+ public void tabRemoved(Tab tab) {
+ closeIfNoTabsAndHomepageEnabled();
+ }
+
private void closeIfNoTabsAndHomepageEnabled() {
// If the last tab is closed, and homepage is enabled, then exit Chrome.
if (HomepageManager.isHomepageEnabled(getApplicationContext())
@@ -1088,24 +1091,15 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
}
private void moveTabToOtherWindow(Tab tab) {
- getCurrentTabModel().removeTab(tab);
- tab.getContentViewCore().updateWindowAndroid(null);
- tab.attachTabContentManager(null);
-
Class<? extends Activity> targetActivity =
MultiWindowUtils.getInstance().getOpenInOtherWindowActivity(this);
if (targetActivity == null) return;
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(tab.getUrl()));
+ Intent intent = new Intent(this, targetActivity);
intent.setClass(this, targetActivity);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
- | MultiWindowUtils.FLAG_ACTIVITY_LAUNCH_ADJACENT);
- intent.putExtra(IntentHandler.EXTRA_TAB_ID, tab.getId());
-
- AsyncTabParamsManager.add(tab.getId(),
- new TabReparentingParams(tab, intent, null));
+ intent.setFlags(MultiWindowUtils.FLAG_ACTIVITY_LAUNCH_ADJACENT);
- startActivity(intent);
+ tab.detachAndStartReparenting(intent, null, null);
}
@Override
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698