Index: cc/occlusion_tracker.cc |
diff --git a/cc/occlusion_tracker.cc b/cc/occlusion_tracker.cc |
index 39d7efe07db7bcc6e6a6dc9fc6cbbdccb68ba1ed..6bed21b7c6e7e21b075dc96d054c01bae6afeae7 100644 |
--- a/cc/occlusion_tracker.cc |
+++ b/cc/occlusion_tracker.cc |
@@ -18,15 +18,15 @@ using WebKit::WebTransformationMatrix; |
namespace cc { |
template<typename LayerType, typename RenderSurfaceType> |
-CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::CCOcclusionTrackerBase(IntRect rootTargetRect, bool recordMetricsForFrame) |
+OcclusionTrackerBase<LayerType, RenderSurfaceType>::OcclusionTrackerBase(IntRect rootTargetRect, bool recordMetricsForFrame) |
: m_rootTargetRect(rootTargetRect) |
- , m_overdrawMetrics(CCOverdrawMetrics::create(recordMetricsForFrame)) |
+ , m_overdrawMetrics(OverdrawMetrics::create(recordMetricsForFrame)) |
, m_occludingScreenSpaceRects(0) |
{ |
} |
template<typename LayerType, typename RenderSurfaceType> |
-void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::enterLayer(const CCLayerIteratorPosition<LayerType>& layerIterator) |
+void OcclusionTrackerBase<LayerType, RenderSurfaceType>::enterLayer(const LayerIteratorPosition<LayerType>& layerIterator) |
{ |
LayerType* renderTarget = layerIterator.targetRenderSurfaceLayer; |
@@ -37,7 +37,7 @@ void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::enterLayer(const CCLa |
} |
template<typename LayerType, typename RenderSurfaceType> |
-void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::leaveLayer(const CCLayerIteratorPosition<LayerType>& layerIterator) |
+void OcclusionTrackerBase<LayerType, RenderSurfaceType>::leaveLayer(const LayerIteratorPosition<LayerType>& layerIterator) |
{ |
LayerType* renderTarget = layerIterator.targetRenderSurfaceLayer; |
@@ -48,7 +48,7 @@ void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::leaveLayer(const CCLa |
} |
template<typename LayerType, typename RenderSurfaceType> |
-void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::enterRenderTarget(const LayerType* newTarget) |
+void OcclusionTrackerBase<LayerType, RenderSurfaceType>::enterRenderTarget(const LayerType* newTarget) |
{ |
if (!m_stack.isEmpty() && m_stack.last().target == newTarget) |
return; |
@@ -59,8 +59,8 @@ void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::enterRenderTarget(con |
m_stack.append(StackObject(newTarget)); |
- // We copy the screen occlusion into the new RenderSurface subtree, but we never copy in the |
- // target occlusion, since we are looking at a new RenderSurface target. |
+ // We copy the screen occlusion into the new RenderSurfaceImpl subtree, but we never copy in the |
+ // target occlusion, since we are looking at a new RenderSurfaceImpl target. |
// If we are entering a subtree that is going to move pixels around, then the occlusion we've computed |
// so far won't apply to the pixels we're drawing here in the same way. We discard the occlusion thus |
@@ -74,25 +74,25 @@ void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::enterRenderTarget(con |
} |
} |
-static inline bool layerOpacityKnown(const LayerChromium* layer) { return !layer->drawOpacityIsAnimating(); } |
-static inline bool layerOpacityKnown(const CCLayerImpl*) { return true; } |
-static inline bool layerTransformsToTargetKnown(const LayerChromium* layer) { return !layer->drawTransformIsAnimating(); } |
-static inline bool layerTransformsToTargetKnown(const CCLayerImpl*) { return true; } |
-static inline bool layerTransformsToScreenKnown(const LayerChromium* layer) { return !layer->screenSpaceTransformIsAnimating(); } |
-static inline bool layerTransformsToScreenKnown(const CCLayerImpl*) { return true; } |
+static inline bool layerOpacityKnown(const Layer* layer) { return !layer->drawOpacityIsAnimating(); } |
+static inline bool layerOpacityKnown(const LayerImpl*) { return true; } |
+static inline bool layerTransformsToTargetKnown(const Layer* layer) { return !layer->drawTransformIsAnimating(); } |
+static inline bool layerTransformsToTargetKnown(const LayerImpl*) { return true; } |
+static inline bool layerTransformsToScreenKnown(const Layer* layer) { return !layer->screenSpaceTransformIsAnimating(); } |
+static inline bool layerTransformsToScreenKnown(const LayerImpl*) { return true; } |
-static inline bool surfaceOpacityKnown(const RenderSurfaceChromium* surface) { return !surface->drawOpacityIsAnimating(); } |
-static inline bool surfaceOpacityKnown(const CCRenderSurface*) { return true; } |
-static inline bool surfaceTransformsToTargetKnown(const RenderSurfaceChromium* surface) { return !surface->targetSurfaceTransformsAreAnimating(); } |
-static inline bool surfaceTransformsToTargetKnown(const CCRenderSurface*) { return true; } |
-static inline bool surfaceTransformsToScreenKnown(const RenderSurfaceChromium* surface) { return !surface->screenSpaceTransformsAreAnimating(); } |
-static inline bool surfaceTransformsToScreenKnown(const CCRenderSurface*) { return true; } |
+static inline bool surfaceOpacityKnown(const RenderSurface* surface) { return !surface->drawOpacityIsAnimating(); } |
+static inline bool surfaceOpacityKnown(const RenderSurfaceImpl*) { return true; } |
+static inline bool surfaceTransformsToTargetKnown(const RenderSurface* surface) { return !surface->targetSurfaceTransformsAreAnimating(); } |
+static inline bool surfaceTransformsToTargetKnown(const RenderSurfaceImpl*) { return true; } |
+static inline bool surfaceTransformsToScreenKnown(const RenderSurface* surface) { return !surface->screenSpaceTransformsAreAnimating(); } |
+static inline bool surfaceTransformsToScreenKnown(const RenderSurfaceImpl*) { return true; } |
-static inline bool layerIsInUnsorted3dRenderingContext(const LayerChromium* layer) { return layer->parent() && layer->parent()->preserves3D(); } |
-static inline bool layerIsInUnsorted3dRenderingContext(const CCLayerImpl*) { return false; } |
+static inline bool layerIsInUnsorted3dRenderingContext(const Layer* layer) { return layer->parent() && layer->parent()->preserves3D(); } |
+static inline bool layerIsInUnsorted3dRenderingContext(const LayerImpl*) { return false; } |
template<typename LayerType, typename RenderSurfaceType> |
-void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::finishedRenderTarget(const LayerType* finishedTarget) |
+void OcclusionTrackerBase<LayerType, RenderSurfaceType>::finishedRenderTarget(const LayerType* finishedTarget) |
{ |
// Make sure we know about the target surface. |
enterRenderTarget(finishedTarget); |
@@ -118,7 +118,7 @@ static inline Region transformSurfaceOpaqueRegion(const RenderSurfaceType* surfa |
// apply |transform| to each rect within |region| in order to transform the entire Region. |
bool clipped; |
- FloatQuad transformedBoundsQuad = CCMathUtil::mapQuad(transform, FloatQuad(region.bounds()), clipped); |
+ FloatQuad transformedBoundsQuad = MathUtil::mapQuad(transform, FloatQuad(region.bounds()), clipped); |
// FIXME: Find a rect interior to each transformed quad. |
if (clipped || !transformedBoundsQuad.isRectilinear()) |
return Region(); |
@@ -128,7 +128,7 @@ static inline Region transformSurfaceOpaqueRegion(const RenderSurfaceType* surfa |
Vector<WebCore::IntRect> rects = region.rects(); |
for (size_t i = 0; i < rects.size(); ++i) { |
// We've already checked for clipping in the mapQuad call above, these calls should not clip anything further. |
- IntRect transformedRect = enclosedIntRect(CCMathUtil::mapClippedRect(transform, FloatRect(rects[i]))); |
+ IntRect transformedRect = enclosedIntRect(MathUtil::mapClippedRect(transform, FloatRect(rects[i]))); |
if (!surface->clipRect().isEmpty()) |
transformedRect.intersect(surface->clipRect()); |
transformedRegion.unite(transformedRect); |
@@ -180,7 +180,7 @@ static void reduceOcclusionBelowSurface(LayerType* contributingLayer, const IntR |
if (surfaceRect.isEmpty()) |
return; |
- IntRect boundsInTarget = enclosingIntRect(CCMathUtil::mapClippedRect(surfaceTransform, FloatRect(surfaceRect))); |
+ IntRect boundsInTarget = enclosingIntRect(MathUtil::mapClippedRect(surfaceTransform, FloatRect(surfaceRect))); |
if (!contributingLayer->renderSurface()->clipRect().isEmpty()) |
boundsInTarget.intersect(contributingLayer->renderSurface()->clipRect()); |
@@ -191,22 +191,22 @@ static void reduceOcclusionBelowSurface(LayerType* contributingLayer, const IntR |
boundsInTarget.move(-outsetLeft, -outsetTop); |
boundsInTarget.expand(outsetLeft + outsetRight, outsetTop + outsetBottom); |
- IntRect boundsInScreen = enclosingIntRect(CCMathUtil::mapClippedRect(renderTarget->renderSurface()->screenSpaceTransform(), FloatRect(boundsInTarget))); |
+ IntRect boundsInScreen = enclosingIntRect(MathUtil::mapClippedRect(renderTarget->renderSurface()->screenSpaceTransform(), FloatRect(boundsInTarget))); |
IntRect filterOutsetsInTarget(-outsetLeft, -outsetTop, outsetLeft + outsetRight, outsetTop + outsetBottom); |
- IntRect filterOutsetsInScreen = enclosingIntRect(CCMathUtil::mapClippedRect(renderTarget->renderSurface()->screenSpaceTransform(), FloatRect(filterOutsetsInTarget))); |
+ IntRect filterOutsetsInScreen = enclosingIntRect(MathUtil::mapClippedRect(renderTarget->renderSurface()->screenSpaceTransform(), FloatRect(filterOutsetsInTarget))); |
reduceOcclusion(boundsInTarget, filterOutsetsInTarget, occlusionInTarget); |
reduceOcclusion(boundsInScreen, filterOutsetsInScreen, occlusionInScreen); |
} |
template<typename LayerType, typename RenderSurfaceType> |
-void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::leaveToRenderTarget(const LayerType* newTarget) |
+void OcclusionTrackerBase<LayerType, RenderSurfaceType>::leaveToRenderTarget(const LayerType* newTarget) |
{ |
int lastIndex = m_stack.size() - 1; |
bool surfaceWillBeAtTopAfterPop = m_stack.size() > 1 && m_stack[lastIndex - 1].target == newTarget; |
- // We merge the screen occlusion from the current RenderSurface subtree out to its parent target RenderSurface. |
+ // We merge the screen occlusion from the current RenderSurfaceImpl subtree out to its parent target RenderSurfaceImpl. |
// The target occlusion can be merged out as well but needs to be transformed to the new target. |
const LayerType* oldTarget = m_stack[lastIndex].target; |
@@ -248,7 +248,7 @@ static inline void addOcclusionBehindLayer(Region& region, const LayerType* laye |
ASSERT(layer->visibleContentRect().contains(opaqueContents.bounds())); |
bool clipped; |
- FloatQuad visibleTransformedQuad = CCMathUtil::mapQuad(transform, FloatQuad(layer->visibleContentRect()), clipped); |
+ FloatQuad visibleTransformedQuad = MathUtil::mapQuad(transform, FloatQuad(layer->visibleContentRect()), clipped); |
// FIXME: Find a rect interior to each transformed quad. |
if (clipped || !visibleTransformedQuad.isRectilinear()) |
return; |
@@ -256,7 +256,7 @@ static inline void addOcclusionBehindLayer(Region& region, const LayerType* laye |
Vector<WebCore::IntRect> contentRects = opaqueContents.rects(); |
for (size_t i = 0; i < contentRects.size(); ++i) { |
// We've already checked for clipping in the mapQuad call above, these calls should not clip anything further. |
- IntRect transformedRect = enclosedIntRect(CCMathUtil::mapClippedRect(transform, FloatRect(contentRects[i]))); |
+ IntRect transformedRect = enclosedIntRect(MathUtil::mapClippedRect(transform, FloatRect(contentRects[i]))); |
transformedRect.intersect(clipRectInTarget); |
if (transformedRect.width() >= minimumTrackingSize.width() || transformedRect.height() >= minimumTrackingSize.height()) { |
if (occludingScreenSpaceRects) |
@@ -267,7 +267,7 @@ static inline void addOcclusionBehindLayer(Region& region, const LayerType* laye |
} |
template<typename LayerType, typename RenderSurfaceType> |
-void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::markOccludedBehindLayer(const LayerType* layer) |
+void OcclusionTrackerBase<LayerType, RenderSurfaceType>::markOccludedBehindLayer(const LayerType* layer) |
{ |
ASSERT(!m_stack.isEmpty()); |
ASSERT(layer->renderTarget() == m_stack.last().target); |
@@ -294,7 +294,7 @@ void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::markOccludedBehindLay |
if (layerTransformsToScreenKnown(layer)) { |
WebTransformationMatrix targetToScreenTransform = m_stack.last().target->renderSurface()->screenSpaceTransform(); |
bool clipped; |
- FloatQuad clipQuadInScreen = CCMathUtil::mapQuad(targetToScreenTransform, FloatQuad(FloatRect(clipRectInTarget)), clipped); |
+ FloatQuad clipQuadInScreen = MathUtil::mapQuad(targetToScreenTransform, FloatQuad(FloatRect(clipRectInTarget)), clipped); |
// FIXME: Find a rect interior to the transformed clip quad. |
if (clipped || !clipQuadInScreen.isRectilinear()) |
return; |
@@ -305,14 +305,14 @@ void CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::markOccludedBehindLay |
static inline bool testContentRectOccluded(const IntRect& contentRect, const WebTransformationMatrix& contentSpaceTransform, const IntRect& clipRectInTarget, const Region& occlusion) |
{ |
- FloatRect transformedRect = CCMathUtil::mapClippedRect(contentSpaceTransform, FloatRect(contentRect)); |
+ FloatRect transformedRect = MathUtil::mapClippedRect(contentSpaceTransform, FloatRect(contentRect)); |
// Take the enclosingIntRect, as we want to include partial pixels in the test. |
IntRect targetRect = intersection(enclosingIntRect(transformedRect), clipRectInTarget); |
return targetRect.isEmpty() || occlusion.contains(targetRect); |
} |
template<typename LayerType, typename RenderSurfaceType> |
-bool CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::occluded(const LayerType* layer, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const |
+bool OcclusionTrackerBase<LayerType, RenderSurfaceType>::occluded(const LayerType* layer, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const |
{ |
if (hasOcclusionFromOutsideTargetSurface) |
*hasOcclusionFromOutsideTargetSurface = false; |
@@ -352,15 +352,15 @@ static inline IntRect computeUnoccludedContentRect(const IntRect& contentRect, c |
return contentRect; |
// Take the enclosingIntRect at each step, as we want to contain any unoccluded partial pixels in the resulting IntRect. |
- FloatRect transformedRect = CCMathUtil::mapClippedRect(contentSpaceTransform, FloatRect(contentRect)); |
+ FloatRect transformedRect = MathUtil::mapClippedRect(contentSpaceTransform, FloatRect(contentRect)); |
IntRect shrunkRect = rectSubtractRegion(intersection(enclosingIntRect(transformedRect), clipRectInTarget), occlusion); |
- IntRect unoccludedRect = enclosingIntRect(CCMathUtil::projectClippedRect(contentSpaceTransform.inverse(), FloatRect(shrunkRect))); |
+ IntRect unoccludedRect = enclosingIntRect(MathUtil::projectClippedRect(contentSpaceTransform.inverse(), FloatRect(shrunkRect))); |
// The rect back in content space is a bounding box and may extend outside of the original contentRect, so clamp it to the contentRectBounds. |
return intersection(unoccludedRect, contentRect); |
} |
template<typename LayerType, typename RenderSurfaceType> |
-IntRect CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::unoccludedContentRect(const LayerType* layer, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const |
+IntRect OcclusionTrackerBase<LayerType, RenderSurfaceType>::unoccludedContentRect(const LayerType* layer, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const |
{ |
ASSERT(!m_stack.isEmpty()); |
if (m_stack.isEmpty()) |
@@ -388,7 +388,7 @@ IntRect CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::unoccludedContentR |
} |
template<typename LayerType, typename RenderSurfaceType> |
-IntRect CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::unoccludedContributingSurfaceContentRect(const LayerType* layer, bool forReplica, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const |
+IntRect OcclusionTrackerBase<LayerType, RenderSurfaceType>::unoccludedContributingSurfaceContentRect(const LayerType* layer, bool forReplica, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const |
{ |
ASSERT(!m_stack.isEmpty()); |
// The layer is a contributing renderTarget so it should have a surface. |
@@ -443,7 +443,7 @@ IntRect CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::unoccludedContribu |
} |
template<typename LayerType, typename RenderSurfaceType> |
-IntRect CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::layerClipRectInTarget(const LayerType* layer) const |
+IntRect OcclusionTrackerBase<LayerType, RenderSurfaceType>::layerClipRectInTarget(const LayerType* layer) const |
{ |
// FIXME: we could remove this helper function, but unit tests currently override this |
// function, and they need to be verified/adjusted before this can be removed. |
@@ -451,29 +451,29 @@ IntRect CCOcclusionTrackerBase<LayerType, RenderSurfaceType>::layerClipRectInTar |
} |
// Declare the possible functions here for the linker. |
-template CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::CCOcclusionTrackerBase(IntRect rootTargetRect, bool recordMetricsForFrame); |
-template void CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::enterLayer(const CCLayerIteratorPosition<LayerChromium>&); |
-template void CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::leaveLayer(const CCLayerIteratorPosition<LayerChromium>&); |
-template void CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::enterRenderTarget(const LayerChromium* newTarget); |
-template void CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::finishedRenderTarget(const LayerChromium* finishedTarget); |
-template void CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::leaveToRenderTarget(const LayerChromium* newTarget); |
-template void CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::markOccludedBehindLayer(const LayerChromium*); |
-template bool CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::occluded(const LayerChromium*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
-template IntRect CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::unoccludedContentRect(const LayerChromium*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
-template IntRect CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::unoccludedContributingSurfaceContentRect(const LayerChromium*, bool forReplica, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
-template IntRect CCOcclusionTrackerBase<LayerChromium, RenderSurfaceChromium>::layerClipRectInTarget(const LayerChromium*) const; |
- |
-template CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::CCOcclusionTrackerBase(IntRect rootTargetRect, bool recordMetricsForFrame); |
-template void CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::enterLayer(const CCLayerIteratorPosition<CCLayerImpl>&); |
-template void CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::leaveLayer(const CCLayerIteratorPosition<CCLayerImpl>&); |
-template void CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::enterRenderTarget(const CCLayerImpl* newTarget); |
-template void CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::finishedRenderTarget(const CCLayerImpl* finishedTarget); |
-template void CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::leaveToRenderTarget(const CCLayerImpl* newTarget); |
-template void CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::markOccludedBehindLayer(const CCLayerImpl*); |
-template bool CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::occluded(const CCLayerImpl*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
-template IntRect CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::unoccludedContentRect(const CCLayerImpl*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
-template IntRect CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::unoccludedContributingSurfaceContentRect(const CCLayerImpl*, bool forReplica, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
-template IntRect CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>::layerClipRectInTarget(const CCLayerImpl*) const; |
+template OcclusionTrackerBase<Layer, RenderSurface>::OcclusionTrackerBase(IntRect rootTargetRect, bool recordMetricsForFrame); |
+template void OcclusionTrackerBase<Layer, RenderSurface>::enterLayer(const LayerIteratorPosition<Layer>&); |
+template void OcclusionTrackerBase<Layer, RenderSurface>::leaveLayer(const LayerIteratorPosition<Layer>&); |
+template void OcclusionTrackerBase<Layer, RenderSurface>::enterRenderTarget(const Layer* newTarget); |
+template void OcclusionTrackerBase<Layer, RenderSurface>::finishedRenderTarget(const Layer* finishedTarget); |
+template void OcclusionTrackerBase<Layer, RenderSurface>::leaveToRenderTarget(const Layer* newTarget); |
+template void OcclusionTrackerBase<Layer, RenderSurface>::markOccludedBehindLayer(const Layer*); |
+template bool OcclusionTrackerBase<Layer, RenderSurface>::occluded(const Layer*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
+template IntRect OcclusionTrackerBase<Layer, RenderSurface>::unoccludedContentRect(const Layer*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
+template IntRect OcclusionTrackerBase<Layer, RenderSurface>::unoccludedContributingSurfaceContentRect(const Layer*, bool forReplica, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
+template IntRect OcclusionTrackerBase<Layer, RenderSurface>::layerClipRectInTarget(const Layer*) const; |
+ |
+template OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::OcclusionTrackerBase(IntRect rootTargetRect, bool recordMetricsForFrame); |
+template void OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::enterLayer(const LayerIteratorPosition<LayerImpl>&); |
+template void OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::leaveLayer(const LayerIteratorPosition<LayerImpl>&); |
+template void OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::enterRenderTarget(const LayerImpl* newTarget); |
+template void OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::finishedRenderTarget(const LayerImpl* finishedTarget); |
+template void OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::leaveToRenderTarget(const LayerImpl* newTarget); |
+template void OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::markOccludedBehindLayer(const LayerImpl*); |
+template bool OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::occluded(const LayerImpl*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
+template IntRect OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::unoccludedContentRect(const LayerImpl*, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
+template IntRect OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::unoccludedContributingSurfaceContentRect(const LayerImpl*, bool forReplica, const IntRect& contentRect, bool* hasOcclusionFromOutsideTargetSurface) const; |
+template IntRect OcclusionTrackerBase<LayerImpl, RenderSurfaceImpl>::layerClipRectInTarget(const LayerImpl*) const; |
} // namespace cc |