| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index 85cc17f6923e4cdeca090465f4cdcf5dfceffa1b..545dba014b452775d9ea9d9fd3e3b43b74f92ff2 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -324,7 +324,6 @@ void RenderThreadImpl::Init() {
|
| idle_notifications_to_skip_ = 0;
|
| should_send_focus_ipcs_ = true;
|
| short_circuit_size_updates_ = false;
|
| - compositor_initialized_ = false;
|
|
|
| appcache_dispatcher_.reset(new AppCacheDispatcher(Get()));
|
| dom_storage_dispatcher_.reset(new DomStorageDispatcher());
|
| @@ -411,10 +410,6 @@ RenderThreadImpl::~RenderThreadImpl() {
|
| compositor_output_surface_filter_ = NULL;
|
| }
|
|
|
| - if (compositor_initialized_) {
|
| - WebKit::Platform::current()->compositorSupport()->shutdown();
|
| - compositor_initialized_ = false;
|
| - }
|
| if (compositor_thread_.get()) {
|
| RemoveFilter(compositor_thread_->GetMessageFilter());
|
| compositor_thread_.reset();
|
| @@ -601,26 +596,22 @@ void RenderThreadImpl::EnsureWebKitInitialized() {
|
| WebKit::setIDBFactory(
|
| webkit_platform_support_.get()->idbFactory());
|
|
|
| - WebKit::WebCompositorSupport* compositor_support =
|
| - WebKit::Platform::current()->compositorSupport();
|
| const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
|
|
| bool enable = command_line.HasSwitch(switches::kEnableThreadedCompositing);
|
| if (enable) {
|
| compositor_thread_.reset(new CompositorThread(this));
|
| AddFilter(compositor_thread_->GetMessageFilter());
|
| - compositor_support->initialize(compositor_thread_->GetWebThread());
|
| - } else {
|
| - compositor_support->initialize(NULL);
|
| }
|
| - compositor_initialized_ = true;
|
|
|
| - MessageLoop* output_surface_loop = enable ?
|
| - compositor_thread_->message_loop() :
|
| - MessageLoop::current();
|
| + base::MessageLoopProxy* output_surface_loop;
|
| + if (enable)
|
| + output_surface_loop = compositor_thread_->message_loop_proxy();
|
| + else
|
| + output_surface_loop = base::MessageLoopProxy::current();
|
|
|
| - compositor_output_surface_filter_ = CompositorOutputSurface::CreateFilter(
|
| - output_surface_loop->message_loop_proxy());
|
| + compositor_output_surface_filter_ =
|
| + CompositorOutputSurface::CreateFilter(output_surface_loop);
|
| AddFilter(compositor_output_surface_filter_.get());
|
|
|
| WebScriptController::enableV8SingleThreadMode();
|
| @@ -887,7 +878,7 @@ void RenderThreadImpl::OnGpuVDAContextLoss() {
|
| if (!self->gpu_vda_context3d_.get())
|
| return;
|
| if (self->compositor_thread()) {
|
| - self->compositor_thread()->GetWebThread()->message_loop()->DeleteSoon(
|
| + self->compositor_thread()->message_loop_proxy()->DeleteSoon(
|
| FROM_HERE, self->gpu_vda_context3d_.release());
|
| } else {
|
| self->gpu_vda_context3d_.reset();
|
|
|