| Index: ppapi/proxy/plugin_dispatcher.cc
|
| diff --git a/ppapi/proxy/plugin_dispatcher.cc b/ppapi/proxy/plugin_dispatcher.cc
|
| index 2bed85969f0620eef890216a07a27a616c371de7..a45cc12d983bf0d95e144cfdde27aaf833a4c451 100644
|
| --- a/ppapi/proxy/plugin_dispatcher.cc
|
| +++ b/ppapi/proxy/plugin_dispatcher.cc
|
| @@ -43,10 +43,18 @@ InstanceToDispatcherMap* g_instance_to_dispatcher = NULL;
|
| } // namespace
|
|
|
| InstanceData::InstanceData()
|
| - : fullscreen(PP_FALSE), flash_fullscreen(PP_FALSE) {
|
| + : fullscreen(PP_FALSE),
|
| + flash_fullscreen(PP_FALSE),
|
| + mouse_lock_callback(PP_BlockUntilComplete()) {
|
| memset(&position, 0, sizeof(position));
|
| }
|
|
|
| +InstanceData::~InstanceData() {
|
| + // Run any pending mouse lock callback to prevent leaks.
|
| + if (mouse_lock_callback.func)
|
| + PP_RunAndClearCompletionCallback(&mouse_lock_callback, PP_ERROR_ABORTED);
|
| +}
|
| +
|
| PluginDispatcher::PluginDispatcher(base::ProcessHandle remote_process_handle,
|
| GetInterfaceFunc get_interface)
|
| : Dispatcher(remote_process_handle, get_interface),
|
|
|