diff options
author | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-31 23:14:27 +0000 |
---|---|---|
committer | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-31 23:14:27 +0000 |
commit | 1eaa5479c4a0a2a4667bfd4a73b0d2892dd18d6d (patch) | |
tree | 5d6554291d650602264feb2df80ab53073344141 /content/browser/plugin_service_impl.h | |
parent | a60adb56fb30b9e00116e425219e486d6ade6ef9 (diff) | |
download | chromium_src-1eaa5479c4a0a2a4667bfd4a73b0d2892dd18d6d.zip chromium_src-1eaa5479c4a0a2a4667bfd4a73b0d2892dd18d6d.tar.gz chromium_src-1eaa5479c4a0a2a4667bfd4a73b0d2892dd18d6d.tar.bz2 |
Revert 179987
Caused memory leak:
Leak_DefinitelyLost
4,196 (1,600 direct, 2,596 indirect) bytes in 4 blocks are definitely lost in loss record 608 of 639
operator new(unsigned long) (m_replacemalloc/vg_replace_malloc.c:1140)
IPC::SyncChannel::SyncChannel(IPC::ChannelHandle const&, IPC::Channel::Mode, IPC::Listener*, base::SingleThreadTaskRunner*, bool, base::WaitableEvent*) (ipc/ipc_sync_channel.cc:410)
(anonymous namespace)::RestrictedDispatchPipeWorker::Run() (ipc/ipc_sync_channel_unittest.cc:1636)
(anonymous namespace)::Worker::OnStart() (ipc/ipc_sync_channel_unittest.cc:176)
Suppression (error hash=#2A77226DFEFF6041#):
For more info on using suppressions see http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Suppressing-memory-reports
{
<insert_a_suppression_name_here>
Memcheck:Leak
fun:_Znw*
fun:_ZN3IPC11SyncChannelC1ERKNS_13ChannelHandleENS_7Channel4ModeEPNS_8ListenerEPN4base22SingleThreadTaskRunnerEbPNS8_13WaitableEventE
fun:_ZN12_GLOBAL__N_128RestrictedDispatchPipeWorker3RunEv
fun:_ZN12_GLOBAL__N_16Worker7OnStartEv
}
15:02:51 memcheck_a
http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%282%29/builds/22101
> Refactor: Simplify WaitableEventWatcher.
>
> This change uses a callback instead of a delegate for specifying what
> should be called when a WaitableEvent occurs.
>
> This simplifies the class and gets rid of a workaround internal to the
> class to prevent name collision on "Delegate" inner classes.
>
> Tested (on linux and windows):
> ninja -C out/Debug chrome
> out/Debug/base_unittests --gtest_filter=*WaitableEventWatcherTest*
>
> BUG=
>
>
> Review URL: https://chromiumcodereview.appspot.com/11953112
TBR=teravest@chromium.org
Review URL: https://codereview.chromium.org/12087120
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179993 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/plugin_service_impl.h')
-rw-r--r-- | content/browser/plugin_service_impl.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/content/browser/plugin_service_impl.h b/content/browser/plugin_service_impl.h index 81ef427..8808c4b 100644 --- a/content/browser/plugin_service_impl.h +++ b/content/browser/plugin_service_impl.h @@ -64,7 +64,8 @@ struct PluginServiceFilterParams { }; class CONTENT_EXPORT PluginServiceImpl - : NON_EXPORTED_BASE(public PluginService) { + : NON_EXPORTED_BASE(public PluginService), + public base::WaitableEventWatcher::Delegate { public: // Returns the PluginServiceImpl singleton. static PluginServiceImpl* GetInstance(); @@ -156,7 +157,9 @@ class CONTENT_EXPORT PluginServiceImpl PluginServiceImpl(); virtual ~PluginServiceImpl(); - void OnWaitableEventSignaled(base::WaitableEvent* waitable_event); + // base::WaitableEventWatcher::Delegate implementation. + virtual void OnWaitableEventSignaled( + base::WaitableEvent* waitable_event) OVERRIDE; // Returns the plugin process host corresponding to the plugin process that // has been started by this service. Returns NULL if no process has been |