Changeset 161381 in webkit
- Timestamp:
- Jan 6, 2014, 3:50:43 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r161380 r161381 1 2014-01-06 Tim Horton <timothy_horton@apple.com> 2 3 Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite() 4 https://bugs.webkit.org/show_bug.cgi?id=126537 5 6 Reviewed by Simon Fraser. 7 8 * platform/graphics/FloatRect.h: 9 (WebCore::FloatRect::infiniteRect): 10 (WebCore::FloatRect::isInfinite): 11 * platform/graphics/IntRect.h: 12 (WebCore::IntRect::infiniteRect): 13 (WebCore::IntRect::isInfinite): 14 Add infiniteRect() and isInfinite() to FloatRect and IntRect. 15 16 * platform/graphics/ca/GraphicsLayerCA.cpp: 17 (WebCore::GraphicsLayerCA::setNeedsDisplay): 18 * rendering/PaintInfo.h: 19 (WebCore::PaintInfo::applyTransform): 20 * rendering/RenderFlowThread.cpp: 21 (WebCore::RenderFlowThread::fragmentsBoundingBox): 22 * rendering/RenderLayer.cpp: 23 (WebCore::RenderLayer::collectFragments): 24 (WebCore::RenderLayer::calculateClipRects): 25 * rendering/RenderLayerBacking.cpp: 26 (WebCore::clipBox): 27 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 28 * rendering/RenderLayerCompositor.cpp: 29 (WebCore::RenderLayerCompositor::clippedByAncestor): 30 * rendering/svg/SVGRenderingContext.cpp: 31 (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer): 32 Adopt the new functions. 33 1 34 2014-01-06 Seokju Kwon <seokju@webkit.org> 2 35 -
trunk/Source/WebCore/platform/graphics/FloatRect.h
r156795 r161381 194 194 void dump(PrintStream& out) const; 195 195 196 static FloatRect infiniteRect(); 197 bool isInfinite() const; 198 196 199 private: 197 200 FloatPoint m_location; … … 247 250 } 248 251 252 inline FloatRect FloatRect::infiniteRect() 253 { 254 static FloatRect infiniteRect(-std::numeric_limits<float>::max() / 2, -std::numeric_limits<float>::max() / 2, std::numeric_limits<float>::max(), std::numeric_limits<float>::max()); 255 return infiniteRect; 256 } 257 258 inline bool FloatRect::isInfinite() const 259 { 260 return *this == infiniteRect(); 261 } 262 249 263 IntRect enclosingIntRect(const FloatRect&); 250 264 -
trunk/Source/WebCore/platform/graphics/IntRect.h
r156795 r161381 204 204 void dump(PrintStream& out) const; 205 205 206 static IntRect infiniteRect(); 207 bool isInfinite() const; 208 206 209 private: 207 210 IntPoint m_location; … … 235 238 } 236 239 240 inline IntRect IntRect::infiniteRect() 241 { 242 static IntRect infiniteRect(-std::numeric_limits<int>::max() / 2, -std::numeric_limits<int>::max() / 2, std::numeric_limits<int>::max(), std::numeric_limits<int>::max()); 243 return infiniteRect; 244 } 245 246 inline bool IntRect::isInfinite() const 247 { 248 return *this == infiniteRect(); 249 } 250 237 251 #if USE(CG) 238 252 IntRect enclosingIntRect(const CGRect&); -
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
r161293 r161381 706 706 void GraphicsLayerCA::setNeedsDisplay() 707 707 { 708 FloatRect hugeRect(-std::numeric_limits<float>::max() / 2, -std::numeric_limits<float>::max() / 2, 709 std::numeric_limits<float>::max(), std::numeric_limits<float>::max()); 710 711 setNeedsDisplayInRect(hugeRect); 708 setNeedsDisplayInRect(FloatRect::infiniteRect()); 712 709 } 713 710 -
trunk/Source/WebCore/rendering/PaintInfo.h
r157011 r161381 99 99 context->concatCTM(localToAncestorTransform); 100 100 101 if (rect == infiniteRect())101 if (rect.isInfinite()) 102 102 return; 103 103 … … 105 105 } 106 106 #endif 107 108 static IntRect infiniteRect() { return IntRect(LayoutRect::infiniteRect()); }109 107 110 108 GraphicsContext* context; -
trunk/Source/WebCore/rendering/RenderFlowThread.cpp
r160721 r161381 1090 1090 RenderRegion* region = *iter; 1091 1091 LayerFragments fragments; 1092 region->collectLayerFragments(fragments, layerBoundingBox, PaintInfo::infiniteRect());1092 region->collectLayerFragments(fragments, layerBoundingBox, IntRect::infiniteRect()); 1093 1093 for (size_t i = 0; i < fragments.size(); ++i) { 1094 1094 const LayerFragment& fragment = fragments.at(i); -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r161209 r161381 4281 4281 ClipRect foregroundRectInFlowThread; 4282 4282 ClipRect outlineRectInFlowThread; 4283 calculateRects(paginationClipRectsContext, PaintInfo::infiniteRect(), layerBoundsInFlowThread, backgroundRectInFlowThread, foregroundRectInFlowThread,4283 calculateRects(paginationClipRectsContext, IntRect::infiniteRect(), layerBoundsInFlowThread, backgroundRectInFlowThread, foregroundRectInFlowThread, 4284 4284 outlineRectInFlowThread, &offsetWithinPaginatedLayer); 4285 4285 … … 5347 5347 if (!parent()) { 5348 5348 // The root layer's clip rect is always infinite. 5349 clipRects.reset( PaintInfo::infiniteRect());5349 clipRects.reset(IntRect::infiniteRect()); 5350 5350 return; 5351 5351 } … … 5373 5373 } 5374 5374 } else 5375 clipRects.reset( PaintInfo::infiniteRect());5375 clipRects.reset(IntRect::infiniteRect()); 5376 5376 5377 5377 // A fixed object is essentially the root of its containing block hierarchy, so when … … 5466 5466 5467 5467 // Note: infinite clipRects should not be scrolled here, otherwise they will accidentally no longer be considered infinite. 5468 if (parentRects.fixed() && &clipRectsContext.rootLayer->renderer() == &view && backgroundClipRect != PaintInfo::infiniteRect())5468 if (parentRects.fixed() && &clipRectsContext.rootLayer->renderer() == &view && backgroundClipRect != IntRect::infiniteRect()) 5469 5469 backgroundClipRect.move(view.frameView().scrollOffsetForFixedPosition()); 5470 5470 … … 5597 5597 ClipRect backgroundRect, foregroundRect, outlineRect; 5598 5598 ClipRectsContext clipRectsContext(clippingRootLayer, 0, PaintingClipRects); 5599 calculateRects(clipRectsContext, PaintInfo::infiniteRect(), layerBounds, backgroundRect, foregroundRect, outlineRect);5599 calculateRects(clipRectsContext, IntRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, outlineRect); 5600 5600 5601 5601 LayoutRect clipRect = backgroundRect.rect(); 5602 if (clipRect == PaintInfo::infiniteRect())5602 if (clipRect == IntRect::infiniteRect()) 5603 5603 return clipRect; 5604 5604 … … 5793 5793 if (flags & UseLocalClipRectIfPossible) { 5794 5794 LayoutRect localClipRect = this->localClipRect(); 5795 if (localClipRect != PaintInfo::infiniteRect()) {5795 if (localClipRect != IntRect::infiniteRect()) { 5796 5796 if ((flags & IncludeSelfTransform) && paintsWithTransform(PaintBehaviorNormal)) 5797 5797 localClipRect = transform()->mapRect(localClipRect); … … 6956 6956 6957 6957 // Optimize clipping for the single fragment case. 6958 if (!regionClipRect.isEmpty() && regionClipRect != PaintInfo::infiniteRect())6958 if (!regionClipRect.isEmpty() && regionClipRect != IntRect::infiniteRect()) 6959 6959 clipToRect(paintingInfo.rootLayer, context, paintingInfo.paintDirtyRect, regionClipRect); 6960 6960 6961 6961 flowThreadLayer->paintNamedFlowThreadInsideRegion(context, region, paintingInfo.paintDirtyRect, paintOffset, paintingInfo.paintBehavior, paintFlags); 6962 6962 6963 if (!regionClipRect.isEmpty() && regionClipRect != PaintInfo::infiniteRect())6963 if (!regionClipRect.isEmpty() && regionClipRect != IntRect::infiniteRect()) 6964 6964 restoreClip(context, paintingInfo.paintDirtyRect, regionClipRect); 6965 6965 } -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r161088 r161381 647 647 static IntRect clipBox(RenderBox& renderer) 648 648 { 649 LayoutRect result = PaintInfo::infiniteRect();649 LayoutRect result = IntRect::infiniteRect(); 650 650 if (renderer.hasOverflowClip()) 651 651 result = renderer.overflowClipRect(LayoutPoint(), 0); // FIXME: Incorrect for CSS regions. … … 754 754 RenderLayer::ClipRectsContext clipRectsContext(compAncestor, 0, TemporaryClipRects, IgnoreOverlayScrollbarSize, IgnoreOverflowClip); 755 755 IntRect parentClipRect = pixelSnappedIntRect(m_owningLayer.backgroundClipRect(clipRectsContext).rect()); // FIXME: Incorrect for CSS regions. 756 ASSERT(parentClipRect != PaintInfo::infiniteRect());756 ASSERT(parentClipRect != IntRect::infiniteRect()); 757 757 m_ancestorClippingLayer->setPosition(FloatPoint(parentClipRect.location() - graphicsLayerParentLocation)); 758 758 m_ancestorClippingLayer->setSize(parentClipRect.size()); -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r161028 r161381 2196 2196 return false; 2197 2197 2198 return layer.backgroundClipRect(RenderLayer::ClipRectsContext(computeClipRoot, 0, TemporaryClipRects)).rect() != PaintInfo::infiniteRect(); // FIXME: Incorrect for CSS regions.2198 return layer.backgroundClipRect(RenderLayer::ClipRectsContext(computeClipRoot, 0, TemporaryClipRects)).rect() != IntRect::infiniteRect(); // FIXME: Incorrect for CSS regions. 2199 2199 } 2200 2200 -
trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp
r161209 r161381 276 276 ASSERT(image->context()); 277 277 278 PaintInfo info(image->context(), PaintInfo::infiniteRect(), PaintPhaseForeground, PaintBehaviorNormal);278 PaintInfo info(image->context(), IntRect::infiniteRect(), PaintPhaseForeground, PaintBehaviorNormal); 279 279 280 280 AffineTransform& contentTransformation = currentContentTransformation();
Note:
See TracChangeset
for help on using the changeset viewer.