diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2014-05-16 13:34:31 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@theqtcompany.com> | 2014-12-09 10:54:27 +0100 |
commit | 5d9c49272fcc780ae66355dc8429b26d61a6fc86 (patch) | |
tree | 4a9a9783742b581fa4f5617ce3114b4b2f562921 | |
parent | 1598d3566c7a8eae1f10acc168f7abfce9f133c5 (diff) | |
download | qtwebengine-chromium-5d9c49272fcc780ae66355dc8429b26d61a6fc86.tar.gz |
<chromium> 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: I8b04ba9070912378cf1d13173ddff48e98f9a49b
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
-rw-r--r-- | chromium/content/browser/browser_main_loop.cc | 2 | ||||
-rw-r--r-- | chromium/content/browser/renderer_host/render_process_host_impl.cc | 2 | ||||
-rw-r--r-- | chromium/content/renderer/renderer_main.cc | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/chromium/content/browser/browser_main_loop.cc b/chromium/content/browser/browser_main_loop.cc index c7dd81bcf36..af47b77c820 100644 --- a/chromium/content/browser/browser_main_loop.cc +++ b/chromium/content/browser/browser_main_loop.cc @@ -680,7 +680,7 @@ int BrowserMainLoop::CreateThreads() { "BrowserMainLoop::CreateThreads:start", "Thread", "BrowserThread::FILE"); thread_to_start = &file_thread_; -#if defined(OS_WIN) +#if defined(OS_WIN) && !defined(TOOLKIT_QT) // On Windows, the FILE thread needs to be have a UI message loop // which pumps messages in such a way that Google Update can // communicate back to us. 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 c582a6e97a6..f8040723f2a 100644 --- a/chromium/content/browser/renderer_host/render_process_host_impl.cc +++ b/chromium/content/browser/renderer_host/render_process_host_impl.cc @@ -594,7 +594,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 diff --git a/chromium/content/renderer/renderer_main.cc b/chromium/content/renderer/renderer_main.cc index 706480c5f88..1904816045b 100644 --- a/chromium/content/renderer/renderer_main.cc +++ b/chromium/content/renderer/renderer_main.cc @@ -149,6 +149,8 @@ int RendererMain(const MainFunctionParams& parameters) { // http://crbug.com/306348#c24 for details. scoped_ptr<base::MessagePump> pump(new base::MessagePumpNSRunLoop()); base::MessageLoop main_message_loop(pump.Pass()); +#elif defined(OS_WIN) && defined(TOOLKIT_QT) + base::MessageLoop main_message_loop(base::MessageLoop::TYPE_DEFAULT); #else // The main message loop of the renderer services doesn't have IO or UI tasks. base::MessageLoop main_message_loop; |