| 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();
|
|
|