New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 647091 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

base::IDMap handles ownership of raw pointers

Project Member Reported by aelias@chromium.org, Sep 15 2016

Issue description

base::IDMap's IDMapOwnPointer mode is a dated C++03-style way of writing memory management code.  It should be replaced by unique_ptr.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aed214d0ef7a3da3efa968dd6646e126efe91963

commit aed214d0ef7a3da3efa968dd6646e126efe91963
Author: aelias <aelias@chromium.org>
Date: Sat Sep 24 01:26:42 2016

Switch base::IDMap to use unique_ptr.

This old base class is a thin wrapper around STL hashmap, providing A)
less easily invalidated iterators and B) a unique_ptr equivalent.  At
this point there is nothing stopping this from *actually* using
unique_ptr, so I switch it over to using that in its IDMapOwnPointer mode.

I made one semantic change, to Replace(), which used to "leak" the
return pointer.  I changed it to instead directly return a unique_ptr
when in that mode, and also to not support replacing an invalid ID.
Both of those changes suit the only user of Replace (in
ServiceWorkerContextCore).

BUG= 647091 

Review-Url: https://codereview.chromium.org/2340813003
Cr-Commit-Position: refs/heads/master@{#420809}

[modify] https://crrev.com/aed214d0ef7a3da3efa968dd6646e126efe91963/base/id_map.h
[modify] https://crrev.com/aed214d0ef7a3da3efa968dd6646e126efe91963/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/aed214d0ef7a3da3efa968dd6646e126efe91963/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/aed214d0ef7a3da3efa968dd6646e126efe91963/content/browser/service_worker/service_worker_version.cc

Comment 2 by aelias@chromium.org, Sep 26 2016

Not fully fixed yet, the next step is to delete the enum and to create instantiations like IDMap<unique_ptr<T>> instead, and to make the Add(T*) style stop working in unique_ptr mode.  This will require a megapatch changing all use sites.
Cc: aelias@chromium.org
Owner: rlanday@chromium.org
Looks like this can be done in two steps:
1. Remove the casts here:
https://cs.chromium.org/chromium/src/base/id_map.h?pv=1&rcl=1478186305&l=90

and here:
https://cs.chromium.org/chromium/src/base/id_map.h?pv=1&rcl=1478186305&l=93

to disable adding raw pointers in IDMapOwnPointer mode. Then clean up the resulting compiler errors by converting the calling code to add unique_ptrs. IDMapOwnPointer is used in 45 files so this probably won't take long to do by hand.

2. Eliminate the enum as described in Comment 2. There are ~200 files that use IDMap so I will try to see if there's a way to automate this.
Sounds good to me.

A small additional cleanup that could be done as part of 2) or as a third step is to clean up the use of scoped_refptr in https://cs.chromium.org/chromium/src/content/browser/indexed_db/indexed_db_dispatcher_host.h?q=IDMap.*scoped_refptr&sq=package:chromium&dr=C&l=164 .  This will turn into unique_ptr<scoped_refptr<>>, which should work but is silly.  One benefit of eliminating the enum is that any smart pointer type can go into IDMap after that, so it could just hold scoped_refptr<> directly.
Also, to be clear on the goal of step 1), it should wind up having zero uses of the "new" keyword in the affected code.
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6eada0329b5e51ab20254aa20c37fbee6288dff1

commit 6eada0329b5e51ab20254aa20c37fbee6288dff1
Author: rlanday <rlanday@chromium.org>
Date: Wed Nov 30 18:59:30 2016

Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode.

This patch refactors all callsites of base::IDMap<T, IDMapOwnPointer>
to pass an std::unique_ptr, eliminating implicit transfers of ownership
when passing a raw pointer.

