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

Issue 2811673002: Reland: Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions (Closed)

Created:
3 years, 8 months ago by vabr (Chromium)
Modified:
3 years, 8 months ago
CC:
chromium-reviews, msramek+watch_chromium.org, tzik, oka+watch_chromium.org, rginda+watch_chromium.org, fukino+watch_chromium.org, markusheintz_, extensions-reviews_chromium.org, achuith+watch_chromium.org, raymes+watch_chromium.org, devtools-reviews_chromium.org, chromium-apps-reviews_chromium.org, alemate+watch_chromium.org, yamaguchi+watch_chromium.org, nhiroki, pam+watch_chromium.org, oshima+watch_chromium.org, Lei Zhang, tfarina, tommycli, davemoore+watch_chromium.org, kinuko+fileapi, pfeldman
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland: Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions The compilation failed on the original CL https://codereview.chromium.org/2777063003/ because of compiler bug described in https://crbug.com/703565: to downcast unique_ptr<DictionaryValue>, some compilers require std::move, harming RVO. Patch set 1 here is the reverted patch from issue 2777063003 at patchset 80001 (http://crrev.com/2777063003#ps80001). Following patch sets are working around the compiler issue. Original issue description follows: Passing ownership of base::Value into API methods DictionaryValue::Set, DictionaryValue::SetWithoutPathExpansion, and ListValue::Set through raw pointers is deprecated, can hide bugs and should be done via unique_ptr instead. Therefore, this CL migrates c/b/chromeos, c/b/extensions and a bunch of related files to use the unique_ptr-based API. BUG=697817 TBR=bauerb@chromium.org,finnur@chromium.org,benwells@chromium.org,derat@chromium.org,cpu@chromium.org,atwilson@chromium.org,dgozman@chromium.org Review-Url: https://codereview.chromium.org/2811673002 Cr-Commit-Position: refs/heads/master@{#463222} Committed: https://chromium.googlesource.com/chromium/src/+/9984ea68709ca1f8c9a8da5f2d27c598da83a85e

Patch Set 1 : Reverted patch set #

Patch Set 2 : Workaround with std::move #

