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

Issue 1096983002: Update usages of std::map to use ScopedPtrMap. (Closed)

Created:
5 years, 8 months ago by Matt Giuca
Modified:
5 years, 6 months ago
CC:
browser-components-watch_chromium.org, chrome-apps-syd-reviews_chromium.org, chromium-apps-reviews_chromium.org, chromium-reviews, estade+watch_chromium.org, gcasto+watchlist_chromium.org, hashimoto+watch_chromium.org, maniscalco+watch_chromium.org, maxbogue+watch_chromium.org, mkwst+watchlist-passwords_chromium.org, mlamouri+watch-notifications_chromium.org, oshima+watch_chromium.org, peter+watch_chromium.org, plaree+watch_chromium.org, pvalenzuela+watch_chromium.org, rouslan+autofillwatch_chromium.org, rsesek+watch_chromium.org, shishir+watch_chromium.org, stevenjb+watch_chromium.org, tapted, tfarina, tim+watch_chromium.org, vabr+watchlist_chromium.org, zea+watch_chromium.org, tim (not reviewing)
Base URL:
https://chromium.googlesource.com/chromium/src.git@passwordmanager-scopedmemory
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Update usages of std::map to use ScopedPtrMap. Almost all code that uses a std::map + STLValueDeleter has been modified to use a ScopedPtrMap. This makes pointer ownership much clearer, and removes a lot of manual pointer deletion. BUG=478594 Committed: https://crrev.com/f59c7a8db11a9c5f5abbba3b0fb6f42059e4ce1d Cr-Commit-Position: refs/heads/master@{#336096}

Patch Set 1 #

Patch Set 2 : SavedFilesService: Use the scoped_ptr version of insert. #

Patch Set 3 : Rebase. #

Patch Set 4 : Rebase and make use of set(). #

Patch Set 5 : Rebase. #

Patch Set 6 : Update to new ScopedPtrMap interface (CL 1076273004). #

Patch Set 7 : Rebase. #

Patch Set 8 : Added missing includes of scoped_ptr.h. #

Patch Set 9 : Use ScopedPtrMap in code that's been written since last update (MidiManagerAlsa and InstanceIDDrive… #

Patch Set 10 : SavedFilesService: Use ScopedPtrHashMap instead of ScopedPtrMap. #

Patch Set 11 : Fixes and comments. #

Patch Set 12 : Rebase. #

Patch Set 13 : Fixed up ManagePasswordsStateTest and ManagePasswordsUIControllerTest. #

Patch Set 14 : Fixed components_unittests compile. #

Patch Set 15 : Rebase. #

Patch Set 16 : Fix sync_unit_tests. #

Patch Set 17 : ManagePasswordsTest: Fix compile. #

Patch Set 18 : Attempt to fix compile and test failures across various platforms. #

Patch Set 19 : Fix Mac compile. #

Patch Set 20 : Fix Mac compile. #

Total comments: 13

Patch Set 21 : Rebase off 1194373002 (move into base:: namespace). #

