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

Issue 709683004: components: add wifi_sync component (Closed)

Created:
6 years, 1 month ago by mukesh agrawal
Modified:
6 years ago
CC:
chromium-reviews, tim+watch_chromium.org, pvalenzuela+watch_chromium.org, zea+watch_chromium.org, maniscalco+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@submit-1-security-class
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add a new component for WiFi credential sync. Populate the new component with a stub SyncableService, and its corresponding factory. This SyncableService is plumbed into sync iff "--enable-wifi-credential-sync" is present in the command-line. Also: - add sync integration tests (single client, and two client) - add WifiSecurityClass: an enum to provide an internal representation of WiFi security classes (e.g. WEP, PSK). - add WifiCredential: an abstraction of the parameters required to find and connect to a WiFi network - add conversions between ModelType and NotificationType, for WIFI_CREDENTIALS BUG=chromium:426693 BUG=chromium:426696 BUG=chromium:427595 TEST=sync_integration_tests --gtest_filter="*Wifi*" TEST=components_unittests --gtest_filter="Wifi*" Committed: https://crrev.com/271c6cca48a6cef32c0f3add3b17b700707deec5 Cr-Commit-Position: refs/heads/master@{#309333}

Patch Set 1 #

Total comments: 18

Patch Set 2 : fix some nits #

Patch Set 3 : remove unused file (wifi_security_class_chromeos_unittest.cc) #

Patch Set 4 : update commit message #

Total comments: 6

Patch Set 5 : fix nits (round 2), and remove dependency from component to chrome #

Total comments: 44

Patch Set 6 : fix style issues from PS5 #

Patch Set 7 : update BUILD.gn and commit message #

Total comments: 8

Patch Set 8 : test integration with chromeos network settings backend #

Total comments: 3

Patch Set 9 : remove stray dependency #

Total comments: 26

Patch Set 10 : address style issues from stevenjb's review of PS9 #

Total comments: 23

Patch Set 11 : address feedback from erikwright@, on PS10 #

Patch Set 12 : address network_state_helper_chromeos.h comment in PS10 #

Patch Set 13 : add forward-decl in WCSSFactory #

Patch Set 14 : rebase, resolve minor conflicts, reformat BUILD.gn #

Patch Set 15 : remove reference to c++11 library method #

Patch Set 16 : IGNORE (botched upload): fix build config #

Patch Set 17 : fix build config, take 2 #

Patch Set 18 : rebase, and fix ToT conflict on chrome/test/BUILD.gn #

Patch Set 19 : use chromeos/is_chromeos instead of a feature flag #

Patch Set 20 : rebase and resolve (trivial) merge conflict #

