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

Unified Diff: cc/CCRenderSurface.cpp

Issue 10916307: Add the ubercomp DelegatedRendererLayer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use OwnPtrVector Created 8 years, 3 months 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
« no previous file with comments | « cc/CCRenderSurface.h ('k') | cc/CCRenderSurfaceTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCRenderSurface.cpp
diff --git a/cc/CCRenderSurface.cpp b/cc/CCRenderSurface.cpp
index dfbeeab66001f516db466d632cc74f2e597ebbf3..f4e1d8d6528044ae4ac969a764313e37332b386f 100644
--- a/cc/CCRenderSurface.cpp
+++ b/cc/CCRenderSurface.cpp
@@ -11,6 +11,7 @@
#include "base/stringprintf.h"
#include "CCDamageTracker.h"
#include "CCDebugBorderDrawQuad.h"
+#include "CCDelegatedRendererLayerImpl.h"
#include "CCLayerImpl.h"
#include "CCMathUtil.h"
#include "CCQuadSink.h"
@@ -144,6 +145,19 @@ bool CCRenderSurface::surfacePropertyChangedOnlyFromDescendant() const
return m_surfacePropertyChanged && !m_owningLayer->layerPropertyChanged();
}
+void CCRenderSurface::addContributingDelegatedRenderPassLayer(CCLayerImpl* layer)
+{
+ ASSERT(m_layerList.contains(layer));
+ CCDelegatedRendererLayerImpl* delegatedRendererLayer = static_cast<CCDelegatedRendererLayerImpl*>(layer);
+ m_contributingDelegatedRenderPassLayerList.append(delegatedRendererLayer);
+}
+
+void CCRenderSurface::clearLayerLists()
+{
+ m_layerList.clear();
+ m_contributingDelegatedRenderPassLayerList.clear();
+}
+
static inline IntRect computeClippedRectInTarget(const CCLayerImpl* owningLayer)
{
ASSERT(owningLayer->parent());
@@ -174,6 +188,9 @@ CCRenderPass::Id CCRenderSurface::renderPassId()
void CCRenderSurface::appendRenderPasses(CCRenderPassSink& passSink)
{
+ for (size_t i = 0; i < m_contributingDelegatedRenderPassLayerList.size(); ++i)
+ m_contributingDelegatedRenderPassLayerList[i]->appendContributingRenderPasses(passSink);
+
OwnPtr<CCRenderPass> pass = CCRenderPass::create(renderPassId(), m_contentRect, m_screenSpaceTransform);
pass->setDamageRect(m_damageTracker->currentDamageRect());
pass->setFilters(m_owningLayer->filters());
« no previous file with comments | « cc/CCRenderSurface.h ('k') | cc/CCRenderSurfaceTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698