Index: content/browser/gpu/gpu_process_host.cc |
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc |
index ad9cafeba40a9b096cb1ce6a1ad266606494d694..cd91c0f6faead56e6da27403ad20dade9958f0da 100644 |
--- a/content/browser/gpu/gpu_process_host.cc |
+++ b/content/browser/gpu/gpu_process_host.cc |
@@ -636,25 +636,28 @@ bool GpuProcessHost::OnMessageReceived(const IPC::Message& message) { |
void GpuProcessHost::OnAcceleratedSurfaceCreatedChildWindow( |
const gfx::PluginWindowHandle& parent_handle, |
const gfx::PluginWindowHandle& window_handle) { |
- DCHECK(process_); |
- { |
- DWORD process_id = 0; |
- DWORD thread_id = GetWindowThreadProcessId(parent_handle, &process_id); |
- |
- if (!thread_id || process_id != ::GetCurrentProcessId()) { |
- process_->TerminateOnBadMessageReceived( |
- GpuHostMsg_AcceleratedSurfaceCreatedChildWindow::ID); |
- return; |
+ if (!in_process_) { |
+ DCHECK(process_); |
+ { |
+ DWORD process_id = 0; |
+ DWORD thread_id = GetWindowThreadProcessId(parent_handle, &process_id); |
+ |
+ if (!thread_id || process_id != ::GetCurrentProcessId()) { |
+ process_->TerminateOnBadMessageReceived( |
+ GpuHostMsg_AcceleratedSurfaceCreatedChildWindow::ID); |
+ return; |
+ } |
} |
- } |
- { |
- DWORD process_id = 0; |
- DWORD thread_id = GetWindowThreadProcessId(window_handle, &process_id); |
- if (!thread_id || process_id != process_->GetProcess().Pid()) { |
- process_->TerminateOnBadMessageReceived( |
- GpuHostMsg_AcceleratedSurfaceCreatedChildWindow::ID); |
- return; |
+ { |
+ DWORD process_id = 0; |
+ DWORD thread_id = GetWindowThreadProcessId(window_handle, &process_id); |
+ |
+ if (!thread_id || process_id != process_->GetProcess().Pid()) { |
+ process_->TerminateOnBadMessageReceived( |
+ GpuHostMsg_AcceleratedSurfaceCreatedChildWindow::ID); |
+ return; |
+ } |
} |
} |