|
RefCounted types should not have public destructors, delegate cleanup
For Delegate/Observer-type classes that specify an
interface but do not have any particular lifetime
requirements, make their destructors protected. This is to
allow their interfaces to be implemented safely by
RefCounted types. With public destructors, it's possible to
do "scoped_ptr<Delegate> foo", and then assign a
RefCountedDelegateImpl, which would lead to a double free.
As none of these Delegates actually need public destructors
(ownership of the Delegate* is not transferred during a
function call / class constructor), mark the destructors
protected so that it becomes a compile warning to try to
delete them via the Delegate*.
BUG= 123295
TEST=it compiles
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=144086
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+180 lines, -99 lines) |
Patch |
|
M |
chrome/browser/bookmarks/base_bookmark_model_observer.h
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/cancelable_request.h
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/cancelable_request.cc
|
View
|
|
2 chunks |
+11 lines, -11 lines |
0 comments
|
Download
|
|
M |
chrome/browser/content_settings/content_settings_observer.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/extensions/api/downloads/downloads_api.h
|
View
|
1
2
3
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/extensions/app_notify_channel_ui.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/extensions/bundle_installer.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/extensions/extension_pref_value_map.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/browser/extensions/webstore_install_helper.h
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/extensions/webstore_installer.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/history/history.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/browser/nacl_host/nacl_process_host.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/nacl_host/nacl_process_host.cc
|
View
|
1
2
3
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
chrome/browser/policy/policy_service.h
|
View
|
1
2
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/browser/safe_browsing/safe_browsing_service.h
|
View
|
1
2
3
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/common/important_file_writer.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/common/net/gaia/gaia_oauth_client.h
|
View
|
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/common/net/gaia/oauth2_access_token_consumer.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/common/net/gaia/oauth2_mint_token_flow.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/common/pref_store.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/service/cloud_print/cloud_print_url_fetcher.h
|
View
|
1
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/service/cloud_print/print_system.h
|
View
|
|
1 chunk |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
chrome/test/automation/javascript_execution_controller.h
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/test/automation/javascript_execution_controller.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/browser/device_orientation/provider.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/download/download_item_impl.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
content/browser/pepper_flash_settings_helper_impl.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
content/browser/ppapi_plugin_process_host.h
|
View
|
1
2
3
4
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/media/audio_input_device_manager_event_handler.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/ssl/ssl_error_handler.h
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
content/common/gpu/gpu_command_buffer_stub.h
|
View
|
1
2
3
4
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/common/gpu/gpu_watchdog.h
|
View
|
|
1 chunk |
+4 lines, -6 lines |
0 comments
|
Download
|
|
M |
content/common/gpu/image_transport_surface.h
|
View
|
1
2
3
4
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
content/public/browser/download_manager_delegate.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/public/browser/download_manager_delegate.cc
|
View
|
1
2
3
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/public/browser/profiler_subscriber.h
|
View
|
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/public/browser/worker_service_observer.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/public/renderer/render_view.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/renderer/media/scoped_loop_observer.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
content/renderer/pepper/pepper_parent_context_provider.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
ipc/ipc_channel.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
media/audio/audio_input_controller.h
|
View
|
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
media/audio/audio_io.h
|
View
|
|
4 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
media/audio/audio_output_controller.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
media/base/data_source.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
media/base/demuxer.h
|
View
|
1
2
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
media/filters/ffmpeg_glue.h
|
View
|
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
media/video/capture/video_capture.h
|
View
|
1
2
3
4
|
3 chunks |
+7 lines, -2 lines |
0 comments
|
Download
|
|
M |
media/video/video_decode_accelerator.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
media/webm/webm_stream_parser.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
ppapi/proxy/host_dispatcher.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
remoting/client/frame_consumer.h
|
View
|
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
remoting/client/frame_producer.h
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
remoting/host/client_session.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
remoting/protocol/session_manager.h
|
View
|
|
3 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
Total messages: 30 (0 generated)
|