diff options
Diffstat (limited to 'content/renderer/renderer_main.cc')
-rw-r--r-- | content/renderer/renderer_main.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc index 31b0781..33aa047 100644 --- a/content/renderer/renderer_main.cc +++ b/content/renderer/renderer_main.cc @@ -45,6 +45,7 @@ #include "base/mac/mac_util.h" #include "base/mac/scoped_nsautorelease_pool.h" +#include "base/message_loop/message_pump_mac.h" #include "third_party/WebKit/public/web/WebView.h" #endif // OS_MACOSX @@ -158,9 +159,11 @@ int RendererMain(const MainFunctionParams& parameters) { RendererMessageLoopObserver task_observer; #if defined(OS_MACOSX) - // As long as we use Cocoa in the renderer (for the forseeable future as of - // now; see http://crbug.com/306348 for info) we need to have a UI loop. - base::MessageLoopForUI main_message_loop; + // As long as scrollbars on Mac are painted with Cocoa, the message pump + // needs to be backed by a Foundation-level loop to process NSTimers. See + // http://crbug.com/306348#c24 for details. + scoped_ptr<base::MessagePump> pump(new base::MessagePumpNSRunLoop()); + base::MessageLoop main_message_loop(pump.Pass()); #else // The main message loop of the renderer services doesn't have IO or UI tasks. base::MessageLoop main_message_loop; |