Patch Set 21 : fix android_aosp build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+879 lines, -1 line) Patch
M chrome/browser/chromeos/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
M chrome/browser/sync/DEPS View 16 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/sync/profile_sync_components_factory_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +22 lines, -0 lines 0 comments Download
A chrome/browser/sync/test/integration/single_client_wifi_credentials_sync_test.cc View 1 2 3 4 5 6 7 16 1 chunk +29 lines, -0 lines 0 comments Download
A chrome/browser/sync/test/integration/two_client_wifi_credentials_sync_test.cc View 1 2 3 4 5 6 7 16 1 chunk +29 lines, -0 lines 0 comments Download
A chrome/browser/sync/test/integration/wifi_credentials_helper.h View 1 2 3 4 5 6 7 16 1 chunk +26 lines, -0 lines 0 comments Download
A chrome/browser/sync/test/integration/wifi_credentials_helper.cc View 1 2 3 4 5 6 7 16 1 chunk +95 lines, -0 lines 0 comments Download
A chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.h View 1 2 3 4 5 6 7 16 1 chunk +20 lines, -0 lines 0 comments Download
A chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc View 1 2 3 4 5 6 7 8 9 16 1 chunk +49 lines, -0 lines 0 comments Download
M chrome/chrome_browser_chromeos.gypi 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
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 5 chunks +22 lines, -0 lines 0 comments Download
M chrome/common/chrome_switches.h 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
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +12 lines, -0 lines 0 comments Download
M components/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +5 lines, -1 line 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 19 20 1 chunk +1 line, -0 lines 0 comments Download
M components/components_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +4 lines, -0 lines 0 comments Download
A components/wifi_sync.gypi 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 components/wifi_sync/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +36 lines, -0 lines 0 comments Download
A components/wifi_sync/DEPS View 1 2 3 4 5 6 7 16 1 chunk +7 lines, -0 lines 0 comments Download
A components/wifi_sync/OWNERS View 1 16 1 chunk +1 line, -0 lines 0 comments Download
A components/wifi_sync/network_state_helper_chromeos.h View 1 2 3 4 5 6 7 8 9 10 11 16 1 chunk +27 lines, -0 lines 0 comments Download
A components/wifi_sync/network_state_helper_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 16 1 chunk +47 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_credential.h View 1 2 3 4 5 6 7 8 9 10 16 1 chunk +61 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_credential.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 1 chunk +48 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_credential_syncable_service.h View 1 2 3 4 5 6 7 8 9 10 16 1 chunk +54 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_credential_syncable_service.cc View 1 2 3 4 5 6 7 8 9 10 16 1 chunk +62 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_credential_syncable_service_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 16 1 chunk +53 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_credential_syncable_service_factory.cc View 1 2 3 4 5 6 7 16 1 chunk +44 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_security_class.h View 1 2 3 4 5 6 7 8 9 10 16 1 chunk +33 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_security_class_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 16 1 chunk +24 lines, -0 lines 0 comments Download
A components/wifi_sync/wifi_security_class_chromeos_unittest.cc View 1 2 3 4 5 6 7 8 9 16 1 chunk +25 lines, -0 lines 0 comments Download
M sync/syncable/model_type.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +7 lines, -0 lines 0 comments Download

Messages