This is step 1 of 2 of refactoring base::IDMap to use std::unique_ptr
instead of custom memory management code.  (Step 2 will be to eliminate
the IDMapOwnershipSemantics enum and just make callers create IDMaps with
unique_ptrs as the value type: pending at http://crrev.com/2496653002/)

BUG= 647091 

TBR=boliu (for android_webview/)
TBR=stevenjb (for networking_private_service_client.cc)
TBR=jochen (other files)

Review-Url: https://codereview.chromium.org/2480293004
Cr-Commit-Position: refs/heads/master@{#435362}

[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/android_webview/browser/aw_permission_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/android_webview/native/aw_contents_client_bridge.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/base/id_map.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/base/id_map_unittest.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/android/compositor/layer_title_cache.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/android/service_tab_launcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/media/android/router/media_router_android.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/media/cast_transport_host_filter.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/metrics/subprocess_metrics_provider.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/permissions/permission_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/ui/blocked_content/popup_blocker_tab_helper.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/ui/tab_contents/core_tab_helper.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/drive/job_scheduler.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/gcm_driver/instance_id/instance_id_android.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/test_runner/mock_screen_orientation_client.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/test_runner/mock_screen_orientation_client.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/cache_storage/cache_storage_cache.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/manifest/manifest_manager_host.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/permissions/permission_service_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/quota_dispatcher_host.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/notifications/notification_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/notifications/notification_manager.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/push_messaging/push_provider.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/push_messaging/push_provider.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/quota_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/quota_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_registration_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_registration_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/cache_storage_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/cache_storage_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/webserviceworkercachestorage_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/webserviceworkercachestorage_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/presentation/presentation_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/presentation/presentation_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/push_messaging/push_messaging_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/push_messaging/push_messaging_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/screen_orientation/screen_orientation_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/screen_orientation/screen_orientation_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/screen_orientation/screen_orientation_dispatcher_browsertest.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/shell/browser/layout_test/layout_test_permission_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/extensions/browser/api/networking_private/networking_private_service_client.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/storage/browser/fileapi/file_system_operation_runner.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/storage/browser/fileapi/file_system_operation_runner.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/Cache.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/CacheStorage.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/CacheTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/InspectorCacheStorageAgent.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/presentation/PresentationReceiverTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/push_messaging/PushManager.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientation.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationController.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationController.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClients.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerRegistration.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerWindowClient.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeClientImpl.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeClientImpl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/web/WebEmbeddedWorkerImplTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/notifications/WebNotificationManager.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/presentation/WebPresentationClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/push_messaging/WebPushClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/push_messaging/WebPushProvider.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerCache.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerCacheStorage.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerProvider.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerRegistration.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextClient.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6eada0329b5e51ab20254aa20c37fbee6288dff1

commit 6eada0329b5e51ab20254aa20c37fbee6288dff1
Author: rlanday <rlanday@chromium.org>
Date: Wed Nov 30 18:59:30 2016

Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode.

This patch refactors all callsites of base::IDMap<T, IDMapOwnPointer>
to pass an std::unique_ptr, eliminating implicit transfers of ownership
when passing a raw pointer.

This is step 1 of 2 of refactoring base::IDMap to use std::unique_ptr
instead of custom memory management code.  (Step 2 will be to eliminate
the IDMapOwnershipSemantics enum and just make callers create IDMaps with
unique_ptrs as the value type: pending at http://crrev.com/2496653002/)

BUG= 647091 

TBR=boliu (for android_webview/)
TBR=stevenjb (for networking_private_service_client.cc)
TBR=jochen (other files)

Review-Url: https://codereview.chromium.org/2480293004
Cr-Commit-Position: refs/heads/master@{#435362}

[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/android_webview/browser/aw_permission_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/android_webview/native/aw_contents_client_bridge.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/base/id_map.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/base/id_map_unittest.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/android/compositor/layer_title_cache.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/android/service_tab_launcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/media/android/router/media_router_android.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/media/cast_transport_host_filter.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/metrics/subprocess_metrics_provider.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/permissions/permission_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/ui/blocked_content/popup_blocker_tab_helper.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/chrome/browser/ui/tab_contents/core_tab_helper.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/drive/job_scheduler.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/gcm_driver/instance_id/instance_id_android.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/test_runner/mock_screen_orientation_client.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/components/test_runner/mock_screen_orientation_client.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/cache_storage/cache_storage_cache.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/manifest/manifest_manager_host.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/permissions/permission_service_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/browser/quota_dispatcher_host.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/notifications/notification_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/notifications/notification_manager.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/push_messaging/push_provider.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/push_messaging/push_provider.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/quota_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/quota_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_registration_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/child/service_worker/web_service_worker_registration_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/cache_storage_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/cache_storage_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/webserviceworkercachestorage_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/cache_storage/webserviceworkercachestorage_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/presentation/presentation_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/presentation/presentation_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/push_messaging/push_messaging_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/push_messaging/push_messaging_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/screen_orientation/screen_orientation_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/screen_orientation/screen_orientation_dispatcher.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/screen_orientation/screen_orientation_dispatcher_browsertest.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/content/shell/browser/layout_test/layout_test_permission_manager.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/extensions/browser/api/networking_private/networking_private_service_client.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/storage/browser/fileapi/file_system_operation_runner.cc
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/storage/browser/fileapi/file_system_operation_runner.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/Cache.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/CacheStorage.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/CacheTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/cachestorage/InspectorCacheStorageAgent.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/presentation/PresentationReceiverTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/push_messaging/PushManager.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientation.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationController.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationController.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerClients.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerRegistration.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerWindowClient.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeClientImpl.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeClientImpl.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/Source/web/WebEmbeddedWorkerImplTest.cpp
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/notifications/WebNotificationManager.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/presentation/WebPresentationClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/push_messaging/WebPushClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/push_messaging/WebPushProvider.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationClient.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerCache.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerCacheStorage.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerProvider.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerRegistration.h
[modify] https://crrev.com/6eada0329b5e51ab20254aa20c37fbee6288dff1/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextClient.h

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de24c6dcd7173b5ea020223b22e0081c0f60e7d1

commit de24c6dcd7173b5ea020223b22e0081c0f60e7d1
Author: rlanday <rlanday@chromium.org>
Date: Thu Dec 01 03:05:40 2016

Part 2 of base::IDMap refactor to eliminate IDMapOwnPointer/IDMapExternalPointer modes

Now callers directly specify what type of pointer they want IDMap to
hold using the template parameter.

Part 1 is at https://codereview.chromium.org/2480293004/

BUG= 647091 

TBR=dbeam (for chrome/browser/ui/webui/options/certificate_manager_handler.cc)
TBR=jam (for all other non-base/ changes)

Review-Url: https://codereview.chromium.org/2496653002
Cr-Commit-Position: refs/heads/master@{#435539}

[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/android_webview/browser/aw_permission_manager.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/android_webview/native/aw_contents_client_bridge.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/android_webview/native/aw_contents_client_bridge.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/base/id_map.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/base/id_map_unittest.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/android/compositor/layer_title_cache.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/android/compositor/layer_title_cache.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/android/service_tab_launcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/media/android/router/media_router_android.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/media/cast_transport_host_filter.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/metrics/subprocess_metrics_provider.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/permissions/permission_manager.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/service_process/service_process_control.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/blocked_content/popup_blocker_tab_helper.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/tab_contents/core_tab_helper.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/webui/cookies_tree_model_util.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/webui/options/certificate_manager_handler.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/browser/ui/webui/settings/certificates_handler.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/chrome/renderer/media/cast_ipc_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/components/drive/job_scheduler.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/components/gcm_driver/instance_id/instance_id_android.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/components/spellcheck/renderer/spellcheck_provider.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/cache_storage/cache_storage_cache.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/gpu/gpu_process_host_ui_shim.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/manifest/manifest_manager_host.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/permissions/permission_service_impl.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/quota_dispatcher_host.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/appcache/web_application_cache_host_impl.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/notifications/notification_manager.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/push_messaging/push_provider.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/quota_dispatcher.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/quota_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/public/browser/desktop_media_id.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/public/browser/render_process_host.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/public/test/mock_render_process_host.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/public/test/mock_render_process_host.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/browser_plugin/browser_plugin_manager.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/browser_plugin/browser_plugin_manager.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/cache_storage/cache_storage_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/dom_storage/webstoragearea_impl.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/java/gin_java_bridge_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/media/audio_input_message_filter.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/media/audio_input_message_filter.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/media/audio_message_filter.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/media/audio_message_filter.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/media/renderer_webmediaplayer_delegate.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/media/renderer_webmediaplayer_delegate.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/p2p/socket_dispatcher.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/p2p/socket_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/presentation/presentation_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/push_messaging/push_messaging_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/render_frame_impl.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/screen_orientation/screen_orientation_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/service_worker/embedded_worker_dispatcher.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/content/shell/browser/layout_test/layout_test_permission_manager.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/extensions/browser/api/networking_private/networking_private_service_client.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/ipc/message_router.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/storage/browser/fileapi/file_system_operation_runner.h
[modify] https://crrev.com/de24c6dcd7173b5ea020223b22e0081c0f60e7d1/ui/ozone/platform/headless/headless_window_manager.h

Status: Verified (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/82e601f9fcd894f16fb9e4df96f71d7fc5af83f8

commit 82e601f9fcd894f16fb9e4df96f71d7fc5af83f8
Author: sungmann.cho <sungmann.cho@navercorp.com>
Date: Fri Feb 17 04:43:13 2017

Revise the comment on base::IDMap::Replace()

IDMapOwnPointer mode was removed at https://codereview.chromium.org/2496653002,
but that mode is still mentioned in the comment on base::IDMap::Replace(). That
should be removed.

BUG= 647091 

Review-Url: https://codereview.chromium.org/2695393002
Cr-Commit-Position: refs/heads/master@{#451216}

[modify] https://crrev.com/82e601f9fcd894f16fb9e4df96f71d7fc5af83f8/base/id_map.h

Sign in to add a comment