Patch Set 22 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+466 lines, -526 lines) Patch
M apps/saved_files_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +4 lines, -5 lines 0 comments Download
M apps/saved_files_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 9 chunks +22 lines, -33 lines 0 comments Download
M chrome/browser/predictors/resource_prefetch_predictor.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/predictors/resource_prefetch_predictor.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 7 chunks +7 lines, -16 lines 0 comments Download
M chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +6 lines, -7 lines 0 comments Download
M chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.cc View 1 2 3 4 3 chunks +6 lines, -13 lines 0 comments Download
M chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_blacklist_view_controller_unittest.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +6 lines, -5 lines 0 comments Download
M chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_manage_view_controller_unittest.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +10 lines, -9 lines 0 comments Download
M chrome/browser/ui/passwords/manage_passwords_state.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +17 lines, -7 lines 0 comments Download
M chrome/browser/ui/passwords/manage_passwords_state_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 +40 lines, -28 lines 0 comments Download
M chrome/browser/ui/passwords/manage_passwords_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +29 lines, -16 lines 0 comments Download
M chromeos/dbus/gsm_sms_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +9 lines, -9 lines 0 comments Download
M chromeos/dbus/modem_messaging_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +11 lines, -14 lines 0 comments Download
M chromeos/dbus/shill_ipconfig_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +10 lines, -10 lines 0 comments Download
M chromeos/dbus/shill_profile_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +10 lines, -10 lines 0 comments Download
M components/autofill/core/common/password_form.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -1 line 0 comments Download
M components/autofill/core/common/password_form_fill_data_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +8 lines, -4 lines 0 comments Download
M components/gcm_driver/gcm_client_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +10 lines, -11 lines 0 comments Download
M components/gcm_driver/gcm_client_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +23 lines, -41 lines 0 comments Download
M components/gcm_driver/instance_id/instance_id.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -2 lines 0 comments Download
M components/gcm_driver/instance_id/instance_id_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +4 lines, -3 lines 0 comments Download
M components/gcm_driver/instance_id/instance_id_driver.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +3 lines, -5 lines 0 comments Download
M components/gcm_driver/instance_id/instance_id_driver.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +6 lines, -10 lines 0 comments Download
M components/gcm_driver/instance_id/instance_id_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +4 lines, -3 lines 0 comments Download
M components/password_manager/core/browser/password_form_manager.h View 1 2 3 4 2 chunks +0 lines, -5 lines 0 comments Download
M components/password_manager/core/browser/password_form_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 6 chunks +17 lines, -14 lines 0 comments Download
M components/password_manager/core/browser/password_form_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +8 lines, -7 lines 0 comments Download
M components/policy/core/common/schema.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +12 lines, -10 lines 0 comments Download
M components/sync_driver/non_blocking_data_type_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +3 lines, -9 lines 0 comments Download
M components/sync_driver/non_blocking_data_type_manager.cc View 1 2 3 4 5 4 chunks +13 lines, -16 lines 0 comments Download
M media/midi/midi_manager_alsa.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 chunks +4 lines, -8 lines 0 comments Download
M media/midi/midi_manager_alsa.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +12 lines, -18 lines 0 comments Download
M sync/engine/commit.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +8 lines, -11 lines 0 comments Download
M sync/engine/commit.cc View 1 2 3 4 5 5 chunks +15 lines, -16 lines 0 comments Download
M sync/engine/commit_processor.h View 3 chunks +4 lines, -6 lines 0 comments Download
M sync/engine/commit_processor.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M sync/engine/directory_update_handler_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 +16 lines, -22 lines 0 comments Download
M sync/engine/entity_tracker.h View 1 chunk +5 lines, -4 lines 0 comments Download
M sync/engine/entity_tracker.cc View 2 chunks +7 lines, -15 lines 0 comments Download
M sync/engine/model_type_sync_proxy_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +6 lines, -5 lines 0 comments Download
M sync/engine/model_type_sync_proxy_impl.cc View 1 2 3 4 5 10 chunks +20 lines, -26 lines 0 comments Download
M sync/engine/model_type_sync_worker_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +3 lines, -4 lines 0 comments Download
M sync/engine/model_type_sync_worker_impl.cc View 1 2 3 4 5 5 chunks +12 lines, -18 lines 0 comments Download
M sync/sessions/nudge_tracker.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +3 lines, -2 lines 0 comments Download
M sync/sessions/nudge_tracker.cc View 1 2 3 4 5 9 chunks +13 lines, -13 lines 0 comments Download
M ui/gfx/image/image.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +3 lines, -2 lines 0 comments Download
M ui/gfx/image/image.cc View 1 2 3 4 5 5 chunks +7 lines, -8 lines 0 comments Download
M ui/message_center/message_center_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +5 lines, -6 lines 0 comments Download
M ui/message_center/message_center_impl.cc View 1 2 3 4 5 6 4 chunks +7 lines, -12 lines 0 comments Download

