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

Issue 2092453002: Mojom interface for Preferences (Closed)

Created:
4 years, 6 months ago by jonross
Modified:
4 years, 1 month ago
CC:
chromium-reviews, qsr+mojo_chromium.org, droger+watchlist_chromium.org, viettrungluu+watch_chromium.org, blundell+watchlist_chromium.org, sdefresne+watchlist_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mojom interface for Preferences This change creates a mojom interface for Preferences. This will allow chrome/browser to continue to manager preferences. While allowing clients in other processes to access them. PrefObserverStore has been created to abstract away the interface from clients. Instead this can be used by clients as a normal PrefStore, with synchronous access to preferences. TEST=PrefObserverStoreTest, also manual testing with shelf preferences (not in this review) BUG=622347 Committed: https://crrev.com/63b021f2555ac1094961fc6f82de77b7ac31b312 Cr-Commit-Position: refs/heads/master@{#429166}

Patch Set 1 #

Total comments: 15

Patch Set 2 : Rebase #

Total comments: 4

Patch Set 3 : Move to services #

Total comments: 4

Patch Set 4 : Sample #

Patch Set 5 : Rebase #

Patch Set 6 : Remove unneeded file #

Patch Set 7 : Remove example #

Patch Set 8 : Address Review Comments #

Total comments: 20

Patch Set 9 : Rebase #

Patch Set 10 : Use new wrapper types #

Total comments: 3

Patch Set 11 : Rebase #

Total comments: 4

Patch Set 12 : Remove component export #

Patch Set 13 : Rebase #

Patch Set 14 : Switch to using DictionaryValue #

Total comments: 8

Patch Set 15 : Rebase #

Patch Set 16 : Address Review Comments #

Total comments: 3

Patch Set 17 : Rebase #

Patch Set 18 : Unify Prefs naming #

Patch Set 19 : Expand Unittests #

Total comments: 3

Patch Set 20 : Update test to provide Ptr directly #

Total comments: 6

Patch Set 21 : Update ReportValueChanged #

Total comments: 2

Patch Set 22 : Const ref nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+579 lines, -11 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
A + services/preferences/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +4 lines, -4 lines 0 comments Download
A + services/preferences/public/cpp/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +8 lines, -7 lines 0 comments Download
A + services/preferences/public/cpp/DEPS View 1 2 0 chunks +-1 lines, --1 lines 0 comments Download
A services/preferences/public/cpp/pref_observer_store.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +82 lines, -0 lines 0 comments Download
A services/preferences/public/cpp/pref_observer_store.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +101 lines, -0 lines 0 comments Download
A services/preferences/public/cpp/tests/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +29 lines, -0 lines 0 comments Download
A services/preferences/public/cpp/tests/pref_observer_store_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +335 lines, -0 lines 0 comments Download
A + services/preferences/public/interfaces/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -2 lines 0 comments Download
A + services/preferences/public/interfaces/OWNERS View 1 2 3 4 5 6 7 8 9 10 0 chunks +-1 lines, --1 lines 0 comments Download
A services/preferences/public/interfaces/preferences.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +20 lines, -0 lines 0 comments Download

Messages

