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

Issue 419013003: Replace c/b/nss_context by a KeyedService. (Closed)

Created:
6 years, 5 months ago by pneubeck (no reviews)
Modified:
5 years, 4 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, stevenjb+watch_chromium.org, davemoore+watch_chromium.org, oshima+watch_chromium.org, nkostylev+watch_chromium.org, xiyuan, davidben
Project:
chromium
Visibility:
Public.

Description

Replace c/b/nss_context by a KeyedService. Replaces nss_context.h by the new KeyedServices CertDatabaseService. Unifies the maintenance of NSSCertDatabase on Linux and ChromeOS (cf. nss_context_{linux,chromeos}.cc). The new service takes care of triggering the lower level NSS database and TPM initialization, which was previously in profile_io_data.cc which was clearly exposing too many details there. The new classes are: CertDatabaseService: the UI part of the Service, provides access to the IO part. CertDatabaseServiceIOPart (with implementations for Linux and ChromeOS): the IO part of the Service. Provides access to the backing NSSCertDatabase through callback. Ensures that the database is returned after all tokens/slots are fully initialized. CertDatabaseServiceFactory: creating the service instances per Profile. More detailed list of changes: 1) Add CertDatabase classes, implement a KeyedService. Code lives in a new component cert_database. 2) Implement per-user NSS initialization in CertDatabaseServiceIOPart with a state machine and remove it from UserSessionManager and ProfileImpl. 3) CertDatabaseServiceIOPartChromeOS has to wait for the system token being initialized. This was not well implemented before: it was possible to get() the system token from NSSCertDatabase, before it was set(). 4) Remove nss_context_* 5) Migrate all usages of nss_context to CertDatabaseService Still missing unit tests for the new classes. BUG=413219

Patch Set 1 : Enteprise.PlatformKeys ApiTest working with new Service. #

Patch Set 2 : Removed nss_context #

Patch Set 3 : Added Linux implementation. #

Total comments: 13

Patch Set 4 : Addressed initial comments. #

Patch Set 5 : Added huge warning about use of Unretained. #

Patch Set 6 : Rebased. #

Patch Set 7 : Keep ClientCertStoreChromeOS in net/ #

Patch Set 8 : Separated out TPMTokenLoader change. #

Patch Set 9 : Rebased on 'Make onc::CertificateImporter async': https://codereview.chromium.org/547553005/ . #

Patch Set 10 : Split out platform keys API test changes. #

Patch Set 11 : Rebased on CryptoModuleDelegate change. #

Patch Set 12 : Rebased. #

Patch Set 13 : Added cert_database namespace. #

Total comments: 28

Patch Set 14 : Addressed feedback. #

Patch Set 15 : Rebase, format. #

Total comments: 18

Patch Set 16 : Rebased #

Patch Set 17 : Addressed feedback. #

Total comments: 1

Patch Set 18 : Separated out ClientCertStoreChromeOS change. #

Total comments: 62

Patch Set 19 : Rebased. #

Total comments: 7

Patch Set 20 : Addressed feedback, except file moving in components/ #

Total comments: 1

