summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/test/data/reliability/known_crashes.txt3
-rw-r--r--webkit/glue/plugins/webplugin_delegate_impl_win.cc15
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;
}