Messages

Total messages: 80 (37 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/210001
5 years, 6 months ago (2015-06-12 04:56:47 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_ninja/builds/34465) ios_rel_device_ninja on ...
5 years, 6 months ago (2015-06-12 05:00:52 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/230001
5 years, 6 months ago (2015-06-15 05:10:20 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/81384)
5 years, 6 months ago (2015-06-15 05:19:03 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/230001
5 years, 6 months ago (2015-06-16 05:01:47 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/98564)
5 years, 6 months ago (2015-06-16 05:12:02 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/250001
5 years, 6 months ago (2015-06-16 07:38:55 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/81853) linux_chromium_gn_dbg on ...
5 years, 6 months ago (2015-06-16 07:49:40 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/270001
5 years, 6 months ago (2015-06-17 03:02:05 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_ninja/builds/35934) ios_rel_device_ninja on ...
5 years, 6 months ago (2015-06-17 03:08:18 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/290001
5 years, 6 months ago (2015-06-17 04:00:59 UTC) #23
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/100138)
5 years, 6 months ago (2015-06-17 04:11:42 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/330001
5 years, 6 months ago (2015-06-17 08:04:29 UTC) #27
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/82368)
5 years, 6 months ago (2015-06-17 08:20:29 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/390001
5 years, 6 months ago (2015-06-18 03:50:22 UTC) #33
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_gn_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_dbg/builds/83422)
5 years, 6 months ago (2015-06-18 04:03:17 UTC) #35
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/410001
5 years, 6 months ago (2015-06-18 04:32:11 UTC) #39
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/78298)
5 years, 6 months ago (2015-06-18 05:16:15 UTC) #41
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/430001
5 years, 6 months ago (2015-06-18 06:04:35 UTC) #43
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/64871)
5 years, 6 months ago (2015-06-18 06:51:45 UTC) #45
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/450001
5 years, 6 months ago (2015-06-18 09:03:39 UTC) #47
Matt Giuca
Hi all, This CL is a follow-up to r334083 where I added a ScopedPtrMap class. ...
5 years, 6 months ago (2015-06-18 09:04:34 UTC) #49
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 6 months ago (2015-06-18 10:09:53 UTC) #51
Robert Sesek
image/ LGTM https://codereview.chromium.org/1096983002/diff/450001/ui/gfx/image/image.h File ui/gfx/image/image.h (right): https://codereview.chromium.org/1096983002/diff/450001/ui/gfx/image/image.h#newcode62 ui/gfx/image/image.h:62: typedef ScopedPtrMap<RepresentationType, scoped_ptr<internal::ImageRep>> Optional: You could update ...
5 years, 6 months ago (2015-06-18 12:50:21 UTC) #52
jochen (gone - plz use gerrit)
lgtm
5 years, 6 months ago (2015-06-18 12:56:46 UTC) #53
vabr (Chromium)
chrome/browser/ui/passwords/*, components/password_manager/* LGTM, I love this change! Thanks, Vaclav
5 years, 6 months ago (2015-06-18 13:14:12 UTC) #54
stevenjb
https://codereview.chromium.org/1096983002/diff/450001/chromeos/dbus/gsm_sms_client.cc File chromeos/dbus/gsm_sms_client.cc (right): https://codereview.chromium.org/1096983002/diff/450001/chromeos/dbus/gsm_sms_client.cc#newcode219 chromeos/dbus/gsm_sms_client.cc:219: return it->second; Does this compile? It seems like this ...
5 years, 6 months ago (2015-06-18 15:32:02 UTC) #55
tapted
On 2015/06/18 09:04:34, Matt Giuca wrote: > mailto:tapted@chromium.org: Please review changes in apps/* apps/saved_files_service lgtm ...
5 years, 6 months ago (2015-06-19 00:12:01 UTC) #56
Matt Giuca
https://codereview.chromium.org/1096983002/diff/450001/apps/saved_files_service.cc File apps/saved_files_service.cc (right): https://codereview.chromium.org/1096983002/diff/450001/apps/saved_files_service.cc#newcode323 apps/saved_files_service.cc:323: auto it = registered_file_entries_.find(id); I'm hesitant to use get() ...
5 years, 6 months ago (2015-06-19 04:03:25 UTC) #57
Takashi Toyoshima
lgtm for media/midi. +cc agoode@ for midi alsa port, fyi.
5 years, 6 months ago (2015-06-19 05:04:25 UTC) #58
Adam Goode
On 2015/06/19 05:04:25, Takashi Toyoshima (chromium) wrote: > lgtm for media/midi. > +cc agoode@ for ...
5 years, 6 months ago (2015-06-19 06:19:17 UTC) #59
Matt Giuca
timsteele@: ping. https://codereview.chromium.org/1096983002/diff/450001/apps/saved_files_service.h File apps/saved_files_service.h (right): https://codereview.chromium.org/1096983002/diff/450001/apps/saved_files_service.h#newcode130 apps/saved_files_service.h:130: ScopedPtrMap<std::string, scoped_ptr<SavedFiles>> Done in precursor CL https://codereview.chromium.org/1194373002. ...
5 years, 6 months ago (2015-06-22 05:40:41 UTC) #60
stevenjb
lgtm https://codereview.chromium.org/1096983002/diff/450001/chromeos/dbus/gsm_sms_client.cc File chromeos/dbus/gsm_sms_client.cc (right): https://codereview.chromium.org/1096983002/diff/450001/chromeos/dbus/gsm_sms_client.cc#newcode219 chromeos/dbus/gsm_sms_client.cc:219: return it->second; On 2015/06/22 05:40:41, Matt Giuca wrote: ...
5 years, 6 months ago (2015-06-23 17:01:03 UTC) #61
Matt Giuca
timsteele: ping? https://codereview.chromium.org/1096983002/diff/450001/chromeos/dbus/gsm_sms_client.cc File chromeos/dbus/gsm_sms_client.cc (right): https://codereview.chromium.org/1096983002/diff/450001/chromeos/dbus/gsm_sms_client.cc#newcode219 chromeos/dbus/gsm_sms_client.cc:219: return it->second; Yeah, it can't really be ...
5 years, 6 months ago (2015-06-24 05:21:35 UTC) #62
tim (not reviewing)
Sorry about the delay. I'm not regularly working on chrome anymore. +maniscalco
5 years, 6 months ago (2015-06-24 22:05:37 UTC) #64
maniscalco
On 2015/06/24 22:05:37, not reviewing wrote: > Sorry about the delay. I'm not regularly working ...
5 years, 6 months ago (2015-06-24 23:43:54 UTC) #65
Matt Giuca
timsteele@: Thanks, sorry for the confusion (I don't see your name in OWNERS file now; ...
5 years, 6 months ago (2015-06-25 00:25:45 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/470001
5 years, 6 months ago (2015-06-25 01:10:49 UTC) #70
commit-bot: I haz the power
Exceeded global retry quota
5 years, 6 months ago (2015-06-25 01:14:55 UTC) #72
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/490001
5 years, 6 months ago (2015-06-25 05:00:51 UTC) #75
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1096983002/490001
5 years, 6 months ago (2015-06-25 09:01:02 UTC) #78
commit-bot: I haz the power
Committed patchset #22 (id:490001)
5 years, 6 months ago (2015-06-25 09:12:12 UTC) #79
commit-bot: I haz the power
5 years, 6 months ago (2015-06-25 09:13:10 UTC) #80
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/f59c7a8db11a9c5f5abbba3b0fb6f42059e4ce1d
Cr-Commit-Position: refs/heads/master@{#336096}

Powered by Google App Engine
This is Rietveld 408576698