| Index: content/renderer/renderer_main.cc
|
| diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc
|
| index 31b0781833079d476e37190e38ae867850a430ab..33aa0474134d62b48d285e7ffa9a604a4e32d5be 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;
|
|
|