layout: Allow transforming inline replaced elements (#31833)

This requires passing through information about whether or not the
element in question is replaced when checking to see if it's
transformable and transitively all functions that make decisions about
containing blocks. A new FragmentFlag is added to help track this -- it
will be set on both the replaced items BoxFragment container as well as
the Fragment for the replaced item itself.

Fixes #31806.
This commit is contained in:
Martin Robinson 2024-03-27 12:57:27 +01:00 committed by GitHub
parent 15cb9dd5fc
commit b8c82c1ab0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 114 additions and 35 deletions

View file

@ -260846,6 +260846,19 @@
{}
]
],
"transform-iframe-002.html": [
"b9b10ea368324efa93e73476fc8084dadb89f2d0",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square-only.html",
"=="
]
],
{}
]
],
"transform-image-001.html": [
"0565b8dbeeb86b82993847a139c8f38b66c0b163",
[
@ -415399,6 +415412,10 @@
"d92c3705b6b9dd270d17c64fce9010a5ab1fe4f3",
[]
],
"transform-iframe-002-contents.html": [
"84f079c90bcb590e81ba39753edf723bcb123858",
[]
],
"transform-lime-square.png": [
"8f939993332e1101b921615723ec6067f3bb90a3",
[]

View file

@ -1,2 +0,0 @@
[transform3d-image-scale-001.html]
expected: FAIL

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Test (Transforms): Iframe (contents)</title>
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
<style>
body {
background: green;
}
</style>
</head>
<body>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Test (Transforms): Iframe</title>
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-rendering">
<meta name="assert" content="This test ensures that an iframe element can be transformed.">
<link rel="match" href="/css/reference/ref-filled-green-100px-square-only.html">
<style>
iframe {
height: 50px;
width: 50px;
transform: translate(25px, 25px) scale(2, 2);
border: none;
}
</style>
<p>Test passes if there is a filled green square.</p>
<iframe src="support/transform-iframe-002-contents.html"></iframe>
</body>
</html>