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

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

Issue 1731673002: Add tab reparenting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
Index: chrome/android/java/src/org/chromium/chrome/browser/document/DocumentActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentActivity.java
index 91bd08beb9c520ac4fcb0a6d81277aa4b4d6b4cd..715d5a73d7845ee24f9449126371f7220781c568 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentActivity.java
@@ -563,11 +563,25 @@ public class DocumentActivity extends ChromeActivity {
ChromeApplication.getDocumentTabModelSelector().getModel(true).closeAllTabs();
}
+ private Tab retrieveTabToReparent() {
+ AsyncTabParams params = AsyncTabParamsManager.remove(IntentUtils.safeGetIntExtra(
+ getIntent(), IntentHandler.EXTRA_TAB_ID, Tab.INVALID_TAB_ID));
+ if (params == null) return null;
+ return params.getTabToReparent();
+
+ }
+
private void initializeUI() {
mIcon = new DocumentActivityIcon(this);
mDefaultThemeColor = isIncognito()
? ApiCompatibilityUtils.getColor(getResources(), R.color.incognito_primary_color)
: ApiCompatibilityUtils.getColor(getResources(), R.color.default_primary_color);
+
+ if (AsyncTabParamsManager.hasParamsWithTabToReparent()) {
gone 2016/02/24 18:40:37 Why can't you combine your extra getting logic wit
Yusuf 2016/02/24 19:40:35 Done.
+ mTab = retrieveTabToReparent();
+ mTab.reparentToActivity(this, new DocumentTabDelegateFactory());
+ }
+
AsyncTabParams params = AsyncTabParamsManager.remove(
ActivityDelegate.getTabIdFromIntent(getIntent()));
AsyncTabCreationParams asyncParams = params instanceof AsyncTabCreationParams
@@ -576,7 +590,7 @@ public class DocumentActivity extends ChromeActivity {
boolean isCreatedWithWebContents = asyncParams != null
&& asyncParams.getWebContents() != null;
- mTab = createActivityTab(asyncParams);
+ if (mTab == null) mTab = createActivityTab(asyncParams);
if (asyncParams != null && asyncParams.getWebContents() != null) {
Intent parentIntent = IntentUtils.safeGetParcelableExtra(getIntent(),

Powered by Google App Engine
This is Rietveld 408576698