diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2014-05-16 13:34:31 +0200 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2014-05-16 16:43:03 +0200 |
commit | 1b5dc494c6547be044ab5fed57dc0419bba3f950 (patch) | |
tree | 649d92a3968aaee4a6d8f3e87f4e6e2e68f2c63a /chromium/content/browser | |
parent | d120343b2a61e12e406117adcbe014217182342f (diff) | |
download | qtwebengine-chromium-1b5dc494c6547be044ab5fed57dc0419bba3f950.tar.gz |
Fix Renderer and GPU threads on windows
These threads are using the UI message loop on Windows per default. This
won't work since the UI message loop is handled by Qt and the Renderer
and GPU threads won't work with it properly.
Force these threads for using the default message loop as they use it on
Linux platform.
Change-Id: Ie3582583e5d1644faa2875e015a0908ba148d91f
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'chromium/content/browser')
-rw-r--r-- | chromium/content/browser/gpu/gpu_process_host.cc | 6 | ||||
-rw-r--r-- | chromium/content/browser/renderer_host/render_process_host_impl.cc | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/chromium/content/browser/gpu/gpu_process_host.cc b/chromium/content/browser/gpu/gpu_process_host.cc index 1b7da1c8d7c..c28ba8b7499 100644 --- a/chromium/content/browser/gpu/gpu_process_host.cc +++ b/chromium/content/browser/gpu/gpu_process_host.cc @@ -577,7 +577,13 @@ bool GpuProcessHost::Init() { switches::kDisableGpuWatchdog); in_process_gpu_thread_.reset(g_gpu_main_thread_factory(channel_id)); +#if defined(OS_WIN) && defined(TOOLKIT_QT) + base::Thread::Options options; + options.message_loop_type = base::MessageLoop::TYPE_DEFAULT; + in_process_gpu_thread_->StartWithOptions(options); +#else in_process_gpu_thread_->Start(); +#endif OnProcessLaunched(); // Fake a callback that the process is ready. } else if (!LaunchGpuProcess(channel_id)) { diff --git a/chromium/content/browser/renderer_host/render_process_host_impl.cc b/chromium/content/browser/renderer_host/render_process_host_impl.cc index 5d975e9119d..b5a5c497106 100644 --- a/chromium/content/browser/renderer_host/render_process_host_impl.cc +++ b/chromium/content/browser/renderer_host/render_process_host_impl.cc @@ -512,7 +512,7 @@ bool RenderProcessHostImpl::Init() { in_process_renderer_.reset(g_renderer_main_thread_factory(channel_id)); base::Thread::Options options; -#if defined(OS_WIN) && !defined(OS_MACOSX) +#if defined(OS_WIN) && !defined(OS_MACOSX) && !defined(TOOLKIT_QT) // In-process plugins require this to be a UI message loop. options.message_loop_type = base::MessageLoop::TYPE_UI; #else |