WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch, v1
bug-233870-20211206051727.patch (text/plain), 14.95 KB, created by
Nikolas Zimmermann
on 2021-12-06 05:17:29 PST
(
hide
)
Description:
Patch, v1
Filename:
MIME Type:
Creator:
Nikolas Zimmermann
Created:
2021-12-06 05:17:29 PST
Size:
14.95 KB
patch
obsolete
>Subversion Revision: 286541 >diff --git a/Source/WebCore/accessibility/AXObjectCache.cpp b/Source/WebCore/accessibility/AXObjectCache.cpp >index a5034f6e929e6c34b090bcfd91a716e6dd0ac9c2..3bf3883dd6a60df95af8dd7c68c964ce35f4f634 100644 >--- a/Source/WebCore/accessibility/AXObjectCache.cpp >+++ b/Source/WebCore/accessibility/AXObjectCache.cpp >@@ -87,7 +87,6 @@ > #include "HTMLSelectElement.h" > #include "HTMLTextFormControlElement.h" > #include "InlineRunAndOffset.h" >-#include "LegacyRenderSVGRoot.h" > #include "MathMLElement.h" > #include "Page.h" > #include "Range.h" >@@ -547,7 +546,7 @@ static Ref<AccessibilityObject> createFromRenderer(RenderObject* renderer) > return AccessibilityMediaObject::create(renderer); > #endif > >- if (is<LegacyRenderSVGRoot>(*renderer)) >+ if (renderer->isSVGRootOrLegacySVGRoot()) > return AccessibilitySVGRoot::create(renderer); > > if (is<SVGElement>(node)) >diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp >index ff46af86c952f7a6d3032e86ddcdd9ad936b026e..c25423f613a6a91825fab29c6926d20cd9ecabc2 100644 >--- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp >+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp >@@ -856,7 +856,7 @@ LayoutRect AccessibilityRenderObject::boundingBoxRect() const > Vector<FloatQuad> quads; > bool isSVGRoot = false; > >- if (obj->isSVGRoot()) >+ if (obj->isSVGRootOrLegacySVGRoot()) > isSVGRoot = true; > > if (is<RenderText>(*obj)) >@@ -3011,7 +3011,7 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole() > if (headingLevel()) > return AccessibilityRole::Heading; > >- if (m_renderer->isSVGRoot()) >+ if (m_renderer->isSVGRootOrLegacySVGRoot()) > return AccessibilityRole::SVGRoot; > > if (isStyleFormatGroup()) { >diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp >index 1782f6db28da0686c82f012c137a2e25a3c48d2d..9c0318e53814b7102d97f04905c73e4ef688b6b6 100644 >--- a/Source/WebCore/dom/Element.cpp >+++ b/Source/WebCore/dom/Element.cpp >@@ -1714,7 +1714,7 @@ std::optional<std::pair<RenderObject*, FloatRect>> Element::boundingAbsoluteRect > { > RenderObject* renderer = this->renderer(); > Vector<FloatQuad> quads; >- if (isSVGElement() && renderer && !renderer->isSVGRoot()) { >+ if (isSVGElement() && renderer && !renderer->isSVGRootOrLegacySVGRoot()) { > // Get the bounding rectangle from the SVG model. > SVGElement& svgElement = downcast<SVGElement>(*this); > if (auto localRect = svgElement.getBoundingBox()) >diff --git a/Source/WebCore/inspector/InspectorOverlay.cpp b/Source/WebCore/inspector/InspectorOverlay.cpp >index c46e3e748f5915dbaf54b542e14ba23efd3cf6d2..827fa5e317745d886f1453ec9ce901c79659cfaa 100644 >--- a/Source/WebCore/inspector/InspectorOverlay.cpp >+++ b/Source/WebCore/inspector/InspectorOverlay.cpp >@@ -143,8 +143,8 @@ static void buildRendererHighlight(RenderObject* renderer, const InspectorOverla > FrameView* containingView = containingFrame->view(); > FrameView* mainView = containingFrame->page()->mainFrame().view(); > >- // LegacyRenderSVGRoot should be highlighted through the isBox() code path, all other SVG elements should just dump their absoluteQuads(). >- bool isSVGRenderer = renderer->node() && renderer->node()->isSVGElement() && !renderer->isSVGRoot(); >+ // (Legacy)RenderSVGRoot should be highlighted through the isBox() code path, all other SVG elements should just dump their absoluteQuads(). >+ bool isSVGRenderer = renderer->node() && renderer->node()->isSVGElement() && !renderer->isSVGRootOrLegacySVGRoot(); > > if (isSVGRenderer) { > highlight.type = InspectorOverlay::Highlight::Type::Rects; >diff --git a/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp b/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp >index 2a2d6e73bb0556e65cf298e153e172f5a8665934..3d9fbcd601d9def7f9379538eb0fa651c36d9bd3 100644 >--- a/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp >+++ b/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp >@@ -533,7 +533,7 @@ static OptionSet<AvoidanceReason> canUseForChild(const RenderBlockFlow& flow, co > if (replaced.isFloating() || replaced.isPositioned()) > SET_REASON_AND_RETURN_IF_NEEDED(ChildBoxIsFloatingOrPositioned, reasons, includeReasons) > >- if (replaced.isSVGRoot()) >+ if (replaced.isSVGRootOrLegacySVGRoot()) > SET_REASON_AND_RETURN_IF_NEEDED(ContentIsSVG, reasons, includeReasons); > > if (is<RenderImage>(replaced)) { >diff --git a/Source/WebCore/rendering/RenderGeometryMap.cpp b/Source/WebCore/rendering/RenderGeometryMap.cpp >index 2218c0cd70df526119ffa295e8bcb777944cf886..37f624b2efaf96f2cce621f2b5329b30ad65a5c2 100644 >--- a/Source/WebCore/rendering/RenderGeometryMap.cpp >+++ b/Source/WebCore/rendering/RenderGeometryMap.cpp >@@ -156,7 +156,7 @@ static bool canMapBetweenRenderersViaLayers(const RenderLayerModelObject& render > if (current->isRenderFragmentedFlow()) > return false; > >- if (current->isSVGRoot()) >+ if (current->isLegacySVGRoot()) > return false; > > if (current == &ancestor) >diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp >index ac6fe5db62fb1a07a72c6c5bf1a67d5917c647f9..48c868dc903421512bf12ca7ef90089d836644e0 100644 >--- a/Source/WebCore/rendering/RenderLayer.cpp >+++ b/Source/WebCore/rendering/RenderLayer.cpp >@@ -2205,7 +2205,7 @@ void RenderLayer::beginTransparencyLayers(GraphicsContext& context, const LayerP > context.clip(pixelSnappedClipRect); > > #if ENABLE(CSS_COMPOSITING) >- bool usesCompositeOperation = hasBlendMode() && !(renderer().isSVGRoot() && parent() && parent()->isRenderViewLayer()); >+ bool usesCompositeOperation = hasBlendMode() && !(renderer().isLegacySVGRoot() && parent() && parent()->isRenderViewLayer()); > if (usesCompositeOperation) > context.setCompositeOperation(context.compositeOperation(), blendMode()); > #endif >@@ -5541,7 +5541,7 @@ void RenderLayer::updateFiltersAfterStyleChange() > > // Add the filter as a client to this renderer, unless we are a RenderLayer accommodating > // an SVG. In that case it takes care of its own resource management for filters. >- if (renderer().style().filter().hasReferenceFilter() && !renderer().isSVGRoot()) { >+ if (renderer().style().filter().hasReferenceFilter() && !renderer().isSVGRootOrLegacySVGRoot()) { > ensureLayerFilters(); > m_filters->updateReferenceFilterClients(renderer().style().filter()); > } else if (m_filters) >diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h >index eb967b539d02c60fb415dd83bf263733ae113ce6..bd6d381674bc4257f815a767404ca847d355de07 100644 >--- a/Source/WebCore/rendering/RenderLayer.h >+++ b/Source/WebCore/rendering/RenderLayer.h >@@ -600,7 +600,7 @@ public: > { > // FIXME: This really needs to know if there are transforms on this layer and any of the layers > // between it and the ancestor in question. >- return !renderer().hasTransform() && !renderer().isSVGRoot(); >+ return !renderer().hasTransform() && !renderer().isSVGRootOrLegacySVGRoot(); > } > > // FIXME: adjustForColumns allows us to position compositing layers in columns correctly, but eventually they need to be split across columns too. >diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp >index 1683f85c876fce9f2352aa7da62af5f516913ab2..47f7c3a30859148bc348e110cec852bf1ff6ebc9 100644 >--- a/Source/WebCore/rendering/RenderObject.cpp >+++ b/Source/WebCore/rendering/RenderObject.cpp >@@ -508,7 +508,7 @@ static inline bool objectIsRelayoutBoundary(const RenderElement* object) > if (shouldApplyLayoutContainment(*object) && shouldApplySizeContainment(*object)) > return true; > >- if (object->isSVGRoot()) >+ if (object->isSVGRootOrLegacySVGRoot()) > return true; > > if (!object->hasNonVisibleOverflow()) >diff --git a/Source/WebCore/rendering/RenderObject.h b/Source/WebCore/rendering/RenderObject.h >index d49987872ef34103ac0e824d71f394c6ebce97d3..8ebcf294fb67a45b2f470f9f7fd1b7165b62e4a3 100644 >--- a/Source/WebCore/rendering/RenderObject.h >+++ b/Source/WebCore/rendering/RenderObject.h >@@ -326,6 +326,7 @@ public: > // to add SVG renderer methods to RenderObject with an ASSERT_NOT_REACHED() default implementation. > virtual bool isRenderSVGModelObject() const { return false; } > virtual bool isRenderSVGBlock() const { return false; }; >+ virtual bool isLegacySVGRoot() const { return false; } > virtual bool isSVGRoot() const { return false; } > virtual bool isSVGContainer() const { return false; } > virtual bool isSVGTransformableContainer() const { return false; } >@@ -345,6 +346,7 @@ public: > virtual bool isSVGResourceFilter() const { return false; } > virtual bool isSVGResourceClipper() const { return false; } > virtual bool isSVGResourceFilterPrimitive() const { return false; } >+ bool isSVGRootOrLegacySVGRoot() const { return isSVGRoot() || isLegacySVGRoot(); } > > // FIXME: Those belong into a SVG specific base-class for all renderers (see above) > // Unfortunately we don't have such a class yet, because it's not possible for all renderers >diff --git a/Source/WebCore/rendering/RenderReplaced.cpp b/Source/WebCore/rendering/RenderReplaced.cpp >index 60e5df5a0f25771f131272b7a5703e772b02f758..e9f11fd4a1813a942c8bbf04f0bc3ab37e0c80ee 100644 >--- a/Source/WebCore/rendering/RenderReplaced.cpp >+++ b/Source/WebCore/rendering/RenderReplaced.cpp >@@ -544,7 +544,7 @@ static inline bool hasIntrinsicSize(RenderBox*contentRenderer, bool hasIntrinsic > if (hasIntrinsicWidth && hasIntrinsicHeight) > return true; > if (hasIntrinsicWidth || hasIntrinsicHeight) >- return contentRenderer && contentRenderer->isSVGRoot(); >+ return contentRenderer && contentRenderer->isSVGRootOrLegacySVGRoot(); > return false; > } > >diff --git a/Source/WebCore/rendering/RenderView.cpp b/Source/WebCore/rendering/RenderView.cpp >index 63e1dc9f8564d94c4b9414e9bf857b0a7d4d018e..14e4f151e97491cbfed755028e45fff722a51cfd 100644 >--- a/Source/WebCore/rendering/RenderView.cpp >+++ b/Source/WebCore/rendering/RenderView.cpp >@@ -169,7 +169,7 @@ void RenderView::layout() > || box.style().logicalHeight().isPercentOrCalculated() > || box.style().logicalMinHeight().isPercentOrCalculated() > || box.style().logicalMaxHeight().isPercentOrCalculated() >- || box.isSVGRoot() >+ || box.isSVGRootOrLegacySVGRoot() > ) > box.setChildNeedsLayout(MarkOnlyThis); > } >diff --git a/Source/WebCore/rendering/svg/LegacyRenderSVGRoot.h b/Source/WebCore/rendering/svg/LegacyRenderSVGRoot.h >index 2086a56a90c2d8e84218522f6af8e85a6d92c403..a64b7ba4cbf0ea73598719773de4b4d3d3bb9be6 100644 >--- a/Source/WebCore/rendering/svg/LegacyRenderSVGRoot.h >+++ b/Source/WebCore/rendering/svg/LegacyRenderSVGRoot.h >@@ -66,7 +66,7 @@ public: > private: > void element() const = delete; > >- bool isSVGRoot() const override { return true; } >+ bool isLegacySVGRoot() const override { return true; } > > // Intentially left 'RenderSVGRoot' instead of 'LegacyRenderSVGRoot', to avoid breaking layout tests. > const char* renderName() const override { return "RenderSVGRoot"; } >@@ -123,4 +123,4 @@ private: > > } // namespace WebCore > >-SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(LegacyRenderSVGRoot, isSVGRoot()) >+SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(LegacyRenderSVGRoot, isLegacySVGRoot()) >diff --git a/Source/WebCore/rendering/svg/SVGRenderSupport.cpp b/Source/WebCore/rendering/svg/SVGRenderSupport.cpp >index a4f64caf61990e37693b8bc685d82a45f95c91ab..4ec9ee006083ff52a89cec47bae06b8effe9b56c 100644 >--- a/Source/WebCore/rendering/svg/SVGRenderSupport.cpp >+++ b/Source/WebCore/rendering/svg/SVGRenderSupport.cpp >@@ -204,7 +204,7 @@ static inline void invalidateResourcesOfChildren(RenderElement& renderer) > static inline bool layoutSizeOfNearestViewportChanged(const RenderElement& renderer) > { > const RenderElement* start = &renderer; >- while (start && !is<LegacyRenderSVGRoot>(*start) && !is<RenderSVGViewportContainer>(*start)) >+ while (start && !start->isSVGRootOrLegacySVGRoot() && !is<RenderSVGViewportContainer>(*start)) > start = start->parent(); > > ASSERT(start); >@@ -216,7 +216,7 @@ static inline bool layoutSizeOfNearestViewportChanged(const RenderElement& rende > > bool SVGRenderSupport::transformToRootChanged(RenderElement* ancestor) > { >- while (ancestor && !is<LegacyRenderSVGRoot>(*ancestor)) { >+ while (ancestor && !ancestor->isSVGRootOrLegacySVGRoot()) { > if (is<RenderSVGTransformableContainer>(*ancestor)) > return downcast<RenderSVGTransformableContainer>(*ancestor).didTransformToRootUpdate(); > if (is<RenderSVGViewportContainer>(*ancestor)) >diff --git a/Source/WebCore/rendering/svg/SVGRenderingContext.cpp b/Source/WebCore/rendering/svg/SVGRenderingContext.cpp >index 3d06074f46ec804b2d9820a9ffd84950b8a005ce..641a0d67fc6a1721eecabdcc5ac3f10c632dec04 100644 >--- a/Source/WebCore/rendering/svg/SVGRenderingContext.cpp >+++ b/Source/WebCore/rendering/svg/SVGRenderingContext.cpp >@@ -97,7 +97,7 @@ void SVGRenderingContext::prepareToRenderSVGContent(RenderElement& renderer, Pai > // Setup transparency layers before setting up SVG resources! > bool isRenderingMask = isRenderingMaskImage(*m_renderer); > // RenderLayer takes care of root opacity. >- float opacity = (renderer.isSVGRoot() || isRenderingMask) ? 1 : style.opacity(); >+ float opacity = (renderer.isLegacySVGRoot() || isRenderingMask) ? 1 : style.opacity(); > bool hasBlendMode = style.hasBlendMode(); > bool hasIsolation = style.hasIsolation(); > bool isolateMaskForBlending = false; >@@ -206,7 +206,7 @@ AffineTransform SVGRenderingContext::calculateTransformationToOutermostCoordinat > const RenderObject* ancestor = &renderer; > while (ancestor) { > absoluteTransform = ancestor->localToParentTransform() * absoluteTransform; >- if (ancestor->isSVGRoot()) >+ if (ancestor->isSVGRootOrLegacySVGRoot()) > break; > ancestor = ancestor->parent(); > } >diff --git a/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp b/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp >index 97c10871b3965f6a1eacfc6aeac70b7a0e4bc937..8db3a29c60ed4b9ef4133c0b1c4a002c3b4666e6 100644 >--- a/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp >+++ b/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp >@@ -995,7 +995,7 @@ void RenderTreeBuilder::reportVisuallyNonEmptyContent(const RenderElement& paren > m_view.frameView().incrementVisuallyNonEmptyPixelCount(roundedIntSize(replacedRenderer.intrinsicSize())); > return; > } >- if (is<LegacyRenderSVGRoot>(child)) { >+ if (child.isSVGRootOrLegacySVGRoot()) { > auto fixedSize = [] (const auto& renderer) -> std::optional<IntSize> { > auto& style = renderer.style(); > if (!style.width().isFixed() || !style.height().isFixed())
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 233870
:
446029
|
446030