Total messages: 65 (15 generated)
jonross
https://codereview.chromium.org/2092453002/diff/1/components/prefs/DEPS File components/prefs/DEPS (right): https://codereview.chromium.org/2092453002/diff/1/components/prefs/DEPS#newcode3 components/prefs/DEPS:3: "+services/shell/public/cpp", This is actually a new file, not sure ...
4 years, 6 months ago (2016-06-22 16:54:24 UTC) #1
jonross
Hey Sadrul, Could you take a look? This review includes the mojom for preferences. Along ...
4 years, 6 months ago (2016-06-22 16:55:25 UTC) #3
sadrul
I think this should live in a separate place (e.g. //services/preferences/public/[cpp|interfaces]/) https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc File components/prefs/pref_observer_store.cc (right): ...
4 years, 6 months ago (2016-06-23 17:30:18 UTC) #4
jonross
https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc File components/prefs/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc#newcode36 components/prefs/pref_observer_store.cc:36: On 2016/06/23 17:30:17, sadrul wrote: > Should this also ...
4 years, 6 months ago (2016-06-24 15:13:06 UTC) #5
jonross
https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc File components/prefs/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc#newcode36 components/prefs/pref_observer_store.cc:36: On 2016/06/23 17:30:17, sadrul wrote: > Should this also ...
4 years, 6 months ago (2016-06-24 15:13:06 UTC) #6
jonross
Hey Sadrul, I've moved the api to services/preferences. Could you take a look?
4 years, 5 months ago (2016-06-28 17:37:36 UTC) #7
jonross
I've added a small sample of usage for demonstration purposes. I'll revert it before landing. ...
4 years, 5 months ago (2016-06-28 22:05:44 UTC) #9
jonross
On 2016/06/28 22:05:44, jonross wrote: > I've added a small sample of usage for demonstration ...
4 years, 5 months ago (2016-07-18 17:15:17 UTC) #10
sadrul
You can remove the sample API usage from the CL. (and since sysui is actually ...
4 years, 5 months ago (2016-07-19 15:08:53 UTC) #11
jonross
On 2016/07/19 15:08:53, sadrul wrote: > You can remove the sample API usage from the ...
4 years, 5 months ago (2016-07-19 17:24:06 UTC) #12
jonross
https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc File components/prefs/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc#newcode36 components/prefs/pref_observer_store.cc:36: On 2016/07/19 15:08:53, sadrul wrote: > On 2016/06/24 15:13:06, ...
4 years, 5 months ago (2016-07-19 17:24:11 UTC) #13
jonross
https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc File components/prefs/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc#newcode36 components/prefs/pref_observer_store.cc:36: On 2016/07/19 15:08:53, sadrul wrote: > On 2016/06/24 15:13:06, ...
4 years, 5 months ago (2016-07-19 17:24:12 UTC) #14
jonross
https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc File components/prefs/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/1/components/prefs/pref_observer_store.cc#newcode35 components/prefs/pref_observer_store.cc:35: return false; On 2016/06/23 17:30:17, sadrul wrote: > Maybe ...
4 years, 5 months ago (2016-07-19 19:55:48 UTC) #15
sadrul
https://codereview.chromium.org/2092453002/diff/150001/services/preferences/public/cpp/pref_observer_store.cc File services/preferences/public/cpp/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/150001/services/preferences/public/cpp/pref_observer_store.cc#newcode14 services/preferences/public/cpp/pref_observer_store.cc:14: connector->ConnectToInterface("exe:chrome", &prefs_manager_ptr_); Send the |prefs_manager_ptr_| from the caller, instead ...
4 years, 5 months ago (2016-07-25 15:32:18 UTC) #16
jonross
https://codereview.chromium.org/2092453002/diff/150001/services/preferences/public/cpp/pref_observer_store.cc File services/preferences/public/cpp/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/150001/services/preferences/public/cpp/pref_observer_store.cc#newcode14 services/preferences/public/cpp/pref_observer_store.cc:14: connector->ConnectToInterface("exe:chrome", &prefs_manager_ptr_); On 2016/07/25 15:32:18, sadrul wrote: > Send ...
4 years, 4 months ago (2016-07-26 19:27:37 UTC) #17
jonross
Adding in ben@ and erg@ for their thoughts. This change is to introduce a preference ...
4 years, 4 months ago (2016-07-26 19:30:16 UTC) #19
Elliot Glaysher
https://codereview.chromium.org/2092453002/diff/190001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/190001/services/preferences/public/cpp/pref_observer_store.h#newcode30 services/preferences/public/cpp/pref_observer_store.h:30: // Currently this does not support RemoveValue or GetMutableValue. ...
4 years, 4 months ago (2016-07-26 21:11:58 UTC) #20
jonross
https://codereview.chromium.org/2092453002/diff/190001/services/preferences/public/interfaces/preferences.mojom File services/preferences/public/interfaces/preferences.mojom (right): https://codereview.chromium.org/2092453002/diff/190001/services/preferences/public/interfaces/preferences.mojom#newcode16 services/preferences/public/interfaces/preferences.mojom:16: }; On 2016/07/26 21:11:58, Elliot Glaysher wrote: > If ...
4 years, 4 months ago (2016-07-26 21:37:35 UTC) #21
Elliot Glaysher
(Q: Are you expecting a full review from me, or did you just ask for ...
4 years, 4 months ago (2016-07-27 17:06:55 UTC) #22
jonross
On 2016/07/27 17:06:55, Elliot Glaysher wrote: > (Q: Are you expecting a full review from ...
4 years, 4 months ago (2016-07-27 17:21:43 UTC) #23
jonross
ben@ could you PTAL?
4 years, 4 months ago (2016-08-02 15:04:55 UTC) #24
Ben Goodger (Google)
I think fundamentally this looks good. https://codereview.chromium.org/2092453002/diff/210001/services/preferences/public/cpp/preferences_export.h File services/preferences/public/cpp/preferences_export.h (right): https://codereview.chromium.org/2092453002/diff/210001/services/preferences/public/cpp/preferences_export.h#newcode8 services/preferences/public/cpp/preferences_export.h:8: #if defined(COMPONENT_BUILD) why ...
4 years, 3 months ago (2016-09-08 17:40:08 UTC) #25
jonross
https://codereview.chromium.org/2092453002/diff/210001/services/preferences/public/cpp/preferences_export.h File services/preferences/public/cpp/preferences_export.h (right): https://codereview.chromium.org/2092453002/diff/210001/services/preferences/public/cpp/preferences_export.h#newcode8 services/preferences/public/cpp/preferences_export.h:8: #if defined(COMPONENT_BUILD) On 2016/09/08 17:40:08, Ben Goodger (Google) wrote: ...
4 years, 3 months ago (2016-09-09 15:55:36 UTC) #26
jonross
On 2016/09/09 15:55:36, jonross wrote: > https://codereview.chromium.org/2092453002/diff/210001/services/preferences/public/cpp/preferences_export.h > File services/preferences/public/cpp/preferences_export.h (right): > > https://codereview.chromium.org/2092453002/diff/210001/services/preferences/public/cpp/preferences_export.h#newcode8 > ...
4 years, 3 months ago (2016-09-21 16:00:40 UTC) #27
sadrul
looks good. https://codereview.chromium.org/2092453002/diff/270001/services/preferences/public/cpp/BUILD.gn File services/preferences/public/cpp/BUILD.gn (right): https://codereview.chromium.org/2092453002/diff/270001/services/preferences/public/cpp/BUILD.gn#newcode9 services/preferences/public/cpp/BUILD.gn:9: "preferences_export.h", Doesn't looks like this file is ...
4 years, 2 months ago (2016-10-06 14:09:41 UTC) #28
jonross
https://codereview.chromium.org/2092453002/diff/270001/services/preferences/public/cpp/BUILD.gn File services/preferences/public/cpp/BUILD.gn (right): https://codereview.chromium.org/2092453002/diff/270001/services/preferences/public/cpp/BUILD.gn#newcode9 services/preferences/public/cpp/BUILD.gn:9: "preferences_export.h", On 2016/10/06 14:09:41, sadrul wrote: > Doesn't looks ...
4 years, 2 months ago (2016-10-06 21:36:21 UTC) #29
sadrul
lgtm
4 years, 2 months ago (2016-10-07 03:36:48 UTC) #30
jonross
On 2016/10/07 03:36:48, sadrul wrote: > lgtm ben@ would you be able to provide an ...
4 years, 2 months ago (2016-10-07 13:29:55 UTC) #31
James Cook
https://codereview.chromium.org/2092453002/diff/310001/services/preferences/public/interfaces/preferences.mojom File services/preferences/public/interfaces/preferences.mojom (right): https://codereview.chromium.org/2092453002/diff/310001/services/preferences/public/interfaces/preferences.mojom#newcode11 services/preferences/public/interfaces/preferences.mojom:11: interface PreferenceObserver { drive-by naming question: Is there any ...
4 years, 2 months ago (2016-10-11 17:08:29 UTC) #33
jonross
https://codereview.chromium.org/2092453002/diff/310001/services/preferences/public/interfaces/preferences.mojom File services/preferences/public/interfaces/preferences.mojom (right): https://codereview.chromium.org/2092453002/diff/310001/services/preferences/public/interfaces/preferences.mojom#newcode11 services/preferences/public/interfaces/preferences.mojom:11: interface PreferenceObserver { On 2016/10/11 17:08:29, James Cook wrote: ...
4 years, 2 months ago (2016-10-11 22:05:13 UTC) #34
jonross
https://codereview.chromium.org/2092453002/diff/310001/services/preferences/public/interfaces/preferences.mojom File services/preferences/public/interfaces/preferences.mojom (right): https://codereview.chromium.org/2092453002/diff/310001/services/preferences/public/interfaces/preferences.mojom#newcode11 services/preferences/public/interfaces/preferences.mojom:11: interface PreferenceObserver { On 2016/10/11 22:05:13, jonross wrote: > ...
4 years, 2 months ago (2016-10-17 13:40:07 UTC) #35
jonross
ben@ would you be able to provide an owner's review for this change? Thanks, Jon
4 years, 2 months ago (2016-10-17 13:40:41 UTC) #36
Ben Goodger (Google)
lgtm
4 years, 1 month ago (2016-10-24 22:45:44 UTC) #37
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/2092453002/370001
4 years, 1 month ago (2016-10-25 13:23:41 UTC) #40
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/288698)
4 years, 1 month ago (2016-10-25 13:31:09 UTC) #42
jonross
On 2016/10/25 13:31:09, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 1 month ago (2016-10-25 13:43:19 UTC) #45
dcheng
https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h#newcode72 services/preferences/public/cpp/pref_observer_store.h:72: prefs::mojom::PreferencesManager* prefs_manager_; Can the unit test just pass in ...
4 years, 1 month ago (2016-10-26 22:17:32 UTC) #46
jonross
https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h#newcode72 services/preferences/public/cpp/pref_observer_store.h:72: prefs::mojom::PreferencesManager* prefs_manager_; On 2016/10/26 22:17:32, dcheng wrote: > Can ...
4 years, 1 month ago (2016-10-27 19:29:34 UTC) #47
dcheng
On 2016/10/27 19:29:34, jonross wrote: > https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h > File services/preferences/public/cpp/pref_observer_store.h (right): > > https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h#newcode72 > ...
4 years, 1 month ago (2016-10-27 21:38:23 UTC) #48
jonross
On 2016/10/27 21:38:23, dcheng wrote: > On 2016/10/27 19:29:34, jonross wrote: > > > https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h ...
4 years, 1 month ago (2016-10-28 14:29:35 UTC) #49
jonross
https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/370001/services/preferences/public/cpp/pref_observer_store.h#newcode72 services/preferences/public/cpp/pref_observer_store.h:72: prefs::mojom::PreferencesManager* prefs_manager_; On 2016/10/27 19:29:34, jonross wrote: > On ...
4 years, 1 month ago (2016-10-28 17:52:48 UTC) #51
dcheng
https://codereview.chromium.org/2092453002/diff/410001/services/preferences/public/cpp/pref_observer_store.cc File services/preferences/public/cpp/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/410001/services/preferences/public/cpp/pref_observer_store.cc#newcode24 services/preferences/public/cpp/pref_observer_store.cc:24: prefs_manager_ptr_->AddObserver(std::move(pref_array), Does this std::move() have an effect? I think ...
4 years, 1 month ago (2016-10-31 19:42:46 UTC) #52
dcheng
https://codereview.chromium.org/2092453002/diff/410001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/410001/services/preferences/public/cpp/pref_observer_store.h#newcode50 services/preferences/public/cpp/pref_observer_store.h:50: bool GetMutableValue(const std::string& key, base::Value** value) override; Btw, how ...
4 years, 1 month ago (2016-10-31 20:11:31 UTC) #53
jonross
https://codereview.chromium.org/2092453002/diff/410001/services/preferences/public/cpp/pref_observer_store.cc File services/preferences/public/cpp/pref_observer_store.cc (right): https://codereview.chromium.org/2092453002/diff/410001/services/preferences/public/cpp/pref_observer_store.cc#newcode24 services/preferences/public/cpp/pref_observer_store.cc:24: prefs_manager_ptr_->AddObserver(std::move(pref_array), On 2016/10/31 19:42:46, dcheng wrote: > Does this ...
4 years, 1 month ago (2016-11-01 15:53:04 UTC) #55
dcheng
mojo lgtm https://codereview.chromium.org/2092453002/diff/450001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/450001/services/preferences/public/cpp/pref_observer_store.h#newcode66 services/preferences/public/cpp/pref_observer_store.h:66: const base::Value* value); Nit: might be nice ...
4 years, 1 month ago (2016-11-01 18:04:38 UTC) #56
jonross
https://codereview.chromium.org/2092453002/diff/450001/services/preferences/public/cpp/pref_observer_store.h File services/preferences/public/cpp/pref_observer_store.h (right): https://codereview.chromium.org/2092453002/diff/450001/services/preferences/public/cpp/pref_observer_store.h#newcode66 services/preferences/public/cpp/pref_observer_store.h:66: const base::Value* value); On 2016/11/01 18:04:38, dcheng wrote: > ...
4 years, 1 month ago (2016-11-01 23:40:22 UTC) #57
jonross
4 years, 1 month ago (2016-11-01 23:40:28 UTC) #58
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/2092453002/470001
4 years, 1 month ago (2016-11-01 23:41:07 UTC) #61
commit-bot: I haz the power
Committed patchset #22 (id:470001)
4 years, 1 month ago (2016-11-02 00:56:46 UTC) #63
commit-bot: I haz the power
4 years, 1 month ago (2016-11-02 00:59:10 UTC) #65
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/63b021f2555ac1094961fc6f82de77b7ac31b312
Cr-Commit-Position: refs/heads/master@{#429166}

Powered by Google App Engine
This is Rietveld 408576698