Changeset 270618 in webkit
- Timestamp:
- Dec 10, 2020 2:09:41 AM (20 months ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderReplaced.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/svg/RenderSVGRoot.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r270613 r270618 1 2020-12-10 Rob Buis <rbuis@igalia.com> 2 3 Support aspect-ratio on replaced elements 4 https://bugs.webkit.org/show_bug.cgi?id=219200 5 6 Reviewed by Darin Adler. 7 8 Enable some tests that pass now. 9 10 * TestExpectations: 11 1 12 2020-12-09 Cathie Chen <cathiechen@igalia.com> 2 13 -
trunk/LayoutTests/TestExpectations
r270610 r270618 4456 4456 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-021.html [ ImageOnlyFailure ] 4457 4457 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-022.html [ ImageOnlyFailure ] 4458 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-023.html [ ImageOnlyFailure ]4459 4458 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-024.html [ ImageOnlyFailure ] 4460 4459 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.html [ ImageOnlyFailure ] … … 4468 4467 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.html [ ImageOnlyFailure ] 4469 4468 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.html [ ImageOnlyFailure ] 4470 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.html [ ImageOnlyFailure ]4471 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.html [ ImageOnlyFailure ]4472 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.html [ ImageOnlyFailure ]4473 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.html [ ImageOnlyFailure ]4474 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.html [ ImageOnlyFailure ]4475 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.html [ ImageOnlyFailure ]4476 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.html [ ImageOnlyFailure ]4477 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.html [ ImageOnlyFailure ]4478 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.html [ ImageOnlyFailure ]4479 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.html [ ImageOnlyFailure ]4480 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.html [ ImageOnlyFailure ]4481 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-016.html [ ImageOnlyFailure ]4482 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-017.html [ ImageOnlyFailure ]4483 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-018.html [ ImageOnlyFailure ]4484 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-019.html [ ImageOnlyFailure ]4485 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-021.html [ ImageOnlyFailure ]4486 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-025.html [ ImageOnlyFailure ]4487 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-027.html [ ImageOnlyFailure ]4488 4469 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001.html [ ImageOnlyFailure ] 4489 4470 webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002.html [ ImageOnlyFailure ] -
trunk/Source/WebCore/ChangeLog
r270617 r270618 1 2020-12-10 Rob Buis <rbuis@igalia.com> 2 3 Support aspect-ratio on replaced elements 4 https://bugs.webkit.org/show_bug.cgi?id=219200 5 6 Reviewed by Darin Adler. 7 8 Take CSS aspect-ratio into account when calculating replaced element dimensions. 9 10 * rendering/RenderReplaced.cpp: 11 (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox const): override 12 the context renderer aspect ratio with the replaced element aspect ratio. 13 (WebCore::RenderReplaced::computeIntrinsicRatioInformation const): compute 14 intrinsicRatio using CSS aspect-ratio information if it is provided. 15 * rendering/svg/RenderSVGRoot.cpp: 16 (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const): compute 17 intrinsicRatio using CSS aspect-ratio for SVG root elements. 18 1 19 2020-12-09 Sergio Villar Senin <svillar@igalia.com> 2 20 -
trunk/Source/WebCore/rendering/RenderReplaced.cpp
r270585 r270618 393 393 contentRenderer->computeIntrinsicRatioInformation(intrinsicSize, intrinsicRatio); 394 394 395 if (style().aspectRatioType() == AspectRatioType::Ratio || (style().aspectRatioType() == AspectRatioType::AutoAndRatio && !intrinsicRatio)) 396 intrinsicRatio = style().aspectRatioWidth() / style().aspectRatioHeight(); 397 395 398 // Handle zoom & vertical writing modes here, as the embedded document doesn't know about them. 396 399 intrinsicSize.scale(style().effectiveZoom()); … … 478 481 intrinsicSize = FloatSize(intrinsicLogicalWidth(), intrinsicLogicalHeight()); 479 482 483 if (style().hasAspectRatio()) { 484 intrinsicRatio = style().logicalAspectRatio(); 485 if (style().aspectRatioType() == AspectRatioType::Ratio) 486 return; 487 } 480 488 // Figure out if we need to compute an intrinsic ratio. 481 489 if (!hasAspectRatio()) -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
r264364 r270618 84 84 intrinsicSize.setHeight(floatValueForLength(svgSVGElement().intrinsicHeight(), 0)); 85 85 86 86 if (style().aspectRatioType() == AspectRatioType::Ratio) { 87 intrinsicRatio = style().logicalAspectRatio(); 88 return; 89 } 90 91 Optional<double> intrinsicRatioValue; 87 92 if (!intrinsicSize.isEmpty()) 88 intrinsicRatio = intrinsicSize.width() / static_cast<double>(intrinsicSize.height());93 intrinsicRatioValue = intrinsicSize.width() / static_cast<double>(intrinsicSize.height()); 89 94 else { 90 95 // - If either/both of the ‘width’ and ‘height’ of the rootmost ‘svg’ element are in percentage units (or omitted), the … … 95 100 if (!viewBoxSize.isEmpty()) { 96 101 // The viewBox can only yield an intrinsic ratio, not an intrinsic size. 97 intrinsicRatio = viewBoxSize.width() / static_cast<double>(viewBoxSize.height()); 98 } 99 } 102 intrinsicRatioValue = viewBoxSize.width() / static_cast<double>(viewBoxSize.height()); 103 } 104 } 105 106 if (intrinsicRatioValue) 107 intrinsicRatio = *intrinsicRatioValue; 108 else if (style().aspectRatioType() == AspectRatioType::AutoAndRatio) 109 intrinsicRatio = style().logicalAspectRatio(); 100 110 } 101 111
Note: See TracChangeset
for help on using the changeset viewer.