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

Issue 1731673002: Add tab reparenting (Closed)

Created:
4 years, 10 months ago by Yusuf
Modified:
4 years, 10 months ago
Reviewers:
Ted C, gone, no sievers
CC:
chromium-reviews, yusukes+watch_chromium.org, shuchen+watch_chromium.org, jam, nona+watch_chromium.org, darin-cc_chromium.org, James Su
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add tab reparenting - Adds updateWindowAndroid to ContentViewCore native and java - Uses the above for calling onAttachedToWindow and onDetachedFromWindow for CVC observers - Add updateDelegates to TabAndroid - Uses all above for adding Tab#reparentToActivity detaching from old activity and related objects and attaching to new activity - Add AsyncTabParamsManager call to check whether there is a saved tab. - Uses all above to add reparenting to CustomTabActivity to other activities. BUG=584712 Committed: https://crrev.com/e454b1df52fa75a27583a02f85070bdca44f28c6 Cr-Commit-Position: refs/heads/master@{#378027}

Patch Set 1 #

Total comments: 22

Patch Set 2 : Initial comments #

Total comments: 4

Patch Set 3 : Added tab destroy to launcher exception and more comments #

Patch Set 4 : Dan's final nits #

Total comments: 18

Patch Set 5 : content_view_core and render_widget_host_view fixes #

Total comments: 6

Patch Set 6 : simplify logic #

Patch Set 7 : Ted's comments #

Patch Set 8 : Rebased... #

Patch Set 9 : Strictmode violation #

Patch Set 10 : Fix compile #

Patch Set 11 : Added visible for testing to externalPrerenderHandler method #

Total comments: 13

Patch Set 12 : Comments #

