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

Issue 2124243002: Refactor the Java AppBannerManager to be owned by native code. (Closed)

Created:
4 years, 5 months ago by dominickn
Modified:
4 years, 5 months ago
CC:
chromium-reviews, dominickn+watch_chromium.org, lizeb+watch-custom-tabs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Refactor the Java AppBannerManager to be owned by native code. Currently, the native AppBannerManagerAndroid is owned by its Java counterpart on Android. The Java side is necessary for querying Android libraries, but the ownership complicates the banner system, which is now cross-platform. This CL swaps the ownership semantics, so the native code owns, creates, and destroys the Android-side code. The AppBannerManagerAndroid is now a content::WebContentsUserData, and one is created per WebContents. Upon creation, a Java-side AppBannerManager is instantiated and accessible from Java using a WebContents object. The Android code now mirrors the desktop code more closely, consolidating the C++ layer as the controller for app banners. This CL also prepares for an upcoming refactor of the banner system, which will separate banner-specific requirements from general data fetching. The refactor will reduce code duplication throughout the banner, add to homescreen, and WebAPK systems. BUG=580392 Committed: https://crrev.com/1912ec8be288682278ba26108f0266468f9f9ea8 Cr-Commit-Position: refs/heads/master@{#405044}

Patch Set 1 #

Total comments: 12

Patch Set 2 : Addressing reviewer comments #

Total comments: 6

Patch Set 3 : Addressing reviewer comments #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+185 lines, -221 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java View 1 2 4 chunks +47 lines, -55 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java View 1 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java View 1 2 7 chunks +5 lines, -26 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java View 1 2 chunks +4 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java View 1 chunk +0 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java View 1 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java View 1 2 6 chunks +6 lines, -11 lines 0 comments Download
M chrome/browser/android/banners/app_banner_manager_android.h View 3 chunks +17 lines, -23 lines 0 comments Download
M chrome/browser/android/banners/app_banner_manager_android.cc View 1 2 7 chunks +93 lines, -82 lines 0 comments Download
M chrome/browser/android/tab_web_contents_delegate_android.cc View 1 2 2 chunks +5 lines, -5 lines 0 comments Download
M chrome/browser/banners/app_banner_manager.h View 1 chunk +1 line, -1 line 1 comment Download
M chrome/browser/ui/tab_helpers.cc View 3 chunks +3 lines, -2 lines 0 comments Download

Messages

Total messages: 42 (21 generated)
dominickn
PTAL - hopefully I've done this right. I'm open to advice on naming since I ...
4 years, 5 months ago (2016-07-07 12:20:02 UTC) #6
gone
https://chromiumcodereview.appspot.com/2124243002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java File chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java (right): https://chromiumcodereview.appspot.com/2124243002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java#newcode26 chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java:26: * This Java-side class owns its native-side counterpart, which ...
4 years, 5 months ago (2016-07-07 20:41:14 UTC) #7
gone
Any reason why you switched away from the per-Delegate check? The global toggle was added ...
4 years, 5 months ago (2016-07-07 20:43:59 UTC) #8
dominickn
On 2016/07/07 20:43:59, dfalcantara wrote: > Any reason why you switched away from the per-Delegate ...
4 years, 5 months ago (2016-07-08 01:17:53 UTC) #9
gone
lgtm % comments about naming https://chromiumcodereview.appspot.com/2124243002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java File chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java (right): https://chromiumcodereview.appspot.com/2124243002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java#newcode31 chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java:31: /** Whether add to ...
4 years, 5 months ago (2016-07-11 17:59:36 UTC) #10
dominickn
Thanks! +avi: please review tab_helpers.cc. https://codereview.chromium.org/2124243002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java File chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java (right): https://codereview.chromium.org/2124243002/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java#newcode31 chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java:31: /** Whether add to ...
4 years, 5 months ago (2016-07-11 23:50:03 UTC) #12
Avi (use Gerrit)
tab helpers lgtm
4 years, 5 months ago (2016-07-12 00:43:26 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124243002/40001
4 years, 5 months ago (2016-07-12 00:49:54 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253568)
4 years, 5 months ago (2016-07-12 01:36:47 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124243002/40001
4 years, 5 months ago (2016-07-12 03:00:08 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253676)
4 years, 5 months ago (2016-07-12 04:09:38 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124243002/40001
4 years, 5 months ago (2016-07-12 04:17:37 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/260613)
4 years, 5 months ago (2016-07-12 04:25:00 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124243002/40001
4 years, 5 months ago (2016-07-12 10:51:10 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/260946)
4 years, 5 months ago (2016-07-12 12:14:03 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124243002/40001
4 years, 5 months ago (2016-07-13 02:08:10 UTC) #32
pkotwicz
https://codereview.chromium.org/2124243002/diff/40001/chrome/browser/banners/app_banner_manager.h File chrome/browser/banners/app_banner_manager.h (right): https://codereview.chromium.org/2124243002/diff/40001/chrome/browser/banners/app_banner_manager.h#newcode50 chrome/browser/banners/app_banner_manager.h:50: void ReplaceWebContents(content::WebContents* web_contents); Drive By! This function seems unused ...
4 years, 5 months ago (2016-07-13 02:31:50 UTC) #35
dominickn
On 2016/07/13 02:31:50, pkotwicz wrote: > https://codereview.chromium.org/2124243002/diff/40001/chrome/browser/banners/app_banner_manager.h > File chrome/browser/banners/app_banner_manager.h (right): > > https://codereview.chromium.org/2124243002/diff/40001/chrome/browser/banners/app_banner_manager.h#newcode50 > ...
4 years, 5 months ago (2016-07-13 02:48:10 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124243002/40001
4 years, 5 months ago (2016-07-13 02:58:12 UTC) #38
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 5 months ago (2016-07-13 05:23:47 UTC) #40
commit-bot: I haz the power
4 years, 5 months ago (2016-07-13 05:25:06 UTC) #42
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/1912ec8be288682278ba26108f0266468f9f9ea8
Cr-Commit-Position: refs/heads/master@{#405044}

Powered by Google App Engine
This is Rietveld 408576698