diff options
-rw-r--r-- | chrome/test/data/reliability/known_crashes.txt | 3 | ||||
-rw-r--r-- | webkit/glue/plugins/webplugin_delegate_impl_win.cc | 15 |
2 files changed, 7 insertions, 11 deletions
diff --git a/chrome/test/data/reliability/known_crashes.txt b/chrome/test/data/reliability/known_crashes.txt index aa6b9c3..156f365 100644 --- a/chrome/test/data/reliability/known_crashes.txt +++ b/chrome/test/data/reliability/known_crashes.txt @@ -149,9 +149,6 @@ PREFIX : malloc___webplugindelegateimpl::flashwindowlesswndproc___npapi::plugini # 29759 PREFIX : webcore::imageeventsender::dispatchpendingevents -# 30607 -SUBSTRING : _invalid_parameter_noinfo___std::vector<char,std::allocator<char> >::clear___WebCursor::InitFromCursorInfo___WebCursor::InitFromExternalCursor - # 30681 PREFIX : std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign___cldhelper::language___tabcontents::observe___notificationservice::notify___cldhelper::detectiondone___messageloop::runtask___messageloop::dowork___base::messagepumpforui::dorunloop___base::messagepumpwin::runwithdispatcher___messageloop::runinternal___messageloopforui::run___`anonymous namespace'::runuimessageloop___browsermain___chromemain___maindllloader::launch___wwinmain_____tmaincrtstartup diff --git a/webkit/glue/plugins/webplugin_delegate_impl_win.cc b/webkit/glue/plugins/webplugin_delegate_impl_win.cc index e3ee2f8..b3eb3fc 100644 --- a/webkit/glue/plugins/webplugin_delegate_impl_win.cc +++ b/webkit/glue/plugins/webplugin_delegate_impl_win.cc @@ -815,12 +815,6 @@ LRESULT CALLBACK WebPluginDelegateImpl::NativeWndProc( return TRUE; } - // Maintain a local/global stack for the g_current_plugin_instance variable - // as this may be a nested invocation. - WebPluginDelegateImpl* last_plugin_instance = g_current_plugin_instance; - - g_current_plugin_instance = delegate; - // Flash may flood the message queue with WM_USER+1 message causing 100% CPU // usage. See https://bugzilla.mozilla.org/show_bug.cgi?id=132759. We // prevent this by throttling the messages. @@ -828,7 +822,6 @@ LRESULT CALLBACK WebPluginDelegateImpl::NativeWndProc( delegate->GetQuirks() & PLUGIN_QUIRK_THROTTLE_WM_USER_PLUS_ONE) { WebPluginDelegateImpl::ThrottleMessage(delegate->plugin_wnd_proc_, hwnd, message, wparam, lparam); - g_current_plugin_instance = last_plugin_instance; return FALSE; } @@ -880,8 +873,15 @@ LRESULT CALLBACK WebPluginDelegateImpl::NativeWndProc( kWindowedPluginPopupTimerMs); } + // Maintain a local/global stack for the g_current_plugin_instance variable + // as this may be a nested invocation. + WebPluginDelegateImpl* last_plugin_instance = g_current_plugin_instance; + + g_current_plugin_instance = delegate; + result = CallWindowProc( delegate->plugin_wnd_proc_, hwnd, message, wparam, lparam); + delegate->is_calling_wndproc = false; g_current_plugin_instance = last_plugin_instance; @@ -894,7 +894,6 @@ LRESULT CALLBACK WebPluginDelegateImpl::NativeWndProc( ClearThrottleQueueForWindow(hwnd); } } - delegate->last_message_ = old_message; return result; } |