Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Unified Diff: webkit/compositor_bindings/web_layer_tree_view_impl.cc

Issue 11232051: Remove static thread pointers from CC (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix unit test hang by explicitly NULLing out impl_thread_message_loop_proxy_ Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698