Patch Set 21 : Flattened components/cert_database folders. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1281 lines, -915 lines) Patch
M chrome/browser/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/certificate_manager_model.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +11 lines, -4 lines 0 comments Download
M chrome/browser/certificate_manager_model.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 5 chunks +27 lines, -12 lines 0 comments Download
M chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.cc View 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +0 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +0 lines, -21 lines 0 comments Download
M chrome/browser/chromeos/net/client_cert_filter_chromeos.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +24 lines, -32 lines 0 comments Download
M chrome/browser/chromeos/net/client_cert_filter_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +31 lines, -36 lines 0 comments Download
M chrome/browser/chromeos/platform_keys/platform_keys_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +25 lines, -10 lines 0 comments Download
M chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +7 lines, -55 lines 0 comments Download
M chrome/browser/chromeos/policy/user_network_configuration_updater.h View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +3 lines, -36 lines 0 comments Download
M chrome/browser/chromeos/policy/user_network_configuration_updater.cc View 1 2 3 4 5 6 7 8 6 chunks +7 lines, -63 lines 0 comments Download
M chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +25 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/settings/session_manager_operation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +19 lines, -11 lines 0 comments Download
A + chrome/browser/net/cert_database_service_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +18 lines, -17 lines 0 comments Download
A + chrome/browser/net/cert_database_service_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +18 lines, -21 lines 0 comments Download
A chrome/browser/net/cert_database_service_factory_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +108 lines, -0 lines 0 comments Download
A chrome/browser/net/cert_database_service_factory_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +29 lines, -0 lines 0 comments Download
M chrome/browser/net/nss_context.h View 1 2 3 1 chunk +0 lines, -66 lines 0 comments Download
D chrome/browser/net/nss_context.cc View 1 1 chunk +0 lines, -57 lines 0 comments Download
M chrome/browser/net/nss_context_chromeos.cc View 1 1 chunk +0 lines, -145 lines 0 comments Download
D chrome/browser/net/nss_context_linux.cc View 1 1 chunk +0 lines, -45 lines 0 comments Download
M chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +8 lines, -11 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 10 chunks +22 lines, -145 lines 0 comments Download
M chrome/browser/ssl/ssl_browser_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +12 lines, -7 lines 0 comments Download
M chrome/browser/ui/crypto_module_delegate_nss.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +7 lines, -6 lines 0 comments Download
M chrome/browser/ui/crypto_module_delegate_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +20 lines, -14 lines 0 comments Download
M chrome/browser/ui/webui/net_internals/net_internals_ui.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 5 chunks +21 lines, -30 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +13 lines, -10 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +0 lines, -1 line 0 comments Download
M chromeos/chromeos.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +2 lines, -0 lines 0 comments Download
M chromeos/network/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +1 line, -0 lines 0 comments Download
M chromeos/network/onc/onc_certificate_importer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +7 lines, -2 lines 0 comments Download
M chromeos/network/onc/onc_certificate_importer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +35 lines, -14 lines 0 comments Download
M chromeos/network/onc/onc_certificate_importer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 5 chunks +15 lines, -3 lines 0 comments Download
M chromeos/tpm_token_loader.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
A + components/cert_database.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +21 lines, -27 lines 0 comments Download
A + components/cert_database/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +4 lines, -1 line 0 comments Download
A + components/cert_database/OWNERS View 1 1 chunk +2 lines, -1 line 0 comments Download
A components/cert_database/cert_database_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +63 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +88 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service_io_part.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +64 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service_io_part.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +56 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service_io_part_chromeos.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +57 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service_io_part_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +345 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service_io_part_linux.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +26 lines, -0 lines 0 comments Download
A components/cert_database/cert_database_service_io_part_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +28 lines, -0 lines 0 comments Download
M components/components.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 57 (23 generated)
pneubeck (no reviews)
Hi Ryan, this is the first draft for the keyed service. I still have to ...
6 years, 5 months ago (2014-07-24 22:03:56 UTC) #1
pneubeck (no reviews)
+Toni, maybe you could also take an early look at this, since you wrote the ...
6 years, 5 months ago (2014-07-24 22:05:07 UTC) #2
pneubeck (no reviews)
On 2014/07/24 22:05:07, pneubeck wrote: > +Toni, maybe you could also take an early look ...
6 years, 5 months ago (2014-07-25 08:07:47 UTC) #3
pneubeck (no reviews)
I think this progressed far enough that the high-level design can be reviewed. Please take ...
6 years, 3 months ago (2014-09-02 16:14:08 UTC) #5
pneubeck (no reviews)
Thanks!
6 years, 3 months ago (2014-09-02 16:14:22 UTC) #6
pneubeck (no reviews)
Added the (trivial) Linux implementation.
6 years, 3 months ago (2014-09-03 15:35:23 UTC) #8
mattm
Haven't fully digested this, but some initial comments. https://codereview.chromium.org/419013003/diff/260001/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc File chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc (right): https://codereview.chromium.org/419013003/diff/260001/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc#newcode100 chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc:100: base::Unretained(updater))); ...
6 years, 3 months ago (2014-09-05 07:35:29 UTC) #9
pneubeck (no reviews)
https://codereview.chromium.org/419013003/diff/260001/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc File chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc (right): https://codereview.chromium.org/419013003/diff/260001/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc#newcode100 chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc:100: base::Unretained(updater))); On 2014/09/05 07:35:28, mattm wrote: > Is Unretained ...
6 years, 3 months ago (2014-09-05 08:04:56 UTC) #10
pneubeck (no reviews)
+David for looking at the high-level design as well.
6 years, 3 months ago (2014-09-05 08:56:27 UTC) #12
pneubeck (no reviews)
If there are no high-level concerns until tomorrow, I'd continue preparing this CL for a ...
6 years, 3 months ago (2014-09-09 16:58:31 UTC) #13
pneubeck (no reviews)
@Matt, I think in previous patchsets it was not a good idea to move the ...
6 years, 3 months ago (2014-09-11 16:25:04 UTC) #15
pneubeck (no reviews)
https://codereview.chromium.org/419013003/diff/260001/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc File chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc (right): https://codereview.chromium.org/419013003/diff/260001/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc#newcode100 chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc:100: base::Unretained(updater))); This is fixed now.
6 years, 3 months ago (2014-09-12 16:20:24 UTC) #19
pneubeck (no reviews)
@Ryan, Matt This should be good for review now. Not sure how you want to ...
6 years, 2 months ago (2014-10-14 15:44:10 UTC) #27
mattm
https://codereview.chromium.org/419013003/diff/1330001/chrome/browser/chromeos/net/cert_profile_filter.cc File chrome/browser/chromeos/net/cert_profile_filter.cc (right): https://codereview.chromium.org/419013003/diff/1330001/chrome/browser/chromeos/net/cert_profile_filter.cc#newcode32 chrome/browser/chromeos/net/cert_profile_filter.cc:32: return scoped_ptr<net::NSSProfileFilterChromeOS>(); return nullptr https://codereview.chromium.org/419013003/diff/1330001/chrome/browser/chromeos/net/cert_profile_filter.cc#newcode61 chrome/browser/chromeos/net/cert_profile_filter.cc:61: new ProfileFilterFactory(cert_db_io)); I ...
6 years, 2 months ago (2014-10-18 00:45:16 UTC) #28
pneubeck (no reviews)
https://codereview.chromium.org/419013003/diff/1330001/chrome/browser/chromeos/net/cert_profile_filter.cc File chrome/browser/chromeos/net/cert_profile_filter.cc (right): https://codereview.chromium.org/419013003/diff/1330001/chrome/browser/chromeos/net/cert_profile_filter.cc#newcode32 chrome/browser/chromeos/net/cert_profile_filter.cc:32: return scoped_ptr<net::NSSProfileFilterChromeOS>(); On 2014/10/18 00:45:15, mattm wrote: > return ...
6 years, 2 months ago (2014-10-21 09:22:09 UTC) #29
tbarzic
https://codereview.chromium.org/419013003/diff/1370001/chrome/browser/net/cert_database_service_factory_chromeos.cc File chrome/browser/net/cert_database_service_factory_chromeos.cc (right): https://codereview.chromium.org/419013003/diff/1370001/chrome/browser/net/cert_database_service_factory_chromeos.cc#newcode51 chrome/browser/net/cert_database_service_factory_chromeos.cc:51: // domain as the device is registered to. why ...
6 years, 2 months ago (2014-10-22 20:38:20 UTC) #30
pneubeck (no reviews)
https://codereview.chromium.org/419013003/diff/1370001/chrome/browser/net/cert_database_service_factory_chromeos.cc File chrome/browser/net/cert_database_service_factory_chromeos.cc (right): https://codereview.chromium.org/419013003/diff/1370001/chrome/browser/net/cert_database_service_factory_chromeos.cc#newcode51 chrome/browser/net/cert_database_service_factory_chromeos.cc:51: // domain as the device is registered to. On ...
6 years, 2 months ago (2014-10-24 12:51:37 UTC) #32
tbarzic
lgtm https://codereview.chromium.org/419013003/diff/1450001/components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc File components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc (right): https://codereview.chromium.org/419013003/diff/1450001/components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc#newcode165 components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc:165: void FinishWithState(const State& state) { suggestion: Rename to ...
6 years, 1 month ago (2014-10-27 20:16:51 UTC) #34
pneubeck (no reviews)
Please owner review as listed below. Thanks! rsleevi@chromium.org: chrome/browser/ssl/ stevenjb@chromium.org: chromeos/ nkostylev@chromium.org: chrome/browser/chromeos/{login,net,settings} chrome/browser/ui/webui/net_internals/net_internals_ui.cc mmenke@chromium.org: ...
6 years, 1 month ago (2014-10-29 15:54:53 UTC) #38
blundell
This CL contains more code than I would be comfortable reviewing, but I'll leave that ...
6 years, 1 month ago (2014-10-29 16:06:29 UTC) #39
stevenjb
I didn't look too closely at the cert_database code itself, but the rest looks pretty ...
6 years, 1 month ago (2014-10-29 18:43:51 UTC) #40
pneubeck (no reviews)
On 2014/10/29 18:43:51, stevenjb wrote: > I didn't look too closely at the cert_database code ...
6 years, 1 month ago (2014-10-29 21:13:06 UTC) #41
mmenke
On 2014/10/29 21:13:06, pneubeck wrote: > On 2014/10/29 18:43:51, stevenjb wrote: > > I didn't ...
6 years, 1 month ago (2014-10-29 21:47:44 UTC) #42
Lei Zhang
I defer my portion to rsleevi. Happy to rubber stamp when needed. https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/certificate_manager_model.h File chrome/browser/certificate_manager_model.h ...
6 years, 1 month ago (2014-10-29 21:51:40 UTC) #43
mattm
generally lgtm https://codereview.chromium.org/419013003/diff/1330001/components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc File components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc (right): https://codereview.chromium.org/419013003/diff/1330001/components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc#newcode112 components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc:112: void RunNextStep(const State& next_state) { On 2014/10/21 ...
6 years, 1 month ago (2014-10-30 03:37:48 UTC) #44
pneubeck (no reviews)
@Joao, ptal at chrome/browser/chromeos, in particular *policy* . Thanks.
6 years, 1 month ago (2014-10-30 08:32:32 UTC) #47
Joao da Silva
https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/DEPS File chrome/browser/DEPS (right): https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/DEPS#newcode20 chrome/browser/DEPS:20: "+components/cert_database/public", nit: order https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/certificate_manager_model.cc File chrome/browser/certificate_manager_model.cc (right): https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/certificate_manager_model.cc#newcode67 chrome/browser/certificate_manager_model.cc:67: ...
6 years, 1 month ago (2014-10-30 09:48:02 UTC) #48
mmenke
https://codereview.chromium.org/419013003/diff/1500001/chrome/browser/profiles/profile_io_data.cc File chrome/browser/profiles/profile_io_data.cc (right): https://codereview.chromium.org/419013003/diff/1500001/chrome/browser/profiles/profile_io_data.cc#newcode831 chrome/browser/profiles/profile_io_data.cc:831: // If |cert_db_io_| is not available, we're shutting down ...
6 years, 1 month ago (2014-11-04 20:02:19 UTC) #49
pneubeck (no reviews)
https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/DEPS File chrome/browser/DEPS (right): https://codereview.chromium.org/419013003/diff/1480001/chrome/browser/DEPS#newcode20 chrome/browser/DEPS:20: "+components/cert_database/public", On 2014/10/30 09:48:00, Joao da Silva wrote: > ...
6 years, 1 month ago (2014-11-05 14:53:38 UTC) #51
Joao da Silva
policy/ lgtm https://codereview.chromium.org/419013003/diff/1480001/components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc File components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc (right): https://codereview.chromium.org/419013003/diff/1480001/components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc#newcode88 components/cert_database/chromeos/cert_database_service_io_part_chromeos.cc:88: thread_checker_.CalledOnValidThread(); On 2014/11/05 14:53:37, pneubeck wrote: > ...
6 years, 1 month ago (2014-11-05 15:07:51 UTC) #52
mmenke
https://codereview.chromium.org/419013003/diff/1500001/components/cert_database/public/cert_database_service_io_part.h File components/cert_database/public/cert_database_service_io_part.h (right): https://codereview.chromium.org/419013003/diff/1500001/components/cert_database/public/cert_database_service_io_part.h#newcode37 components/cert_database/public/cert_database_service_io_part.h:37: base::WeakPtr<CertDatabaseServiceIOPart> GetWeakPtr(); On 2014/11/05 14:53:38, pneubeck wrote: > On ...
6 years, 1 month ago (2014-11-05 16:19:22 UTC) #53
Ryan Sleevi
Sorry for the delays on circling through, but I'm really appreciative for Matt taking the ...
6 years, 1 month ago (2014-11-05 22:09:10 UTC) #54
mmenke
On 2014/11/05 22:09:10, Ryan Sleevi wrote: > Sorry for the delays on circling through, but ...
6 years, 1 month ago (2014-11-05 22:13:41 UTC) #55
Joao da Silva
5 years, 9 months ago (2015-03-03 10:55:48 UTC) #57
What's the status of this CL?

Powered by Google App Engine
This is Rietveld 408576698