Index: webkit/compositor_bindings/web_layer_tree_view_impl.cc |
diff --git a/webkit/compositor_bindings/web_layer_tree_view_impl.cc b/webkit/compositor_bindings/web_layer_tree_view_impl.cc |
index 742ad116ef5a946e7214257704ec495e5efed008..8e865c7720f8654472cc68cdeb63f2d180a28be4 100644 |
--- a/webkit/compositor_bindings/web_layer_tree_view_impl.cc |
+++ b/webkit/compositor_bindings/web_layer_tree_view_impl.cc |
@@ -9,6 +9,7 @@ |
#include "cc/input_handler.h" |
#include "cc/layer.h" |
#include "cc/layer_tree_host.h" |
+#include "cc/thread.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebInputHandler.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebLayer.h" |
@@ -27,7 +28,7 @@ namespace WebKit { |
WebLayerTreeView* WebLayerTreeView::create(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings) |
{ |
scoped_ptr<WebLayerTreeViewImpl> layerTreeViewImpl(new WebLayerTreeViewImpl(client)); |
- if (!layerTreeViewImpl->initialize(settings)) |
+ if (!layerTreeViewImpl->initialize(settings, scoped_ptr<Thread>(NULL))) |
return 0; |
layerTreeViewImpl->setRootLayer(root); |
return layerTreeViewImpl.release(); |
@@ -35,6 +36,7 @@ WebLayerTreeView* WebLayerTreeView::create(WebLayerTreeViewClient* client, const |
WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client) |
: m_client(client) |
+ , m_hasImplThread(false) |
{ |
} |
@@ -42,7 +44,7 @@ WebLayerTreeViewImpl::~WebLayerTreeViewImpl() |
{ |
} |
-bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSettings) |
+bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSettings, scoped_ptr<Thread> implThread) |
{ |
LayerTreeSettings settings; |
settings.acceleratePainting = webSettings.acceleratePainting; |
@@ -53,7 +55,9 @@ bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSetti |
settings.refreshRate = webSettings.refreshRate; |
settings.defaultTileSize = webSettings.defaultTileSize; |
settings.maxUntiledLayerSize = webSettings.maxUntiledLayerSize; |
- m_layerTreeHost = LayerTreeHost::create(this, settings); |
+ m_layerTreeHost = LayerTreeHost::create(this, settings, implThread.Pass()); |
+ if (implThread) |
+ m_hasImplThread = true; |
if (!m_layerTreeHost.get()) |
return false; |
return true; |
@@ -150,7 +154,7 @@ bool WebLayerTreeViewImpl::commitRequested() const |
void WebLayerTreeViewImpl::composite() |
{ |
- if (Proxy::hasImplThread()) |
+ if (m_hasImplThread) |
m_layerTreeHost->setNeedsCommit(); |
else |
m_layerTreeHost->composite(); |