Changeset 285745 in webkit
- Timestamp:
- Nov 12, 2021, 3:00:38 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 19 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (2 diffs)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-item-contains-strict-expected.txt (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/page/FrameView.cpp (modified) (3 diffs)
-
Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp (modified) (1 diff)
-
Source/WebCore/rendering/RenderBox.cpp (modified) (6 diffs)
-
Source/WebCore/rendering/RenderBoxModelObject.cpp (modified) (1 diff)
-
Source/WebCore/rendering/RenderElement.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/RenderElement.h (modified) (3 diffs)
-
Source/WebCore/rendering/RenderFlexibleBox.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/RenderFragmentContainer.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/RenderInline.h (modified) (1 diff)
-
Source/WebCore/rendering/RenderLayer.cpp (modified) (5 diffs)
-
Source/WebCore/rendering/RenderObject.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/RenderObject.h (modified) (4 diffs)
-
Source/WebCore/rendering/style/RenderStyle.h (modified) (2 diffs)
-
Source/WebCore/rendering/svg/RenderSVGRoot.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r285743 r285745 1 2021-11-12 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, reverting r285583. 4 5 Seems to have caused many layout tests to become flaky 6 failures 7 8 Reverted changeset: 9 10 "[css-contain] Support contain:paint" 11 https://bugs.webkit.org/show_bug.cgi?id=224742 12 https://commits.webkit.org/r285583 13 1 14 2021-11-12 Chris Dumez <cdumez@apple.com> 2 15 -
trunk/LayoutTests/TestExpectations
r285709 r285745 4722 4722 # webkit-ruby-text 4723 4723 imported/w3c/web-platform-tests/css/css-contain/contain-layout-017.html [ ImageOnlyFailure ] 4724 imported/w3c/web-platform-tests/css/css-contain/contain-paint-005.html [ ImageOnlyFailure ]4725 imported/w3c/web-platform-tests/css/css-contain/contain-paint-006.html [ ImageOnlyFailure ]4726 imported/w3c/web-platform-tests/css/css-contain/contain-paint-008.html [ ImageOnlyFailure ]4727 imported/w3c/web-platform-tests/css/css-contain/contain-paint-021.html [ ImageOnlyFailure ]4728 4724 imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-001.html [ ImageOnlyFailure ] 4729 4725 imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-003.html [ ImageOnlyFailure ] … … 4740 4736 imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-021.html [ ImageOnlyFailure ] 4741 4737 imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-022.html [ ImageOnlyFailure ] 4738 imported/w3c/web-platform-tests/css/css-contain/contain-paint-001.html [ ImageOnlyFailure ] 4739 imported/w3c/web-platform-tests/css/css-contain/contain-paint-004.html [ ImageOnlyFailure ] 4740 imported/w3c/web-platform-tests/css/css-contain/contain-paint-005.html [ ImageOnlyFailure ] 4741 imported/w3c/web-platform-tests/css/css-contain/contain-paint-006.html [ ImageOnlyFailure ] 4742 imported/w3c/web-platform-tests/css/css-contain/contain-paint-008.html [ ImageOnlyFailure ] 4743 imported/w3c/web-platform-tests/css/css-contain/contain-paint-009.html [ ImageOnlyFailure ] 4744 imported/w3c/web-platform-tests/css/css-contain/contain-paint-010.html [ ImageOnlyFailure ] 4745 imported/w3c/web-platform-tests/css/css-contain/contain-paint-014.html [ ImageOnlyFailure ] 4746 imported/w3c/web-platform-tests/css/css-contain/contain-paint-019.html [ ImageOnlyFailure ] 4747 imported/w3c/web-platform-tests/css/css-contain/contain-paint-020.html [ ImageOnlyFailure ] 4748 imported/w3c/web-platform-tests/css/css-contain/contain-paint-022.html [ ImageOnlyFailure ] 4749 imported/w3c/web-platform-tests/css/css-contain/contain-paint-023.html [ ImageOnlyFailure ] 4750 imported/w3c/web-platform-tests/css/css-contain/contain-paint-047.html [ ImageOnlyFailure ] 4751 imported/w3c/web-platform-tests/css/css-contain/contain-paint-048.html [ ImageOnlyFailure ] 4752 imported/w3c/web-platform-tests/css/css-contain/contain-paint-cell-001.html [ ImageOnlyFailure ] 4753 imported/w3c/web-platform-tests/css/css-contain/contain-paint-cell-002.html [ ImageOnlyFailure ] 4754 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-001.html [ ImageOnlyFailure ] 4755 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-002.html [ ImageOnlyFailure ] 4756 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-006.html [ ImageOnlyFailure ] 4757 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-011.html [ ImageOnlyFailure ] 4758 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-012.html [ ImageOnlyFailure ] 4759 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-013.html [ ImageOnlyFailure ] 4760 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-014.html [ ImageOnlyFailure ] 4742 4761 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-015.html [ ImageOnlyFailure ] 4743 4762 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-016.html [ ImageOnlyFailure ] 4763 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-017.html [ ImageOnlyFailure ] 4764 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-018.html [ ImageOnlyFailure ] 4765 imported/w3c/web-platform-tests/css/css-contain/contain-paint-clip-019.html [ ImageOnlyFailure ] 4766 imported/w3c/web-platform-tests/css/css-contain/contain-paint-containing-block-absolute-001.html [ ImageOnlyFailure ] 4767 imported/w3c/web-platform-tests/css/css-contain/contain-paint-containing-block-fixed-001.html [ ImageOnlyFailure ] 4768 imported/w3c/web-platform-tests/css/css-contain/contain-paint-formatting-context-float-001.html [ ImageOnlyFailure ] 4769 imported/w3c/web-platform-tests/css/css-contain/contain-paint-formatting-context-margin-001.html [ ImageOnlyFailure ] 4770 imported/w3c/web-platform-tests/css/css-contain/contain-paint-ifc-011.html [ ImageOnlyFailure ] 4771 imported/w3c/web-platform-tests/css/css-contain/contain-paint-independent-formatting-context-001.html [ ImageOnlyFailure ] 4772 imported/w3c/web-platform-tests/css/css-contain/contain-paint-size-001.html [ ImageOnlyFailure ] 4773 imported/w3c/web-platform-tests/css/css-contain/contain-paint-size-002.html [ ImageOnlyFailure ] 4774 imported/w3c/web-platform-tests/css/css-contain/contain-paint-size-003.html [ ImageOnlyFailure ] 4775 imported/w3c/web-platform-tests/css/css-contain/contain-paint-stacking-context-001a.html [ ImageOnlyFailure ] 4776 imported/w3c/web-platform-tests/css/css-contain/contain-paint-table-001.html [ ImageOnlyFailure ] 4777 imported/w3c/web-platform-tests/css/css-contain/contain-paint-table-002.html [ ImageOnlyFailure ] 4778 imported/w3c/web-platform-tests/css/css-contain/contain-strict-001.html [ ImageOnlyFailure ] 4779 imported/w3c/web-platform-tests/css/css-contain/contain-strict-002.html [ ImageOnlyFailure ] 4780 imported/w3c/web-platform-tests/css/css-contain/contain-strict-011.html [ ImageOnlyFailure ] 4744 4781 imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-032.html [ ImageOnlyFailure ] 4745 4782 imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-033.sub.https.html [ ImageOnlyFailure ] -
trunk/LayoutTests/imported/w3c/ChangeLog
r285740 r285745 1 2021-11-12 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, reverting r285583. 4 5 Seems to have caused many layout tests to become flaky 6 failures 7 8 Reverted changeset: 9 10 "[css-contain] Support contain:paint" 11 https://bugs.webkit.org/show_bug.cgi?id=224742 12 https://commits.webkit.org/r285583 13 1 14 2021-11-12 Alexey Shvayka <ashvayka@apple.com> 2 15 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-item-contains-strict-expected.txt
r285583 r285745 1 1 Stretched: 2 2 3 Column 3 4 5 Row 4 6 5 7 Column … … 8 10 Flex-start: 9 11 12 Column 10 13 14 Row 11 15 12 16 Column -
trunk/Source/WebCore/ChangeLog
r285740 r285745 1 2021-11-12 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, reverting r285583. 4 5 Seems to have caused many layout tests to become flaky 6 failures 7 8 Reverted changeset: 9 10 "[css-contain] Support contain:paint" 11 https://bugs.webkit.org/show_bug.cgi?id=224742 12 https://commits.webkit.org/r285583 13 1 14 2021-11-12 Alexey Shvayka <ashvayka@apple.com> 2 15 -
trunk/Source/WebCore/page/FrameView.cpp
r285640 r285745 645 645 bool overrideHidden = frame().isMainFrame() && ((frame().frameScaleFactor() > 1) || headerHeight() || footerHeight()); 646 646 647 Overflow overflowX = renderer. effectiveOverflowX();648 Overflow overflowY = renderer. effectiveOverflowY();647 Overflow overflowX = renderer.style().overflowX(); 648 Overflow overflowY = renderer.style().overflowY(); 649 649 650 650 if (is<RenderSVGRoot>(renderer)) { … … 710 710 auto* body = document->body(); 711 711 if (body && body->renderer()) { 712 documentOrBodyRenderer = documentRenderer. effectiveOverflowX() == Overflow::Visible && is<HTMLHtmlElement>(*documentElement) ?712 documentOrBodyRenderer = documentRenderer.style().overflowX() == Overflow::Visible && is<HTMLHtmlElement>(*documentElement) ? 713 713 body->renderer() : &documentRenderer; 714 714 } 715 715 716 716 Pagination pagination; 717 Overflow overflowY = documentOrBodyRenderer-> effectiveOverflowY();717 Overflow overflowY = documentOrBodyRenderer->style().overflowY(); 718 718 if (overflowY == Overflow::PagedX || overflowY == Overflow::PagedY) { 719 719 pagination.mode = WebCore::paginationModeForRenderStyle(documentOrBodyRenderer->style()); … … 777 777 // It's sufficient to just check the X overflow, 778 778 // since it's illegal to have visible in only one direction. 779 if (rootRenderer-> effectiveOverflowX() == Overflow::Visible && is<HTMLHtmlElement>(documentElement)) {779 if (rootRenderer->style().overflowX() == Overflow::Visible && is<HTMLHtmlElement>(documentElement)) { 780 780 auto* bodyRenderer = bodyOrFrameset->renderer(); 781 781 if (bodyRenderer) { -
trunk/Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp
r285583 r285745 847 847 848 848 const Length& childMinSize = isRowAxis ? child.style().logicalMinWidth() : child.style().logicalMinHeight(); 849 bool overflowIsVisible = isRowAxis ? child. effectiveOverflowInlineDirection() == Overflow::Visible : child.effectiveOverflowBlockDirection() == Overflow::Visible;849 bool overflowIsVisible = isRowAxis ? child.style().overflowInlineDirection() == Overflow::Visible : child.style().overflowBlockDirection() == Overflow::Visible; 850 850 LayoutUnit baselineShim = m_algorithm.baselineOffsetForChild(child, gridAxisForDirection(direction())); 851 851 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r285709 r285745 488 488 489 489 // We also handle <body> and <html>, whose overflow applies to the viewport. 490 if (!( effectiveOverflowX() == Overflow::Visible && effectiveOverflowY() == Overflow::Visible) && !isDocElementRenderer && isRenderBlock()) {490 if (!(styleToUse.overflowX() == Overflow::Visible && styleToUse.overflowY() == Overflow::Visible) && !isDocElementRenderer && isRenderBlock()) { 491 491 bool boxHasNonVisibleOverflow = true; 492 492 if (isBody()) { … … 497 497 if (is<HTMLHtmlElement>(*document().documentElement()) 498 498 && document().body() == element() 499 && document().documentElement()->renderer()-> effectiveOverflowX() == Overflow::Visible) {499 && document().documentElement()->renderer()->style().overflowX() == Overflow::Visible) { 500 500 boxHasNonVisibleOverflow = false; 501 501 } … … 667 667 return logicalWidth; 668 668 auto minLength = styleToUse.logicalMinWidth(); 669 if (styleToUse.hasAspectRatio() && minLength.isAuto() && (styleToUse.logicalWidth().isAuto() || styleToUse.logicalWidth().isMinContent() || styleToUse.logicalWidth().isMaxContent()) && effectiveOverflowInlineDirection() == Overflow::Visible) {669 if (styleToUse.hasAspectRatio() && minLength.isAuto() && (styleToUse.logicalWidth().isAuto() || styleToUse.logicalWidth().isMinContent() || styleToUse.logicalWidth().isMaxContent()) && styleToUse.overflowInlineDirection() == Overflow::Visible) { 670 670 // Make sure we actually used the aspect ratio. 671 671 if (shouldComputeLogicalWidthFromAspectRatio()) … … 683 683 } 684 684 auto logicalMinHeight = styleToUse.logicalMinHeight(); 685 if (logicalMinHeight.isAuto() && shouldComputeLogicalHeightFromAspectRatio() && intrinsicContentHeight && effectiveOverflowBlockDirection() == Overflow::Visible) {685 if (logicalMinHeight.isAuto() && shouldComputeLogicalHeightFromAspectRatio() && intrinsicContentHeight && styleToUse.overflowBlockDirection() == Overflow::Visible) { 686 686 auto heightFromAspectRatio = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), LayoutUnit(style().logicalAspectRatio()), style().boxSizingForAspectRatio(), logicalWidth()) - borderAndPaddingLogicalHeight(); 687 687 if (firstChild()) … … 4907 4907 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasPotentiallyScrollableOverflow() || isFlexItemIncludingDeprecated() 4908 4908 || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElementRenderer() || isRenderFragmentedFlow() 4909 || style().containsLayout() || paintContainmentApplies() ||isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All || style().display() == DisplayType::FlowRoot;4909 || style().containsLayout() || isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All || style().display() == DisplayType::FlowRoot; 4910 4910 } 4911 4911 … … 4975 4975 void RenderBox::addOverflowFromChild(const RenderBox* child, const LayoutSize& delta) 4976 4976 { 4977 if (paintContainmentApplies())4978 return;4979 4977 // Never allow flow threads to propagate overflow up to a parent. 4980 4978 if (child->isRenderFragmentedFlow()) -
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp
r285583 r285745 212 212 if (styleToUse.isFlippedBlocksWritingMode()) 213 213 view().frameView().setHasFlippedBlockRenderers(true); 214 setPaintContainmentApplies(shouldApplyPaintContainment(*this));215 214 } 216 215 -
trunk/Source/WebCore/rendering/RenderElement.cpp
r285615 r285745 2318 2318 // For fixed height styles, if the overflow size of the element spills out of the specified 2319 2319 // height, assume we can apply text auto-sizing. 2320 if ( downcast<RenderBlock>(renderer).effectiveOverflowY() == Overflow::Visible2320 if (style.overflowY() == Overflow::Visible 2321 2321 && style.height().value() < downcast<RenderBlock>(renderer).layoutOverflowRect().maxY()) 2322 2322 return RenderObject::OverflowHeight; … … 2408 2408 } 2409 2409 2410 Overflow RenderElement::effectiveOverflowX() const 2411 { 2412 auto overflowX = style().overflowX(); 2413 if (paintContainmentApplies() && overflowX == Overflow::Visible) 2414 return Overflow::Clip; 2415 return overflowX; 2416 } 2417 2418 Overflow RenderElement::effectiveOverflowY() const 2419 { 2420 auto overflowY = style().overflowY(); 2421 if (paintContainmentApplies() && overflowY == Overflow::Visible) 2422 return Overflow::Clip; 2423 return overflowY; 2424 } 2425 2426 } 2410 } -
trunk/Source/WebCore/rendering/RenderElement.h
r285583 r285745 269 269 ReferencedSVGResources& ensureReferencedSVGResources(); 270 270 271 Overflow effectiveOverflowX() const;272 Overflow effectiveOverflowY() const;273 Overflow effectiveOverflowInlineDirection() const { return style().isHorizontalWritingMode() ? effectiveOverflowX() : effectiveOverflowY(); }274 Overflow effectiveOverflowBlockDirection() const { return style().isHorizontalWritingMode() ? effectiveOverflowY() : effectiveOverflowX(); }275 276 271 protected: 277 272 enum BaseTypeFlag { … … 462 457 || (isRenderBlock() && style().willChange() && style().willChange()->createsContainingBlockForOutOfFlowPositioned()) 463 458 || isSVGForeignObject() 464 || shouldApplyLayoutContainment(*this) 465 || shouldApplyPaintContainment(*this); 459 || shouldApplyLayoutContainment(*this); 466 460 } 467 461 … … 474 468 || isSVGForeignObject() 475 469 || shouldApplyLayoutContainment(*this) 476 || shouldApplyPaintContainment(*this)477 470 || isRenderView(); 478 471 } -
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
r285709 r285745 1845 1845 { 1846 1846 if (isHorizontalFlow()) 1847 return child. effectiveOverflowX();1848 return child. effectiveOverflowY();1847 return child.style().overflowX(); 1848 return child.style().overflowY(); 1849 1849 } 1850 1850 … … 1852 1852 { 1853 1853 if (isHorizontalFlow()) 1854 return child. effectiveOverflowY();1855 return child. effectiveOverflowX();1854 return child.style().overflowY(); 1855 return child.style().overflowX(); 1856 1856 } 1857 1857 -
trunk/Source/WebCore/rendering/RenderFragmentContainer.cpp
r285583 r285745 158 158 LayoutUnit minY = isFirstPortion ? fragmentedFlowOverflow.y() : fragmentedFlowPortionRect.y(); 159 159 LayoutUnit maxY = isLastPortion ? std::max(fragmentedFlowPortionRect.maxY(), fragmentedFlowOverflow.maxY()) : fragmentedFlowPortionRect.maxY(); 160 bool clipX = effectiveOverflowX() != Overflow::Visible;160 bool clipX = style().overflowX() != Overflow::Visible; 161 161 LayoutUnit minX = clipX ? fragmentedFlowPortionRect.x() : std::min(fragmentedFlowPortionRect.x(), fragmentedFlowOverflow.x()); 162 162 LayoutUnit maxX = clipX ? fragmentedFlowPortionRect.maxX() : std::max(fragmentedFlowPortionRect.maxX(), fragmentedFlowOverflow.maxX()); … … 165 165 LayoutUnit minX = isFirstPortion ? fragmentedFlowOverflow.x() : fragmentedFlowPortionRect.x(); 166 166 LayoutUnit maxX = isLastPortion ? std::max(fragmentedFlowPortionRect.maxX(), fragmentedFlowOverflow.maxX()) : fragmentedFlowPortionRect.maxX(); 167 bool clipY = effectiveOverflowY() != Overflow::Visible;167 bool clipY = style().overflowY() != Overflow::Visible; 168 168 LayoutUnit minY = clipY ? fragmentedFlowPortionRect.y() : std::min(fragmentedFlowPortionRect.y(), fragmentedFlowOverflow.y()); 169 169 LayoutUnit maxY = clipY ? fragmentedFlowPortionRect.maxY() : std::max(fragmentedFlowPortionRect.y(), fragmentedFlowOverflow.maxY()); -
trunk/Source/WebCore/rendering/RenderInline.h
r285583 r285745 83 83 bool mayAffectLayout() const; 84 84 85 bool requiresLayer() const override { return isInFlowPositioned() || createsGroup() || hasClipPath() || shouldApplyPaintContainment(*this) ||willChangeCreatesStackingContext() || hasRunningAcceleratedAnimations(); }85 bool requiresLayer() const override { return isInFlowPositioned() || createsGroup() || hasClipPath() || willChangeCreatesStackingContext() || hasRunningAcceleratedAnimations(); } 86 86 87 87 protected: -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r285618 r285745 557 557 || renderer.hasReflection() 558 558 || renderer.style().hasIsolation() 559 || shouldApplyPaintContainment(renderer)560 559 || !renderer.style().hasAutoUsedZIndex() 561 560 || (renderer.style().willChange() && renderer.style().willChange()->canCreateStackingContext()) … … 589 588 bool RenderLayer::shouldBeCSSStackingContext() const 590 589 { 591 return !renderer().style().hasAutoUsedZIndex() || shouldApplyPaintContainment(renderer()) ||isRenderViewLayer();590 return !renderer().style().hasAutoUsedZIndex() || isRenderViewLayer(); 592 591 } 593 592 … … 1091 1090 { 1092 1091 for (RenderLayer* layer = this; layer; layer = layer->parent()) { 1093 if (shouldApplyPaintContainment(renderer())) {1094 m_hasSelfPaintingLayerDescendant = true;1095 m_hasSelfPaintingLayerDescendantDirty = false;1096 break;1097 }1098 1092 if (!layer->m_hasSelfPaintingLayerDescendantDirty && layer->hasSelfPaintingLayerDescendant()) 1099 1093 break; … … 1496 1490 { 1497 1491 for (RenderLayer* layer = this; layer; layer = layer->parent()) { 1498 if (shouldApplyPaintContainment(renderer())) {1499 m_hasVisibleDescendant = true;1500 m_visibleDescendantStatusDirty = false;1501 break;1502 }1503 1492 if (!layer->m_visibleDescendantStatusDirty && layer->hasVisibleDescendant()) 1504 1493 break; … … 4541 4530 if (renderer().isPositioned()) 4542 4531 clipRects.setPosClipRect(intersection(newOverflowClip, clipRects.posClipRect())); 4543 if (shouldApplyPaintContainment(renderer())) {4544 clipRects.setPosClipRect(intersection(newOverflowClip, clipRects.posClipRect()));4545 clipRects.setFixedClipRect(intersection(newOverflowClip, clipRects.fixedClipRect()));4546 }4547 4532 } 4548 4533 if (renderer().hasClip()) { -
trunk/Source/WebCore/rendering/RenderObject.cpp
r285583 r285745 1920 1920 } 1921 1921 1922 void RenderObject::setPaintContainmentApplies(bool paintContainmentApplies)1923 {1924 if (paintContainmentApplies || hasRareData())1925 ensureRareData().setPaintContainmentApplies(paintContainmentApplies);1926 }1927 1928 1922 RenderObject::RareDataMap& RenderObject::rareDataMap() 1929 1923 { … … 2553 2547 return (!renderer.isInline() || renderer.isAtomicInlineLevelBox()) && !renderer.isRubyText() && (!renderer.isTablePart() || renderer.isTableCaption()) && !renderer.isTable(); 2554 2548 } 2555 2556 bool WebCore::shouldApplyPaintContainment(const WebCore::RenderObject& renderer)2557 {2558 return renderer.style().containsPaint() && (!renderer.isInline() || renderer.isAtomicInlineLevelBox()) && !renderer.isRubyText() && (!renderer.isTablePart() || renderer.isRenderBlockFlow());2559 }2560 -
trunk/Source/WebCore/rendering/RenderObject.h
r285583 r285745 409 409 bool isRenderFragmentedFlow() const { return m_bitfields.hasRareData() && rareData().isRenderFragmentedFlow(); } 410 410 bool hasOutlineAutoAncestor() const { return m_bitfields.hasRareData() && rareData().hasOutlineAutoAncestor(); } 411 bool paintContainmentApplies() const { return m_bitfields.hasRareData() && rareData().paintContainmentApplies(); }412 411 413 412 bool isExcludedFromNormalLayout() const { return m_bitfields.isExcludedFromNormalLayout(); } … … 507 506 void setIsRenderFragmentedFlow(bool = true); 508 507 void setHasOutlineAutoAncestor(bool = true); 509 void setPaintContainmentApplies(bool = true);510 508 511 509 // Hook so that RenderTextControl can return the line height of its inner renderer. … … 938 936 ADD_BOOLEAN_BITFIELD(isRenderFragmentedFlow, IsRenderFragmentedFlow); 939 937 ADD_BOOLEAN_BITFIELD(hasOutlineAutoAncestor, HasOutlineAutoAncestor); 940 ADD_BOOLEAN_BITFIELD(paintContainmentApplies, PaintContainmentApplies);941 938 942 939 // From RenderElement … … 1213 1210 bool shouldApplySizeContainment(const RenderObject&); 1214 1211 bool shouldApplyStyleContainment(const RenderObject&); 1215 bool shouldApplyPaintContainment(const RenderObject&);1216 1212 1217 1213 } // namespace WebCore -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r285615 r285745 332 332 Overflow overflowX() const { return static_cast<Overflow>(m_nonInheritedFlags.overflowX); } 333 333 Overflow overflowY() const { return static_cast<Overflow>(m_nonInheritedFlags.overflowY); } 334 Overflow overflowInlineDirection() const { return isHorizontalWritingMode() ? overflowX() : overflowY(); } 335 Overflow overflowBlockDirection() const { return isHorizontalWritingMode() ? overflowY() : overflowX(); } 334 336 bool isOverflowVisible() const { return overflowX() == Overflow::Visible || overflowY() == Overflow::Visible; } 335 337 … … 531 533 bool containsSize() const { return m_rareNonInheritedData->contain.contains(Containment::Size); } 532 534 bool containsStyle() const { return m_rareNonInheritedData->contain.contains(Containment::Style); } 533 bool containsPaint() const { return m_rareNonInheritedData->contain.contains(Containment::Paint); }534 535 BoxAlignment boxAlign() const { return static_cast<BoxAlignment>(m_rareNonInheritedData->deprecatedFlexibleBox->align); } 535 536 BoxDirection boxDirection() const { return static_cast<BoxDirection>(m_inheritedFlags.boxDirection); } -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
r285583 r285745 216 216 // When the svg is stand-alone (isDocumentElement() == true) the viewport clipping should always 217 217 // be applied, noting that the window scrollbars should be hidden if overflow=hidden. 218 return effectiveOverflowX() == Overflow::Hidden218 return style().overflowX() == Overflow::Hidden 219 219 || style().overflowX() == Overflow::Auto 220 220 || style().overflowX() == Overflow::Scroll
Note:
See TracChangeset
for help on using the changeset viewer.