Patch Set 13 : remove test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+269 lines, -35 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java View 1 3 chunks +5 lines, -9 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +38 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java View 1 2 3 4 5 6 7 2 chunks +5 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/document/DocumentActivity.java View 1 1 chunk +8 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +33 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParams.java View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParamsManager.java View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +14 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java View 1 2 3 4 5 6 3 chunks +13 lines, -11 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/EmptyTabModel.java View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/OffTheRecordTabModel.java View 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/SingleTabModel.java View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModel.java View 1 2 chunks +13 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java View 1 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabReparentingParams.java View 1 2 3 4 5 6 2 chunks +15 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java View 1 2 3 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/AsyncTabCreationParams.java View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/DocumentTabModelImpl.java View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/TabTest.java View 1 2 chunks +11 lines, -0 lines 0 comments Download
M chrome/browser/android/tab_android.h View 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/android/tab_android.cc View 1 1 chunk +13 lines, -0 lines 0 comments Download
M content/browser/android/content_view_core_impl.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/android/content_view_core_impl.cc View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -6 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (14 generated)
Yusuf
sievers@ for render_widget_host_view_android tedchoc@ for content/android dfalcantara@ for all else
4 years, 10 months ago (2016-02-24 01:16:00 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/1
4 years, 10 months ago (2016-02-24 16:44:04 UTC) #4
gone
Looked mainly at the Java stuff, but I did a layman's pass on the C++ ...
4 years, 10 months ago (2016-02-24 18:40:38 UTC) #5
Yusuf
https://chromiumcodereview.appspot.com/1731673002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java File chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java (right): https://chromiumcodereview.appspot.com/1731673002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java#newcode679 chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java:679: if (!AsyncTabParamsManager.hasParamsWithTabToReparent()) { On 2016/02/24 18:40:37, dfalcantara wrote: > ...
4 years, 10 months ago (2016-02-24 19:40:36 UTC) #6
gone
lgtm on my end https://chromiumcodereview.appspot.com/1731673002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java File chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java (right): https://chromiumcodereview.appspot.com/1731673002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java#newcode129 chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java:129: if (AsyncTabParamsManager.hasParamsWithTabToReparent()) { Still really ...
4 years, 10 months ago (2016-02-24 21:01:37 UTC) #7
Yusuf
https://chromiumcodereview.appspot.com/1731673002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java File chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java (right): https://chromiumcodereview.appspot.com/1731673002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java#newcode129 chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java:129: if (AsyncTabParamsManager.hasParamsWithTabToReparent()) { On 2016/02/24 21:01:37, dfalcantara wrote: > ...
4 years, 10 months ago (2016-02-24 21:07:37 UTC) #8
no sievers
https://codereview.chromium.org/1731673002/diff/60001/content/browser/android/content_view_core_impl.cc File content/browser/android/content_view_core_impl.cc (right): https://codereview.chromium.org/1731673002/diff/60001/content/browser/android/content_view_core_impl.cc#newcode280 content/browser/android/content_view_core_impl.cc:280: if (window_android) { What about |window_android_ != null|? If ...
4 years, 10 months ago (2016-02-25 19:23:16 UTC) #9
Yusuf
https://codereview.chromium.org/1731673002/diff/60001/content/browser/android/content_view_core_impl.cc File content/browser/android/content_view_core_impl.cc (right): https://codereview.chromium.org/1731673002/diff/60001/content/browser/android/content_view_core_impl.cc#newcode280 content/browser/android/content_view_core_impl.cc:280: if (window_android) { On 2016/02/25 19:23:16, sievers wrote: > ...
4 years, 10 months ago (2016-02-25 19:37:03 UTC) #10
no sievers
lgtm
4 years, 10 months ago (2016-02-25 19:46:36 UTC) #11
Ted C
https://chromiumcodereview.appspot.com/1731673002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java File chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java (right): https://chromiumcodereview.appspot.com/1731673002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java#newcode701 chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java:701: if (mCompositorViewHolder != null && AsyncTabParamsManager.hasParamsWithTabToReparent()) { Looking at ...
4 years, 10 months ago (2016-02-25 20:05:22 UTC) #12
Yusuf
https://codereview.chromium.org/1731673002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java File chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java (right): https://codereview.chromium.org/1731673002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java#newcode701 chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java:701: if (mCompositorViewHolder != null && AsyncTabParamsManager.hasParamsWithTabToReparent()) { On 2016/02/25 ...
4 years, 10 months ago (2016-02-25 23:05:00 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/140001
4 years, 10 months ago (2016-02-26 03:03:11 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/29548)
4 years, 10 months ago (2016-02-26 05:58:11 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/160001
4 years, 10 months ago (2016-02-26 07:26:58 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/27723) android_chromium_gn_compile_dbg on ...
4 years, 10 months ago (2016-02-26 07:47:13 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/180001
4 years, 10 months ago (2016-02-26 08:04:35 UTC) #23
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/29639)
4 years, 10 months ago (2016-02-26 11:23:19 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/200001
4 years, 10 months ago (2016-02-26 18:08:31 UTC) #27
Ted C
https://codereview.chromium.org/1731673002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java (right): https://codereview.chromium.org/1731673002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java#newcode311 chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java:311: mCompositorView.setBackgroundColor(Color.WHITE); do we always want white? or should we ...
4 years, 10 months ago (2016-02-26 18:46:29 UTC) #28
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-26 19:18:44 UTC) #30
Yusuf
https://codereview.chromium.org/1731673002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java (right): https://codereview.chromium.org/1731673002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java#newcode311 chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java:311: mCompositorView.setBackgroundColor(Color.WHITE); On 2016/02/26 18:46:29, Ted C wrote: > do ...
4 years, 10 months ago (2016-02-26 19:39:52 UTC) #31
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/220001
4 years, 10 months ago (2016-02-26 20:41:46 UTC) #33
Ted C
lgtm w/ the unnecessary test change removed per offline discussion https://codereview.chromium.org/1731673002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java (right): https://codereview.chromium.org/1731673002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java#newcode311 ...
4 years, 10 months ago (2016-02-26 20:49:36 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731673002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731673002/240001
4 years, 10 months ago (2016-02-26 20:51:40 UTC) #37
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 10 months ago (2016-02-26 23:55:23 UTC) #38
commit-bot: I haz the power
4 years, 10 months ago (2016-02-26 23:56:26 UTC) #40
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/e454b1df52fa75a27583a02f85070bdca44f28c6
Cr-Commit-Position: refs/heads/master@{#378027}

Powered by Google App Engine
This is Rietveld 408576698