Total messages: 66 (12 generated)
mukesh agrawal
This is patch 2 of 7, in a series of CLs to implement the sync ...
6 years, 1 month ago (2014-11-08 00:39:11 UTC) #1
mukesh agrawal
Sorry about the size of this CL. I couldn't find a way to break this ...
6 years, 1 month ago (2014-11-08 01:14:13 UTC) #4
stevenjb
I'd actually like to see this merged with https://codereview.chromium.org/675993005/, I don't think that CL has ...
6 years, 1 month ago (2014-11-12 21:17:41 UTC) #5
stevenjb
https://codereview.chromium.org/709683004/diff/1/chrome/browser/sync/test/integration/wifi_credentials_helper.h File chrome/browser/sync/test/integration/wifi_credentials_helper.h (right): https://codereview.chromium.org/709683004/diff/1/chrome/browser/sync/test/integration/wifi_credentials_helper.h#newcode10 chrome/browser/sync/test/integration/wifi_credentials_helper.h:10: class Profile; nit: WS https://codereview.chromium.org/709683004/diff/1/components/wifi_sync/wifi_credential_syncable_service.h File components/wifi_sync/wifi_credential_syncable_service.h (right): https://codereview.chromium.org/709683004/diff/1/components/wifi_sync/wifi_credential_syncable_service.h#newcode33 ...
6 years, 1 month ago (2014-11-12 21:30:44 UTC) #6
mukesh agrawal
On 2014/11/12 21:17:41, stevenjb wrote: > I'd actually like to see this merged with > ...
6 years, 1 month ago (2014-11-13 16:19:23 UTC) #7
mukesh agrawal
https://codereview.chromium.org/709683004/diff/1/chrome/browser/sync/test/integration/wifi_credentials_helper.h File chrome/browser/sync/test/integration/wifi_credentials_helper.h (right): https://codereview.chromium.org/709683004/diff/1/chrome/browser/sync/test/integration/wifi_credentials_helper.h#newcode10 chrome/browser/sync/test/integration/wifi_credentials_helper.h:10: class Profile; On 2014/11/12 21:30:44, stevenjb wrote: > nit: ...
6 years, 1 month ago (2014-11-13 16:24:59 UTC) #8
mukesh agrawal
Thanks, Steven. PTAL.
6 years, 1 month ago (2014-11-13 16:25:27 UTC) #9
stevenjb
https://codereview.chromium.org/709683004/diff/1/components/wifi_sync/wifi_credential_syncable_service.h File components/wifi_sync/wifi_credential_syncable_service.h (right): https://codereview.chromium.org/709683004/diff/1/components/wifi_sync/wifi_credential_syncable_service.h#newcode49 components/wifi_sync/wifi_credential_syncable_service.h:49: void StopSyncing(syncer::ModelType type) override; On 2014/11/13 16:24:58, mukesh agrawal ...
6 years, 1 month ago (2014-11-13 22:55:36 UTC) #10
mukesh agrawal
https://codereview.chromium.org/709683004/diff/1/components/wifi_sync/wifi_credential_syncable_service.h File components/wifi_sync/wifi_credential_syncable_service.h (right): https://codereview.chromium.org/709683004/diff/1/components/wifi_sync/wifi_credential_syncable_service.h#newcode49 components/wifi_sync/wifi_credential_syncable_service.h:49: void StopSyncing(syncer::ModelType type) override; On 2014/11/13 22:55:35, stevenjb wrote: ...
6 years, 1 month ago (2014-11-14 02:14:54 UTC) #11
mukesh agrawal
Thanks, and PTAL. :)
6 years, 1 month ago (2014-11-14 02:15:42 UTC) #12
stevenjb
LGTM!
6 years, 1 month ago (2014-11-14 23:56:25 UTC) #13
pavely
sync related files: lgtm
6 years, 1 month ago (2014-11-17 19:23:44 UTC) #14
erikwright (departed)
https://codereview.chromium.org/709683004/diff/80001/chrome/browser/sync/test/integration/wifi_credentials_helper.cc File chrome/browser/sync/test/integration/wifi_credentials_helper.cc (right): https://codereview.chromium.org/709683004/diff/80001/chrome/browser/sync/test/integration/wifi_credentials_helper.cc#newcode36 chrome/browser/sync/test/integration/wifi_credentials_helper.cc:36: const WifiSsidSecuritySet a_networks = service_a.GetWifiNetworksForTest(); Instead of querying the ...
6 years, 1 month ago (2014-11-17 20:18:58 UTC) #15
erikwright (departed)
6 years, 1 month ago (2014-11-17 20:19:01 UTC) #16
mukesh agrawal
You raise a good point about testing the data store, rather than testing internal data ...
6 years, 1 month ago (2014-11-18 17:17:44 UTC) #17
mukesh agrawal
https://codereview.chromium.org/709683004/diff/120001/chrome/browser/sync/test/integration/wifi_credentials_helper.h File chrome/browser/sync/test/integration/wifi_credentials_helper.h (right): https://codereview.chromium.org/709683004/diff/120001/chrome/browser/sync/test/integration/wifi_credentials_helper.h#newcode18 chrome/browser/sync/test/integration/wifi_credentials_helper.h:18: // Used to access the WiFi credentials within a ...
6 years ago (2014-12-03 01:44:43 UTC) #18
mukesh agrawal
https://codereview.chromium.org/709683004/diff/140001/components/wifi_sync/BUILD.gn File components/wifi_sync/BUILD.gn (right): https://codereview.chromium.org/709683004/diff/140001/components/wifi_sync/BUILD.gn#newcode35 components/wifi_sync/BUILD.gn:35: "//components/user_manager", On 2014/12/03 01:44:43, mukesh agrawal wrote: > Stray ...
6 years ago (2014-12-03 01:47:04 UTC) #19
mukesh agrawal
The most significant change in PS8 is that we now check the state of the ...
6 years ago (2014-12-03 01:53:23 UTC) #20
mukesh agrawal
https://codereview.chromium.org/709683004/diff/80001/chrome/browser/sync/test/integration/wifi_credentials_helper.cc File chrome/browser/sync/test/integration/wifi_credentials_helper.cc (right): https://codereview.chromium.org/709683004/diff/80001/chrome/browser/sync/test/integration/wifi_credentials_helper.cc#newcode36 chrome/browser/sync/test/integration/wifi_credentials_helper.cc:36: const WifiSsidSecuritySet a_networks = service_a.GetWifiNetworksForTest(); Agreed. This is fixed ...
6 years ago (2014-12-04 18:55:01 UTC) #21
stevenjb
Re-reviewed all of this since a lot has changed. https://codereview.chromium.org/709683004/diff/160001/chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc File chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc (right): https://codereview.chromium.org/709683004/diff/160001/chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc#newcode38 chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc:38: ...
6 years ago (2014-12-05 20:28:17 UTC) #22
pavely
sync related changes: lgtm
6 years ago (2014-12-05 22:48:26 UTC) #23
mukesh agrawal
Thanks, Steven. PTAL. https://codereview.chromium.org/709683004/diff/160001/chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc File chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc (right): https://codereview.chromium.org/709683004/diff/160001/chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc#newcode38 chrome/browser/sync/test/integration/wifi_credentials_helper_chromeos.cc:38: DCHECK(chromeos::NetworkHandler::Get()->network_state_handler()); On 2014/12/05 20:28:17, stevenjb wrote: ...
6 years ago (2014-12-05 23:48:12 UTC) #24
stevenjb
lgtm https://codereview.chromium.org/709683004/diff/160001/components/wifi_sync/network_state_helper_chromeos.cc File components/wifi_sync/network_state_helper_chromeos.cc (right): https://codereview.chromium.org/709683004/diff/160001/components/wifi_sync/network_state_helper_chromeos.cc#newcode40 components/wifi_sync/network_state_helper_chromeos.cc:40: // a security_class() field in NetworkState. On 2014/12/05 ...
6 years ago (2014-12-08 17:54:26 UTC) #25
erikwright (departed)
https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.cc File components/wifi_sync/network_state_helper_chromeos.cc (right): https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.cc#newcode10 components/wifi_sync/network_state_helper_chromeos.cc:10: #include "components/wifi_sync/wifi_credential.h" not needed (in header) https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.cc#newcode22 components/wifi_sync/network_state_helper_chromeos.cc:22: chromeos::NetworkTypePattern::WiFi(), ...
6 years ago (2014-12-08 21:21:37 UTC) #26
mukesh agrawal
https://codereview.chromium.org/709683004/diff/160001/components/wifi_sync/network_state_helper_chromeos.cc File components/wifi_sync/network_state_helper_chromeos.cc (right): https://codereview.chromium.org/709683004/diff/160001/components/wifi_sync/network_state_helper_chromeos.cc#newcode40 components/wifi_sync/network_state_helper_chromeos.cc:40: // a security_class() field in NetworkState. On 2014/12/08 17:54:26, ...
6 years ago (2014-12-09 01:23:50 UTC) #27
mukesh agrawal
https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.cc File components/wifi_sync/network_state_helper_chromeos.cc (right): https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.cc#newcode10 components/wifi_sync/network_state_helper_chromeos.cc:10: #include "components/wifi_sync/wifi_credential.h" On 2014/12/08 21:21:36, erikwright wrote: > not ...
6 years ago (2014-12-09 01:41:11 UTC) #28
mukesh agrawal
https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.h File components/wifi_sync/network_state_helper_chromeos.h (right): https://codereview.chromium.org/709683004/diff/180001/components/wifi_sync/network_state_helper_chromeos.h#newcode16 components/wifi_sync/network_state_helper_chromeos.h:16: // Functions which deal with ChromeOS-specific network state. On ...
6 years ago (2014-12-09 01:45:27 UTC) #29
mukesh agrawal
erikwright: please take another look pavely: can you confirm/refute that ThreadChecker is not generally necessary ...
6 years ago (2014-12-09 01:47:48 UTC) #30
erikwright (departed)
LGTM with one final request (my response to your IWYU question). If there is a ...
6 years ago (2014-12-09 12:42:03 UTC) #31
mukesh agrawal
pstew: can you approve DEPS for third_party/cros_system_api/dbus/service_constants.h?
6 years ago (2014-12-09 20:56:17 UTC) #32
Paul Stewart
On 2014/12/09 20:56:17, mukesh agrawal wrote: > pstew: can you approve DEPS for > third_party/cros_system_api/dbus/service_constants.h? ...
6 years ago (2014-12-09 21:36:09 UTC) #33
mukesh agrawal
Conflicts were just textual (non-semantic), in a couple of gyp files. Reformatted wifi_sync/BUILD.gn per pre-submit ...
6 years ago (2014-12-09 22:33:25 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/709683004/260001
6 years ago (2014-12-09 22:34:46 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: android_aosp on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_aosp/builds/40386)
6 years ago (2014-12-09 22:44:43 UTC) #38
mukesh agrawal
On 2014/12/09 22:44:43, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years ago (2014-12-09 22:54:16 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/709683004/260001
6 years ago (2014-12-09 22:54:46 UTC) #41
commit-bot: I haz the power
Try jobs failed on following builders: android_aosp on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_aosp/builds/40396) android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tests_recipe/builds/35944)
6 years ago (2014-12-09 23:03:55 UTC) #43
mukesh agrawal
android_dbg_tests_recipe failure was due to the use of std::vector<>::data(). This method was added in c++11. ...
6 years ago (2014-12-09 23:18:03 UTC) #44
mukesh agrawal
PS16 improves the build configuration, as follows: 1. Fixes non-chromeos, non-gyp builds, by only building ...
6 years ago (2014-12-11 00:52:16 UTC) #45
mukesh agrawal
I forgot to note: the sync_integration_tests,chromeos,gn build fails. But it fails in the same way ...
6 years ago (2014-12-11 01:02:01 UTC) #46
brettw
Do we really need a global GYP variable and a global define set for every ...
6 years ago (2014-12-15 22:46:02 UTC) #48
mukesh agrawal
On 2014/12/15 22:46:02, brettw wrote: > Do we really need a global GYP variable and ...
6 years ago (2014-12-16 00:26:11 UTC) #49
brettw
I've been pushing back on new global defines. We've got way too many and it's ...
6 years ago (2014-12-16 03:34:22 UTC) #50
mukesh agrawal
Thanks for elaborating. I think I understand your concerns now. Since the ENABLE_WIFI_SYNC define is ...
6 years ago (2014-12-16 17:57:57 UTC) #51
brettw
> Two more questions, if I may. Inside the build files, I think the code ...
6 years ago (2014-12-17 18:52:29 UTC) #52
mukesh agrawal
Thanks for taking the time to explain the trade-offs. It's super-helpful, as I hadn't considered ...
6 years ago (2014-12-18 18:00:40 UTC) #53
brettw
*.gn LGTM. Thanks!
6 years ago (2014-12-19 18:23:31 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/709683004/360001
6 years ago (2014-12-19 18:45:09 UTC) #56
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_compile_rel/builds/1675) win_chromium_x64_rel_ng on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/10195)
6 years ago (2014-12-19 18:52:34 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/709683004/380001
6 years ago (2014-12-19 22:17:39 UTC) #60
commit-bot: I haz the power
Try jobs failed on following builders: android_aosp on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_aosp/builds/43878)
6 years ago (2014-12-19 22:34:50 UTC) #62
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/709683004/400001
6 years ago (2014-12-20 03:08:37 UTC) #64
commit-bot: I haz the power
Committed patchset #21 (id:400001)
6 years ago (2014-12-20 03:58:25 UTC) #65
commit-bot: I haz the power
6 years ago (2014-12-20 03:59:19 UTC) #66
Message was sent while issue was closed.
Patchset 21 (id:??) landed as
https://crrev.com/271c6cca48a6cef32c0f3add3b17b700707deec5
Cr-Commit-Position: refs/heads/master@{#309333}

Powered by Google App Engine
This is Rietveld 408576698