Changeset 287834 in webkit
- Timestamp:
- Jan 10, 2022, 5:10:42 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 6 edited
-
ChangeLog (modified) (1 diff)
-
Sources.txt (modified) (1 diff)
-
WebCore.xcodeproj/project.pbxproj (modified) (4 diffs)
-
rendering/svg/LegacyRenderSVGModelObject.cpp (modified) (2 diffs)
-
rendering/svg/RenderSVGRect.cpp (added)
-
rendering/svg/RenderSVGRect.h (added)
-
rendering/svg/SVGResources.cpp (modified) (1 diff)
-
svg/SVGRectElement.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r287832 r287834 1 2022-01-10 Nikolas Zimmermann <nzimmermann@igalia.com> 2 3 [LBSE] Begin layer-aware RenderSVGRect implementation 4 https://bugs.webkit.org/show_bug.cgi?id=234992 5 6 Reviewed by Rob Buis. 7 8 Create RenderSVGRect as copy of LegacyRenderSVGRect, inheriting from 9 RenderSVGShape (and thus RenderLayerModelObject) instead of 10 LegacyRenderSVGShape, as LegacyRenderSVGRect does. 11 12 This patch does not yet enable the creation of RenderSVGRect 13 renderers if LBSE is enabled, this is postponed until more 14 functionality is fully available in LBSE (such as layout!). 15 16 Covered by existing tests, no change in behaviour. 17 18 * Sources.txt: 19 * WebCore.xcodeproj/project.pbxproj: 20 * rendering/svg/LegacyRenderSVGModelObject.cpp: 21 (WebCore::LegacyRenderSVGModelObject::clippedOverflowRect const): 22 (WebCore::LegacyRenderSVGModelObject::nodeAtPoint): 23 * rendering/svg/RenderSVGRect.cpp: Added. 24 (WebCore::RenderSVGRect::RenderSVGRect): 25 (WebCore::RenderSVGRect::rectElement const): 26 (WebCore::RenderSVGRect::updateShapeFromElement): 27 (WebCore::RenderSVGRect::fillShape const): 28 (WebCore::RenderSVGRect::strokeShape const): 29 (WebCore::RenderSVGRect::shapeDependentStrokeContains): 30 (WebCore::RenderSVGRect::shapeDependentFillContains const): 31 (WebCore::RenderSVGRect::isRenderingDisabled const): 32 * rendering/svg/RenderSVGRect.h: Added. 33 * rendering/svg/SVGResources.cpp: 34 * svg/SVGRectElement.cpp: 35 (WebCore::SVGRectElement::createElementRenderer): 36 1 37 2022-01-10 Nikolas Zimmermann <nzimmermann@igalia.com> 2 38 -
trunk/Source/WebCore/Sources.txt
r287832 r287834 2494 2494 rendering/svg/RenderSVGResourceRadialGradient.cpp 2495 2495 rendering/svg/RenderSVGResourceSolidColor.cpp 2496 rendering/svg/RenderSVGRect.cpp 2496 2497 rendering/svg/RenderSVGRoot.cpp 2497 2498 rendering/svg/RenderSVGShape.cpp -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r287832 r287834 3273 3273 A104F24414C71F7A009E2C23 /* CachedSVGDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = A104F24214C71F7A009E2C23 /* CachedSVGDocument.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3274 3274 A10BB5851484E3A700B2E87A /* LegacyRenderSVGRect.h in Headers */ = {isa = PBXBuildFile; fileRef = A10BB5831484E3A700B2E87A /* LegacyRenderSVGRect.h */; }; 3275 A10BB5851484E3A700B3AB6D /* RenderSVGRect.h in Headers */ = {isa = PBXBuildFile; fileRef = A10BB5831484E3A700B3AB6D /* RenderSVGRect.h */; }; 3275 3276 A10BB58B1484E3B300B2E87A /* LegacyRenderSVGShape.h in Headers */ = {isa = PBXBuildFile; fileRef = A10BB5891484E3B300B2E87A /* LegacyRenderSVGShape.h */; }; 3276 3277 A10BB58B1484E3B300C3F77B /* RenderSVGShape.h in Headers */ = {isa = PBXBuildFile; fileRef = A10BB5891484E3B300C3F77B /* RenderSVGShape.h */; }; … … 13380 13381 A104F24214C71F7A009E2C23 /* CachedSVGDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedSVGDocument.h; sourceTree = "<group>"; }; 13381 13382 A10BB5821484E3A700B2E87A /* LegacyRenderSVGRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyRenderSVGRect.cpp; sourceTree = "<group>"; }; 13383 A10BB5821484E3A700B3AB6D /* RenderSVGRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGRect.cpp; sourceTree = "<group>"; }; 13382 13384 A10BB5831484E3A700B2E87A /* LegacyRenderSVGRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyRenderSVGRect.h; sourceTree = "<group>"; }; 13385 A10BB5831484E3A700B3AB6D /* RenderSVGRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGRect.h; sourceTree = "<group>"; }; 13383 13386 A10BB5881484E3B300B2E87A /* LegacyRenderSVGShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyRenderSVGShape.cpp; sourceTree = "<group>"; }; 13384 13387 A10CC5881473E3B300B2A8BF /* RenderSVGShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGShape.cpp; sourceTree = "<group>"; }; … … 18946 18949 ADDF1AD41257CD9A0003A759 /* RenderSVGPath.cpp */, 18947 18950 ADDF1AD51257CD9A0003A759 /* RenderSVGPath.h */, 18951 A10BB5821484E3A700B3AB6D /* RenderSVGRect.cpp */, 18952 A10BB5831484E3A700B3AB6D /* RenderSVGRect.h */, 18948 18953 4367088D12D9CA4A00044234 /* RenderSVGResource.cpp */, 18949 18954 4367088E12D9CA4A00044234 /* RenderSVGResource.h */, … … 36740 36745 43670C9342D9BC4B00044234 /* RenderSVGModelObject.h in Headers */, 36741 36746 ADDF1AD71257CD9A0003A759 /* RenderSVGPath.h in Headers */, 36747 A10BB5851484E3A700B3AB6D /* RenderSVGRect.h in Headers */, 36742 36748 436708CD12D9CA4B00044234 /* RenderSVGResource.h in Headers */, 36743 36749 436708CF12D9CA4B00044234 /* RenderSVGResourceClipper.h in Headers */, -
trunk/Source/WebCore/rendering/svg/LegacyRenderSVGModelObject.cpp
r287677 r287834 52 52 } 53 53 54 LayoutRect LegacyRenderSVGModelObject::clippedOverflowRect(const RenderLayerModelObject* repaintContainer, VisibleRectContext context) const54 LayoutRect LegacyRenderSVGModelObject::clippedOverflowRect(const RenderLayerModelObject* repaintContainer, VisibleRectContext) const 55 55 { 56 #if ENABLE(LAYER_BASED_SVG_ENGINE)57 if (document().settings().layerBasedSVGEngineEnabled()) {58 if (style().visibility() != Visibility::Visible && !enclosingLayer()->hasVisibleContent())59 return LayoutRect();60 61 ASSERT(!view().frameView().layoutContext().isPaintOffsetCacheEnabled());62 return computeRect(visualOverflowRectEquivalent(), repaintContainer, context);63 }64 #else65 UNUSED_PARAM(context);66 #endif67 68 56 return SVGRenderSupport::clippedOverflowRectForRepaint(*this, repaintContainer); 69 57 } … … 127 115 bool LegacyRenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction) 128 116 { 129 #if ENABLE(LAYER_BASED_SVG_ENGINE)130 if (document().settings().layerBasedSVGEngineEnabled()) {131 // FIXME: [LBSE] Upstream LegacyRenderSVGModelObject inheritance changes (should inherit from RenderLayerModelObject).132 notImplemented();133 return false;134 }135 #endif136 137 117 ASSERT_NOT_REACHED(); 138 118 return false; -
trunk/Source/WebCore/rendering/svg/SVGResources.cpp
r287232 r287834 24 24 #include "LegacyRenderSVGRoot.h" 25 25 #include "PathOperation.h" 26 #include "RenderSVGResourceClipper .h"27 #include "RenderSVGResourceFilter .h"26 #include "RenderSVGResourceClipperInlines.h" 27 #include "RenderSVGResourceFilterInlines.h" 28 28 #include "RenderSVGResourceMarkerInlines.h" 29 29 #include "RenderSVGResourceMaskerInlines.h" -
trunk/Source/WebCore/svg/SVGRectElement.cpp
r287743 r287834 25 25 26 26 #include "LegacyRenderSVGRect.h" 27 #include "RenderSVGRect.h" 27 28 #include "RenderSVGResource.h" 28 29 #include "SVGElementInlines.h" … … 89 90 RenderPtr<RenderElement> SVGRectElement::createElementRenderer(RenderStyle&& style, const RenderTreePosition&) 90 91 { 92 // FIXME: [LBSE] Upstream enough code to allow the creation of RenderLayerModelObject based SVG renderers. 93 #if ENABLE(LAYER_BASED_SVG_ENGINE) 94 if (false && document().settings().layerBasedSVGEngineEnabled()) 95 return createRenderer<RenderSVGRect>(*this, WTFMove(style)); 96 #endif 97 91 98 return createRenderer<LegacyRenderSVGRect>(*this, WTFMove(style)); 92 99 }
Note:
See TracChangeset
for help on using the changeset viewer.