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

Issue 2697933002: Remove factory methods from ChromeApplication. (Closed)

Created:
3 years, 10 months ago by estevenson
Modified:
3 years, 9 months ago
Reviewers:
Ted C, Maria, agrieve, Torne, cco3
CC:
chromium-reviews, cbentzel+watch_chromium.org, skanuj+watch_chromium.org, melevin+watch_chromium.org, donnd+watch_chromium.org, dominickn+watch_chromium.org, net-reviews_chromium.org, feature-media-reviews_chromium.org, jfweitz+watch_chromium.org, David Black, sync-reviews_chromium.org, samarth+watch_chromium.org, agrieve+watch_chromium.org, kmadhusu+watch_chromium.org, zpeng+watch_chromium.org, pkotwicz+watch_chromium.org, Jered, Torne
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove factory methods from ChromeApplication. ChromeApplication currently acts as a provider for singletons where different behavior is needed for downstream targets. This patch introduces a new way for upstream and downstream targets to provide different implementations for the same method. * AppHooks.java contains default upstream implementations for all methods * AppHooksImpl.java is the concrete subclass of AppHooks and is included separately from chrome_java via //chrome/android:app_hooks_java * Downstream targets can include their own version of this target with a different implementation of AppHooksImpl.java BUG=560466 Review-Url: https://codereview.chromium.org/2697933002 Cr-Commit-Position: refs/heads/master@{#453623} Committed: https://chromium.googlesource.com/chromium/src/+/6de786cbce94899dc34f457b9c846d54f6f279d5

Patch Set 1 #

Patch Set 2 : WIP - use new factory class #

Patch Set 3 : Add some comments #

Total comments: 11

Patch Set 4 : Address agrieve comments #

Patch Set 5 : Remove factory methods from ChromeApplication. #

Patch Set 6 : Include ProcessInitializationHandler in AppHooks #

Total comments: 2

Patch Set 7 : Move default implementations to AppHooks.java #

Patch Set 8 : Remove app_hooks_java from chrome_java_test_support #

Patch Set 9 : Rebase + move newly added methods to AppHooks #

Patch Set 10 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+203 lines, -663 lines) Patch
M chrome/android/BUILD.gn View 1 2 3 4 5 6 7 8 9 chunks +20 lines, -1 line 0 comments Download
A + chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java View 1 2 3 4 5 6 7 8 8 chunks +96 lines, -266 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/AppHooksImpl.java View 1 2 3 4 5 6 1 chunk +11 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java View 1 2 3 4 5 6 7 8 9 chunks +3 lines, -261 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java View 1 2 3 4 5 6 7 8 1 chunk +1 line, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountFeedbackReporter.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/datausage/ExternalDataUseObserver.java View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerUIUtils.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java View 1 2 3 2 chunks +2 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java View 1 2 3 4 5 6 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/help/HelpAndFeedback.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java View 1 2 3 4 5 6 7 8 5 chunks +4 lines, -32 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java View 1 2 3 4 5 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/media/VideoPersister.java View 1 2 3 4 5 6 2 chunks +2 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java View 1 2 3 2 chunks +2 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/net/qualityprovider/ExternalEstimateProviderAndroid.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java View 1 2 3 2 chunks +2 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java View 1 2 3 2 chunks +2 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java View 1 2 3 2 chunks +2 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java View 1 2 3 2 chunks +3 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateImpl.java View 1 2 3 2 chunks +2 lines, -3 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 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java View 1 2 3 4 chunks +4 lines, -7 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeShortcutManager.java View 1 2 3 4 5 6 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/templates/BUILD.gn View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M chrome/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 58 (39 generated)
estevenson
ptal Andrew! What do you think of this approach Andrew? It would require a downstream ...
3 years, 10 months ago (2017-02-15 18:26:02 UTC) #13
agrieve
https://codereview.chromium.org/2697933002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java File chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java (right): https://codereview.chromium.org/2697933002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java#newcode35 chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java:35: * This class should only contain implementations for methods ...
3 years, 10 months ago (2017-02-15 19:18:45 UTC) #14
agrieve
Also - I think your plan for landing is good. I see no way to ...
3 years, 10 months ago (2017-02-15 19:19:14 UTC) #15
estevenson
ptal Ted! https://codereview.chromium.org/2697933002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java File chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java (right): https://codereview.chromium.org/2697933002/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java#newcode35 chrome/android/java/src/org/chromium/chrome/browser/AppGlobals.java:35: * This class should only contain implementations ...
3 years, 10 months ago (2017-02-15 21:46:51 UTC) #20
Ted C
+mariakhomenko, there was a parallel effort to solve this, so I'll let her chime in ...
3 years, 10 months ago (2017-02-15 23:36:13 UTC) #26
Maria
Conley has a series of changes to solve the same problem in a different way. ...
3 years, 10 months ago (2017-02-15 23:45:37 UTC) #28
cco3
On 2017/02/15 23:45:37, Maria wrote: > Conley has a series of changes to solve the ...
3 years, 10 months ago (2017-02-16 00:14:12 UTC) #29
agrieve
On 2017/02/16 00:14:12, cco3 wrote: > On 2017/02/15 23:45:37, Maria wrote: > > Conley has ...
3 years, 10 months ago (2017-02-16 17:14:11 UTC) #32
cco3
On 2017/02/16 17:14:11, agrieve wrote: > On 2017/02/16 00:14:12, cco3 wrote: > > On 2017/02/15 ...
3 years, 10 months ago (2017-02-16 18:21:20 UTC) #33
agrieve
On 2017/02/16 18:21:20, cco3 wrote: > On 2017/02/16 17:14:11, agrieve wrote: > > On 2017/02/16 ...
3 years, 10 months ago (2017-02-16 21:45:49 UTC) #36
Torne
This looks like a good approach for handling the creation of globals. https://codereview.chromium.org/2697933002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/AppHooksImpl.java File chrome/android/java/src/org/chromium/chrome/browser/AppHooksImpl.java ...
3 years, 10 months ago (2017-02-17 11:25:22 UTC) #38
estevenson
Hi Ted, we've discussed the various approaches offline and plan to move forward with the ...
3 years, 10 months ago (2017-02-21 17:39:36 UTC) #39
Torne
LGTM, thanks for tackling this. This is a great start to get rid of Application ...
3 years, 10 months ago (2017-02-21 17:41:06 UTC) #40
Ted C
lgtm
3 years, 9 months ago (2017-02-27 21:52:04 UTC) #42
estevenson
Thanks for the reviews! Going to land this tomorrow morning.
3 years, 9 months ago (2017-02-28 01:59:20 UTC) #45
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/2697933002/160001
3 years, 9 months ago (2017-02-28 14:58:32 UTC) #50
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/374578)
3 years, 9 months ago (2017-02-28 15:04:25 UTC) #52
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/2697933002/180001
3 years, 9 months ago (2017-02-28 15:08:08 UTC) #55
commit-bot: I haz the power
3 years, 9 months ago (2017-02-28 16:48:50 UTC) #58
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/6de786cbce94899dc34f457b9c84...

Powered by Google App Engine
This is Rietveld 408576698