diff options
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/renderer_host/render_widget_host_view_base.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc index 0124030..9390c1e 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc @@ -216,7 +216,6 @@ void RenderWidgetHostViewBase::MovePluginWindowsHelper( unsigned long flags = 0; const webkit::npapi::WebPluginGeometry& move = moves[i]; HWND window = move.window; - CHECK(WebPluginDelegateImpl::IsPluginDelegateWindow(window)); // As the plugin parent window which lives on the browser UI thread is // destroyed asynchronously, it is possible that we have a stale window @@ -228,6 +227,13 @@ void RenderWidgetHostViewBase::MovePluginWindowsHelper( if (!::IsWindow(window)) continue; + if (!WebPluginDelegateImpl::IsPluginDelegateWindow(window)) { + // The renderer should only be trying to move plugin windows. However, + // this may happen as a result of a race condition (i.e. even after the + // check right above), so we ignore it. + continue; + } + if (oop_plugins) { if (cur_parent == WebPluginDelegateImpl::GetDefaultWindowParent()) { // The plugin window hasn't been parented yet, add an intermediate |