Changeset 181505 in webkit
- Timestamp:
- Mar 14, 2015, 10:32:06 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 28 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/rendering/RenderBlock.cpp (modified) (2 diffs)
-
WebCore/rendering/RenderBox.cpp (modified) (1 diff)
-
WebCore/rendering/RenderBox.h (modified) (1 diff)
-
WebCore/rendering/RenderFlowThread.h (modified) (4 diffs)
-
WebCore/rendering/RenderGeometryMap.h (modified) (2 diffs)
-
WebCore/rendering/RenderImage.cpp (modified) (1 diff)
-
WebCore/rendering/RenderInline.h (modified) (1 diff)
-
WebCore/rendering/RenderLayer.cpp (modified) (1 diff)
-
WebCore/rendering/RenderLineBreak.cpp (modified) (2 diffs)
-
WebCore/rendering/RenderNamedFlowFragment.cpp (modified) (1 diff)
-
WebCore/rendering/RenderObject.cpp (modified) (2 diffs)
-
WebCore/rendering/RenderObject.h (modified) (3 diffs)
-
WebCore/rendering/RenderText.cpp (modified) (1 diff)
-
WebCore/rendering/RenderTextLineBoxes.cpp (modified) (4 diffs)
-
WebCore/rendering/RenderView.h (modified) (1 diff)
-
WebCore/rendering/SimpleLineLayoutFunctions.cpp (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGForeignObject.h (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGInline.cpp (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGInline.h (modified) (2 diffs)
-
WebCore/rendering/svg/RenderSVGModelObject.cpp (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGModelObject.h (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGRoot.h (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGText.cpp (modified) (1 diff)
-
WebCore/rendering/svg/RenderSVGText.h (modified) (1 diff)
-
WebCore/rendering/svg/SVGRenderSupport.h (modified) (1 diff)
-
WebKit2/ChangeLog (modified) (1 diff)
-
WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r181504 r181505 1 2015-03-14 Simon Fraser <simon.fraser@apple.com> 2 3 Clean up use of flags in localToContainer-type functions 4 https://bugs.webkit.org/show_bug.cgi?id=142704 5 6 Reviewed by Alexey Proskuryakov. 7 8 RenderObject::localToContainerQuad() had the questionable behavior of always 9 enforcing UseTransforms in the flags. However, a future patch will need to call 10 localToContainerQuad() without this flag. 11 12 Fix by requiring callers of localToAbsoluteQuad(), localToContainerQuad(), localToContainerPoint(), 13 and absoluteToLocalQuad() to pass the UseTransforms flag in, providing it as a default argument. 14 15 The default value of the MapCoordinatesFlags parameter to mapLocalToContainer(), 16 a lower-level function, is removed. 17 18 Sprinkle a few more nullptrs around. 19 20 No behavior change. 21 22 * rendering/RenderBlock.cpp: 23 (WebCore::RenderBlock::selectionGapRectsForRepaint): call the higher-level localToContainerPoint() 24 instead of mapLocalToContainer(). 25 (WebCore::RenderBlock::absoluteQuads): Pass UseTransforms. 26 * rendering/RenderBox.cpp: 27 (WebCore::RenderBox::absoluteQuads): Ditto. 28 * rendering/RenderBox.h: 29 * rendering/RenderFlowThread.h: 30 * rendering/RenderGeometryMap.h: 31 (WebCore::RenderGeometryMap::absolutePoint): 32 (WebCore::RenderGeometryMap::absoluteRect): 33 * rendering/RenderImage.cpp: 34 (WebCore::RenderImage::collectSelectionRects): This function was erroneously passing 35 'false' as flags. Pass UseTransforms instead (but no behavior change since 36 UseTransforms was forced on lower down). 37 * rendering/RenderInline.h: 38 * rendering/RenderLayer.cpp: 39 (WebCore::RenderLayer::scrollRectToVisible): UseTransforms is the parameter default, remove it. 40 * rendering/RenderLineBreak.cpp: 41 (WebCore::RenderLineBreak::absoluteQuads): 42 (WebCore::RenderLineBreak::collectSelectionRects): Another erroneous 'false'. 43 * rendering/RenderNamedFlowFragment.cpp: 44 (WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion): 45 * rendering/RenderObject.cpp: 46 (WebCore::RenderObject::localToContainerQuad): Here's where we no longer force 47 the UseTransforms bit. 48 (WebCore::RenderObject::localToContainerPoint): Also here. 49 * rendering/RenderObject.h: I prefer bit flags lined up. Makes it easier to spot errors. 50 (WebCore::RenderObject::localToAbsoluteQuad): 51 * rendering/RenderText.cpp: 52 (WebCore::RenderText::collectSelectionRects): Another bad 'false'. 53 * rendering/RenderTextLineBoxes.cpp: 54 (WebCore::RenderTextLineBoxes::absoluteRectsForRange): 55 (WebCore::RenderTextLineBoxes::absoluteQuads): 56 (WebCore::RenderTextLineBoxes::absoluteQuadsForRange): 57 * rendering/RenderView.h: 58 * rendering/SimpleLineLayoutFunctions.cpp: 59 (WebCore::SimpleLineLayout::collectAbsoluteQuads): 60 * rendering/svg/RenderSVGForeignObject.h: 61 * rendering/svg/RenderSVGInline.cpp: 62 (WebCore::RenderSVGInline::absoluteQuads): Another bad 'false'. 63 * rendering/svg/RenderSVGInline.h: 64 * rendering/svg/RenderSVGModelObject.cpp: 65 (WebCore::RenderSVGModelObject::absoluteQuads): 66 * rendering/svg/RenderSVGModelObject.h: 67 * rendering/svg/RenderSVGRoot.h: 68 * rendering/svg/RenderSVGText.cpp: 69 (WebCore::RenderSVGText::absoluteQuads): 70 * rendering/svg/RenderSVGText.h: 71 * rendering/svg/SVGRenderSupport.h: 72 1 73 2015-03-14 Brent Fulgham <bfulgham@apple.com> 2 74 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r181500 r181505 1739 1739 return GapRects(); 1740 1740 1741 TransformState transformState(TransformState::ApplyTransformDirection, FloatPoint()); 1742 mapLocalToContainer(repaintContainer, transformState, ApplyContainerFlip | UseTransforms); 1743 LayoutPoint offsetFromRepaintContainer(transformState.mappedPoint() - scrolledContentOffset()); 1741 FloatPoint containerPoint = localToContainerPoint(FloatPoint(), repaintContainer, UseTransforms); 1742 LayoutPoint offsetFromRepaintContainer(containerPoint - scrolledContentOffset()); 1744 1743 1745 1744 LogicalSelectionOffsetCaches cache(*this); … … 3331 3330 RenderFlowThread* flowThread = flowThreadContainingBlock(); 3332 3331 if (!flowThread || !flowThread->absoluteQuadsForBox(quads, wasFixed, this, localRect.y(), localRect.maxY())) 3333 quads.append(localToAbsoluteQuad(localRect, 0 /* mode */, wasFixed));3332 quads.append(localToAbsoluteQuad(localRect, UseTransforms, wasFixed)); 3334 3333 3335 3334 if (isAnonymousBlockContinuation()) -
trunk/Source/WebCore/rendering/RenderBox.cpp
r180586 r181505 619 619 return; 620 620 621 quads.append(localToAbsoluteQuad(localRect, 0 /* mode */, wasFixed));621 quads.append(localToAbsoluteQuad(localRect, UseTransforms, wasFixed)); 622 622 } 623 623 -
trunk/Source/WebCore/rendering/RenderBox.h
r181398 r181505 647 647 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !isInlineBlockOrInlineTable(); } 648 648 649 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;649 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 650 650 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject*, RenderGeometryMap&) const override; 651 651 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const override; -
trunk/Source/WebCore/rendering/RenderFlowThread.h
r178481 r181505 256 256 virtual void willBeDestroyed() override; 257 257 258 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;259 260 void updateRegionsFlowThreadPortionRect(const RenderRegion* = 0);258 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 259 260 void updateRegionsFlowThreadPortionRect(const RenderRegion* = nullptr); 261 261 bool shouldRepaint(const LayoutRect&) const; 262 262 … … 267 267 void updateRegionForRenderLayer(RenderLayer*, LayerToRegionMap&, RegionToLayerListMap&, bool& needsLayerUpdate); 268 268 269 void initializeRegionsComputedAutoHeight(RenderRegion* = 0);269 void initializeRegionsComputedAutoHeight(RenderRegion* = nullptr); 270 270 271 271 inline bool hasCachedOffsetFromLogicalTopOfFirstRegion(const RenderBox*) const; … … 288 288 RenderRegionRange() 289 289 { 290 setRange( 0, 0);290 setRange(nullptr, nullptr); 291 291 } 292 292 … … 321 321 RegionSearchAdapter(LayoutUnit offset) 322 322 : m_offset(offset) 323 , m_result( 0)323 , m_result(nullptr) 324 324 { 325 325 } -
trunk/Source/WebCore/rendering/RenderGeometryMap.h
r180441 r181505 83 83 FloatPoint absolutePoint(const FloatPoint& p) const 84 84 { 85 return mapToContainer(p, 0);85 return mapToContainer(p, nullptr); 86 86 } 87 87 88 88 FloatRect absoluteRect(const FloatRect& rect) const 89 89 { 90 return mapToContainer(rect, 0).boundingBox();90 return mapToContainer(rect, nullptr).boundingBox(); 91 91 } 92 92 … … 111 111 112 112 // RenderView gets special treatment, because it applies the scroll offset only for elements inside in fixed position. 113 void pushView(const RenderView*, const LayoutSize& scrollOffset, const TransformationMatrix* = 0);113 void pushView(const RenderView*, const LayoutSize& scrollOffset, const TransformationMatrix* = nullptr); 114 114 void pushRenderFlowThread(const RenderFlowThread*); 115 115 116 116 private: 117 void mapToContainer(TransformState&, const RenderLayerModelObject* container = 0) const;117 void mapToContainer(TransformState&, const RenderLayerModelObject* container = nullptr) const; 118 118 119 119 void stepInserted(const RenderGeometryMapStep&); -
trunk/Source/WebCore/rendering/RenderImage.cpp
r181412 r181505 106 106 107 107 bool isFixed = false; 108 IntRect absoluteBounds = localToAbsoluteQuad(FloatRect(imageRect), false, &isFixed).enclosingBoundingBox();108 IntRect absoluteBounds = localToAbsoluteQuad(FloatRect(imageRect), UseTransforms, &isFixed).enclosingBoundingBox(); 109 109 IntRect lineExtentBounds = localToAbsoluteQuad(FloatRect(lineExtentRect)).enclosingBoundingBox(); 110 110 if (!containingBlock->isHorizontalWritingMode()) -
trunk/Source/WebCore/rendering/RenderInline.h
r177739 r181505 148 148 virtual void computeRectForRepaint(const RenderLayerModelObject* repaintContainer, LayoutRect&, bool fixed) const override final; 149 149 150 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;150 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 151 151 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; 152 152 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r181166 r181505 2461 2461 RenderBox* box = renderBox(); 2462 2462 ASSERT(box); 2463 LayoutRect localExposeRect(box->absoluteToLocalQuad(FloatQuad(FloatRect(rect)) , UseTransforms).boundingBox());2463 LayoutRect localExposeRect(box->absoluteToLocalQuad(FloatQuad(FloatRect(rect))).boundingBox()); 2464 2464 LayoutRect layerBounds(0, 0, box->clientWidth(), box->clientHeight()); 2465 2465 LayoutRect r = getRectToExpose(layerBounds, layerBounds, localExposeRect, alignX, alignY); -
trunk/Source/WebCore/rendering/RenderLineBreak.cpp
r177259 r181505 182 182 if (!m_inlineBoxWrapper) 183 183 return; 184 quads.append(localToAbsoluteQuad(FloatRect(m_inlineBoxWrapper->topLeft(), m_inlineBoxWrapper->size()), 0 /* mode */, wasFixed));184 quads.append(localToAbsoluteQuad(FloatRect(m_inlineBoxWrapper->topLeft(), m_inlineBoxWrapper->size()), UseTransforms, wasFixed)); 185 185 } 186 186 … … 232 232 233 233 bool isFixed = false; 234 IntRect absRect = localToAbsoluteQuad(FloatRect(rect), false, &isFixed).enclosingBoundingBox();234 IntRect absRect = localToAbsoluteQuad(FloatRect(rect), UseTransforms, &isFixed).enclosingBoundingBox(); 235 235 bool boxIsHorizontal = !box->isSVGInlineTextBox() ? box->isHorizontal() : !style().svgStyle().isVerticalWritingMode(); 236 236 // If the containing block is an inline element, we want to check the inlineBoxWrapper orientation -
trunk/Source/WebCore/rendering/RenderNamedFlowFragment.cpp
r177259 r181505 537 537 538 538 CurrentRenderRegionMaintainer regionMaintainer(*this); 539 quads.append(renderer->localToAbsoluteQuad(FloatRect(fragmentRect), 0 /* mode */, wasFixed));539 quads.append(renderer->localToAbsoluteQuad(FloatRect(fragmentRect), UseTransforms, wasFixed)); 540 540 } 541 541 -
trunk/Source/WebCore/rendering/RenderObject.cpp
r181166 r181505 1697 1697 // it will use that point as the reference point to decide which column's transform to apply in multiple-column blocks. 1698 1698 TransformState transformState(TransformState::ApplyTransformDirection, localQuad.boundingBox().center(), localQuad); 1699 mapLocalToContainer(repaintContainer, transformState, mode | ApplyContainerFlip | UseTransforms, wasFixed);1699 mapLocalToContainer(repaintContainer, transformState, mode | ApplyContainerFlip, wasFixed); 1700 1700 transformState.flatten(); 1701 1701 … … 1706 1706 { 1707 1707 TransformState transformState(TransformState::ApplyTransformDirection, localPoint); 1708 mapLocalToContainer(repaintContainer, transformState, mode | ApplyContainerFlip | UseTransforms, wasFixed);1708 mapLocalToContainer(repaintContainer, transformState, mode | ApplyContainerFlip, wasFixed); 1709 1709 transformState.flatten(); 1710 1710 -
trunk/Source/WebCore/rendering/RenderObject.h
r181166 r181505 107 107 108 108 enum MapCoordinatesMode { 109 IsFixed = 1 << 0,110 UseTransforms = 1 << 1,111 ApplyContainerFlip = 1 << 2109 IsFixed = 1 << 0, 110 UseTransforms = 1 << 1, 111 ApplyContainerFlip = 1 << 2 112 112 }; 113 113 typedef unsigned MapCoordinatesFlags; … … 647 647 RenderBlock* containingBlock() const; 648 648 649 // Convert the given local point to absolute coordinates 650 // FIXME: Temporary. If UseTransforms is true, take transforms into account. Eventually localToAbsolute() will always be transform-aware. 649 // Convert the given local point to absolute coordinates. If MapCoordinatesFlags includes UseTransforms, take transforms into account. 651 650 WEBCORE_EXPORT FloatPoint localToAbsolute(const FloatPoint& localPoint = FloatPoint(), MapCoordinatesFlags = 0) const; 652 651 FloatPoint absoluteToLocal(const FloatPoint&, MapCoordinatesFlags = 0) const; 653 652 654 653 // Convert a local quad to absolute coordinates, taking transforms into account. 655 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mode = 0, bool* wasFixed = nullptr) const654 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mode = UseTransforms, bool* wasFixed = nullptr) const 656 655 { 657 656 return localToContainerQuad(quad, nullptr, mode, wasFixed); 658 657 } 659 658 // Convert an absolute quad to local coordinates. 660 FloatQuad absoluteToLocalQuad(const FloatQuad&, MapCoordinatesFlags mode = 0) const;659 FloatQuad absoluteToLocalQuad(const FloatQuad&, MapCoordinatesFlags mode = UseTransforms) const; 661 660 662 661 // Convert a local quad into the coordinate system of container, taking transforms into account. 663 WEBCORE_EXPORT FloatQuad localToContainerQuad(const FloatQuad&, const RenderLayerModelObject* repaintContainer, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;664 WEBCORE_EXPORT FloatPoint localToContainerPoint(const FloatPoint&, const RenderLayerModelObject* repaintContainer, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;662 WEBCORE_EXPORT FloatQuad localToContainerQuad(const FloatQuad&, const RenderLayerModelObject* repaintContainer, MapCoordinatesFlags = UseTransforms, bool* wasFixed = nullptr) const; 663 WEBCORE_EXPORT FloatPoint localToContainerPoint(const FloatPoint&, const RenderLayerModelObject* repaintContainer, MapCoordinatesFlags = UseTransforms, bool* wasFixed = nullptr) const; 665 664 666 665 // Return the offset from the container() renderer (excluding transforms). In multi-column layout, … … 830 829 // Map points and quads through elements, potentially via 3d transforms. You should never need to call these directly; use 831 830 // localToAbsolute/absoluteToLocal methods instead. 832 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr) const;831 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed = nullptr) const; 833 832 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const; 834 833 -
trunk/Source/WebCore/rendering/RenderText.cpp
r181290 r181505 384 384 385 385 bool isFixed = false; 386 IntRect absRect = localToAbsoluteQuad(FloatRect(rect), false, &isFixed).enclosingBoundingBox();386 IntRect absRect = localToAbsoluteQuad(FloatRect(rect), UseTransforms, &isFixed).enclosingBoundingBox(); 387 387 bool boxIsHorizontal = !box->isSVGInlineTextBox() ? box->isHorizontal() : !style().svgStyle().isVerticalWritingMode(); 388 388 // If the containing block is an inline element, we want to check the inlineBoxWrapper orientation -
trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp
r174714 r181505 551 551 } 552 552 } 553 rects.append(renderer.localToAbsoluteQuad(boundaries, 0, wasFixed).enclosingBoundingBox());553 rects.append(renderer.localToAbsoluteQuad(boundaries, UseTransforms, wasFixed).enclosingBoundingBox()); 554 554 continue; 555 555 } … … 557 557 FloatRect rect = localQuadForTextBox(*box, start, end, useSelectionHeight); 558 558 if (!rect.isZero()) 559 rects.append(renderer.localToAbsoluteQuad(rect, 0, wasFixed).enclosingBoundingBox());559 rects.append(renderer.localToAbsoluteQuad(rect, UseTransforms, wasFixed).enclosingBoundingBox()); 560 560 } 561 561 return rects; … … 577 577 boundaries.setHeight(ellipsisRect.maxY() - boundaries.y()); 578 578 } 579 quads.append(renderer.localToAbsoluteQuad(boundaries, 0, wasFixed));579 quads.append(renderer.localToAbsoluteQuad(boundaries, UseTransforms, wasFixed)); 580 580 } 581 581 return quads; … … 599 599 } 600 600 } 601 quads.append(renderer.localToAbsoluteQuad(boundaries, 0, wasFixed));601 quads.append(renderer.localToAbsoluteQuad(boundaries, UseTransforms, wasFixed)); 602 602 continue; 603 603 } 604 604 FloatRect rect = localQuadForTextBox(*box, start, end, useSelectionHeight); 605 605 if (!rect.isZero()) 606 quads.append(renderer.localToAbsoluteQuad(rect, 0, wasFixed));606 quads.append(renderer.localToAbsoluteQuad(rect, UseTransforms, wasFixed)); 607 607 } 608 608 return quads; -
trunk/Source/WebCore/rendering/RenderView.h
r180574 r181505 244 244 245 245 protected: 246 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr) const override;246 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 247 247 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; 248 248 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const override; -
trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp
r181290 r181505 176 176 auto resolver = runResolver(downcast<RenderBlockFlow>(*renderer.parent()), layout); 177 177 for (const auto& run : resolver.rangeForRenderer(renderer)) 178 quads.append(renderer.localToAbsoluteQuad(FloatQuad(run.rect()), 0, wasFixed));178 quads.append(renderer.localToAbsoluteQuad(FloatQuad(run.rect()), UseTransforms, wasFixed)); 179 179 return quads; 180 180 } -
trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.h
r177259 r181505 54 54 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override; 55 55 56 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;56 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 57 57 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; 58 58 virtual void setNeedsTransformUpdate() override { m_needsTransformUpdate = true; } -
trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp
r177259 r181505 96 96 FloatRect textBoundingBox = textAncestor->strokeBoundingBox(); 97 97 for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox()) 98 quads.append(localToAbsoluteQuad(FloatRect(textBoundingBox.x() + box->x(), textBoundingBox.y() + box->y(), box->logicalWidth(), box->logicalHeight()), false, wasFixed));98 quads.append(localToAbsoluteQuad(FloatRect(textBoundingBox.x() + box->x(), textBoundingBox.y() + box->y(), box->logicalWidth(), box->logicalHeight()), UseTransforms, wasFixed)); 99 99 } 100 100 -
trunk/Source/WebCore/rendering/svg/RenderSVGInline.h
r177259 r181505 53 53 virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const override final; 54 54 virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const override final; 55 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override final;55 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override final; 56 56 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override final; 57 57 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const override final; … … 62 62 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override final; 63 63 64 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override final;64 virtual void addChild(RenderObject* child, RenderObject* beforeChild = nullptr) override final; 65 65 virtual void removeChild(RenderObject&) override final; 66 66 }; -
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
r177259 r181505 87 87 void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const 88 88 { 89 quads.append(localToAbsoluteQuad(strokeBoundingBox(), 0 /* mode */, wasFixed));89 quads.append(localToAbsoluteQuad(strokeBoundingBox(), UseTransforms, wasFixed)); 90 90 } 91 91 -
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h
r177259 r181505 54 54 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const override; 55 55 56 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override final;56 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override final; 57 57 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override final; 58 58 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override; -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h
r177259 r181505 98 98 virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect& repaintRect, bool fixed) const override; 99 99 100 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;100 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 101 101 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; 102 102 -
trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp
r179599 r181505 476 476 void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const 477 477 { 478 quads.append(localToAbsoluteQuad(strokeBoundingBox(), 0 /* mode */, wasFixed));478 quads.append(localToAbsoluteQuad(strokeBoundingBox(), UseTransforms, wasFixed)); 479 479 } 480 480 -
trunk/Source/WebCore/rendering/svg/RenderSVGText.h
r177259 r181505 82 82 virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const override; 83 83 84 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;84 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; 85 85 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; 86 86 virtual void addChild(RenderObject* child, RenderObject* beforeChild = nullptr) override; -
trunk/Source/WebCore/rendering/svg/SVGRenderSupport.h
r180179 r181505 70 70 static void computeFloatRectForRepaint(const RenderElement&, const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed); 71 71 static const RenderElement& localToParentTransform(const RenderElement&, AffineTransform &); 72 static void mapLocalToContainer(const RenderElement&, const RenderLayerModelObject* repaintContainer, TransformState&, bool* wasFixed = 0);72 static void mapLocalToContainer(const RenderElement&, const RenderLayerModelObject* repaintContainer, TransformState&, bool* wasFixed); 73 73 static const RenderElement* pushMappingToContainer(const RenderElement&, const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&); 74 74 static bool checkForSVGRepaintDuringLayout(const RenderElement&); -
trunk/Source/WebKit2/ChangeLog
r181504 r181505 1 2015-03-14 Simon Fraser <simon.fraser@apple.com> 2 3 Clean up use of flags in localToContainer-type functions 4 https://bugs.webkit.org/show_bug.cgi?id=142704 5 6 Reviewed by Alexey Proskuryakov. 7 8 Pass UseTransforms explicitly to localToContainerPoint() 9 10 * WebProcess/WebPage/ios/WebPageIOS.mm: 11 (WebKit::WebPage::getAssistedNodeInformation): 12 1 13 2015-03-14 Brent Fulgham <bfulgham@apple.com> 2 14 -
trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm
r180517 r181505 2229 2229 2230 2230 bool inFixed = false; 2231 renderer->localToContainerPoint(FloatPoint(), nullptr, 0, &inFixed);2231 renderer->localToContainerPoint(FloatPoint(), nullptr, UseTransforms, &inFixed); 2232 2232 information.insideFixedPosition = inFixed; 2233 2233
Note:
See TracChangeset
for help on using the changeset viewer.