Unified diffs Side-by-side diffs Delta from patch set Stats (+602 lines, -464 lines) Patch
M chrome/browser/background/background_application_list_model_unittest.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/background/background_contents_service.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/file_manager/file_tasks.cc View 3 chunks +5 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/file_manager/url_util.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/file_system_provider/operations/read_file_unittest.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/file_system_provider/provided_file_system_unittest.cc View 1 chunk +4 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/file_system_provider/registry.cc View 4 chunks +19 lines, -15 lines 0 comments Download
M chrome/browser/chromeos/file_system_provider/registry_unittest.cc View 3 chunks +14 lines, -11 lines 0 comments Download
M chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc View 2 chunks +7 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/options/vpn_config_view.cc View 3 chunks +7 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/options/wifi_config_view.cc View 2 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/platform_keys/key_permissions.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/component_updater/supervised_user_whitelist_installer.cc View 2 chunks +14 lines, -12 lines 0 comments Download
M chrome/browser/component_updater/supervised_user_whitelist_installer_unittest.cc View 3 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/content_settings/content_settings_pref_provider_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/content_settings/host_content_settings_map_unittest.cc View 3 chunks +5 lines, -4 lines 0 comments Download
M chrome/browser/custom_handlers/protocol_handler_registry.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/devtools/devtools_protocol.cc View 4 chunks +9 lines, -5 lines 0 comments Download
M chrome/browser/devtools/devtools_targets_ui.cc View 5 chunks +14 lines, -13 lines 0 comments Download
M chrome/browser/devtools/devtools_ui_bindings.cc View 3 chunks +9 lines, -11 lines 0 comments Download
M chrome/browser/devtools/devtools_window.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/extensions/activity_log/activity_log.cc View 4 chunks +9 lines, -6 lines 0 comments Download
M chrome/browser/extensions/activity_log/counting_policy_unittest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc View 3 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/extensions/api/autotest_private/autotest_private_api.cc View 5 chunks +8 lines, -6 lines 0 comments Download
M chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_apitest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc View 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/bookmarks/bookmark_apitest.cc View 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/browsing_data/browsing_data_api.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M chrome/browser/extensions/api/commands/command_service.cc View 6 chunks +7 lines, -6 lines 0 comments Download
M chrome/browser/extensions/api/commands/command_service_browsertest.cc View 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/cookies/cookies_api.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/cookies/cookies_helpers.h View 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/cookies/cookies_helpers.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/cookies/cookies_unittest.cc View 4 chunks +8 lines, -6 lines 0 comments Download
M chrome/browser/extensions/api/debugger/debugger_api.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc View 4 chunks +14 lines, -10 lines 0 comments Download
M chrome/browser/extensions/api/downloads/downloads_api.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/extensions/api/font_settings/font_settings_api.cc View 4 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/extensions/api/input_ime/input_ime_api_nonchromeos.cc View 2 chunks +3 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/mdns/mdns_api_unittest.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/media_galleries/media_galleries_api.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/messaging/native_messaging_test_util.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/omnibox/omnibox_api.cc View 4 chunks +10 lines, -7 lines 0 comments Download
M chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc View 8 chunks +15 lines, -12 lines 0 comments Download
M chrome/browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/preference/chrome_direct_setting.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/preference/preference_api.h View 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/preference/preference_api.cc View 6 chunks +31 lines, -25 lines 0 comments Download
M chrome/browser/extensions/api/proxy/proxy_api.h View 1 chunk +6 lines, -4 lines 0 comments Download
M chrome/browser/extensions/api/proxy/proxy_api.cc View 1 5 chunks +9 lines, -9 lines 0 comments Download
M chrome/browser/extensions/api/proxy/proxy_api_helpers.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/extensions/api/proxy/proxy_api_helpers_unittest.cc View 8 chunks +23 lines, -20 lines 0 comments Download
M chrome/browser/extensions/api/storage/policy_value_store.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/storage/settings_sync_unittest.cc View 20 chunks +46 lines, -45 lines 0 comments Download
M chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/sync_file_system/sync_file_system_api_helpers.h View 2 chunks +3 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/sync_file_system/sync_file_system_api_helpers.cc View 3 chunks +5 lines, -3 lines 0 comments Download
M chrome/browser/extensions/api/tabs/app_window_controller.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/tabs/tabs_event_router.cc View 7 chunks +27 lines, -19 lines 0 comments Download
M chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.cc View 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/convert_user_script.cc View 5 chunks +15 lines, -14 lines 0 comments Download
M chrome/browser/extensions/convert_web_app.cc View 3 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/extensions/extension_assets_manager_chromeos.cc View 3 chunks +13 lines, -8 lines 0 comments Download
M chrome/browser/extensions/extension_garbage_collector_chromeos_unittest.cc View 2 chunks +16 lines, -11 lines 0 comments Download
M chrome/browser/extensions/extension_gcm_app_handler_unittest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/extensions/extension_management_test_util.cc View 2 chunks +9 lines, -7 lines 0 comments Download
M chrome/browser/extensions/extension_override_apitest.cc View 3 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/extensions/extension_prefs_unittest.cc View 2 chunks +3 lines, -1 line 0 comments Download
M chrome/browser/extensions/extension_protocols_unittest.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/extensions/extension_service_unittest.cc View 8 chunks +11 lines, -10 lines 0 comments Download
M chrome/browser/extensions/extension_special_storage_policy_unittest.cc View 3 chunks +9 lines, -6 lines 0 comments Download
M chrome/browser/extensions/extension_web_ui.cc View 2 chunks +8 lines, -5 lines 0 comments Download
M chrome/browser/extensions/external_pref_loader.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/install_signer.cc View 3 chunks +4 lines, -3 lines 0 comments Download
M chrome/browser/extensions/menu_manager.cc View 1 chunk +3 lines, -4 lines 0 comments Download
M chrome/browser/extensions/menu_manager_unittest.cc View 4 chunks +12 lines, -15 lines 0 comments Download
M chrome/browser/extensions/permissions_based_management_policy_provider_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/extensions/webstore_inline_installer_unittest.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/prefs/profile_pref_store_manager_unittest.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M chrome/browser/prefs/session_startup_pref.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/prefs/session_startup_pref_unittest.cc View 2 chunks +6 lines, -6 lines 0 comments Download
M chrome/browser/prefs/tracked/pref_hash_browsertest.cc View 3 chunks +4 lines, -2 lines 0 comments Download
M chrome/common/extensions/sync_type_unittest.cc View 2 chunks +6 lines, -3 lines 0 comments Download

Messages

Total messages: 15 (9 generated)
vabr (Chromium)
Hi Jan, Please review the diff between patch set 2 and 1. I reproduced the ...
3 years, 8 months ago (2017-04-10 10:54:07 UTC) #5
jdoerrie
LGTM, thanks for the quick fix!
3 years, 8 months ago (2017-04-10 11:00:58 UTC) #6
vabr (Chromium)
Thanks, Jan. The bot is green, so I'm landing again. Finnur: The only change (see ...
3 years, 8 months ago (2017-04-10 11:26:46 UTC) #9
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/2811673002/20001
3 years, 8 months ago (2017-04-10 11:27:12 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://chromium.googlesource.com/chromium/src/+/9984ea68709ca1f8c9a8da5f2d27c598da83a85e
3 years, 8 months ago (2017-04-10 11:34:47 UTC) #14
Finnur
3 years, 8 months ago (2017-04-10 15:48:06 UTC) #15
Message was sent while issue was closed.
LGTM

Powered by Google App Engine
This is Rietveld 408576698