diff options
Diffstat (limited to 'Source/WebKit/chromium/src/WebLayerTreeView.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebLayerTreeView.cpp | 80 |
1 files changed, 56 insertions, 24 deletions
diff --git a/Source/WebKit/chromium/src/WebLayerTreeView.cpp b/Source/WebKit/chromium/src/WebLayerTreeView.cpp index d2c0f0c12..3314dc2f5 100644 --- a/Source/WebKit/chromium/src/WebLayerTreeView.cpp +++ b/Source/WebKit/chromium/src/WebLayerTreeView.cpp @@ -26,9 +26,11 @@ #include "config.h" #include "platform/WebLayerTreeView.h" +#include "GraphicsContext3DPrivate.h" #include "WebLayerTreeViewImpl.h" #include "cc/CCLayerTreeHost.h" #include "platform/WebLayer.h" +#include "platform/WebPoint.h" #include "platform/WebRect.h" #include "platform/WebSize.h" @@ -51,11 +53,6 @@ WebLayerTreeView::Settings::operator CCSettings() const return settings; } -WebLayerTreeView WebLayerTreeView::create(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings) -{ - return WebLayerTreeView(WebLayerTreeViewImpl::create(client, root, settings)); -} - void WebLayerTreeView::reset() { m_private.reset(); @@ -71,12 +68,23 @@ bool WebLayerTreeView::equals(const WebLayerTreeView& n) const return (m_private.get() == n.m_private.get()); } -void WebLayerTreeView::composite() +bool WebLayerTreeView::initialize(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings) { - if (CCProxy::hasImplThread()) - m_private->setNeedsCommit(); + m_private = WebLayerTreeViewImpl::create(client, root, settings); + return !isNull(); +} + +void WebLayerTreeView::setRootLayer(WebLayer *root) +{ + if (root) + m_private->setRootLayer(*root); else - m_private->composite(); + m_private->setRootLayer(PassRefPtr<LayerChromium>()); +} + +int WebLayerTreeView::compositorIdentifier() +{ + return m_private->compositorIdentifier(); } void WebLayerTreeView::setViewportSize(const WebSize& viewportSize) @@ -89,38 +97,62 @@ WebSize WebLayerTreeView::viewportSize() const return WebSize(m_private->viewportSize()); } -bool WebLayerTreeView::compositeAndReadback(void *pixels, const WebRect& rect) +void WebLayerTreeView::setVisible(bool visible) { - return m_private->compositeAndReadback(pixels, rect); + m_private->setVisible(visible); } -void WebLayerTreeView::setRootLayer(WebLayer *root) +void WebLayerTreeView::setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum) { - if (root) - m_private->setRootLayer(*root); + m_private->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maximum); +} + +void WebLayerTreeView::startPageScaleAnimation(const WebPoint& scroll, bool useAnchor, float newPageScale, double durationSec) +{ + m_private->startPageScaleAnimation(IntSize(scroll.x, scroll.y), useAnchor, newPageScale, durationSec); +} + +void WebLayerTreeView::setNeedsAnimate() +{ + m_private->setNeedsAnimate(); +} + +void WebLayerTreeView::setNeedsRedraw() +{ + m_private->setNeedsRedraw(); +} + +void WebLayerTreeView::composite() +{ + if (CCProxy::hasImplThread()) + m_private->setNeedsCommit(); else - m_private->setRootLayer(PassRefPtr<LayerChromium>()); + m_private->composite(); +} + +void WebLayerTreeView::updateAnimations(double frameBeginTime) +{ + m_private->updateAnimations(frameBeginTime); } -WebLayerTreeView::WebLayerTreeView(const PassRefPtr<CCLayerTreeHost>& node) - : m_private(node) +bool WebLayerTreeView::compositeAndReadback(void *pixels, const WebRect& rect) { + return m_private->compositeAndReadback(pixels, rect); } -WebLayerTreeView& WebLayerTreeView::operator=(const PassRefPtr<CCLayerTreeHost>& node) +void WebLayerTreeView::finishAllRendering() { - m_private = node; - return *this; + m_private->finishAllRendering(); } -WebLayerTreeView::operator PassRefPtr<CCLayerTreeHost>() const +WebGraphicsContext3D* WebLayerTreeView::context() { - return m_private.get(); + return GraphicsContext3DPrivate::extractWebGraphicsContext3D(m_private->context()); } -void WebLayerTreeView::setNeedsRedraw() +void WebLayerTreeView::loseCompositorContext(int numTimes) { - m_private->setNeedsRedraw(); + m_private->loseContext(numTimes); } } // namespace WebKit |