gecko-dev/layout/reftests/reftest-sanity/reftest-assigned-layer-fail...

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 строки
820 B
HTML
Исходник Обычный вид История

Bug 1142211 - Add layerization testing mechanisms to reftest. r=roc This adds support for class="reftest-opaque-layer" and for reftest-assigned-layer="some-layer-name" to the reftest harness. From reftest/README.txt: Opaque Layer Tests: class="reftest-opaque-layer" ================================================ If an element should be assigned to a PaintedLayer that's opaque, set the class "reftest-opaque-layer" on it. This checks whether the layer is opaque during the last paint of the test, and it works whether your test is an invalidation test or not. In order to pass the test, the element has to have a primary frame, and that frame's display items must all be assigned to a single painted layer and no other layers, so it can't be used on elements that create stacking contexts (active or inactive). Layerization Tests: reftest-assigned-layer="layer-name" ======================================================= If two elements should be assigned to the same PaintedLayer, choose any string value as the layer name and set the attribute reftest-assigned-layer="yourname" on both elements. Reftest will check whether all elements with the same reftest-assigned-layer value share the same layer. It will also test whether elements with different reftest-assigned-layer values are assigned to different layers. The same restrictions as with class="reftest-opaque-layer" apply: All elements must have a primary frame, and that frame's display items must all be assigned to the same PaintedLayer and no other layers. If these requirements are not met, the test will fail.
2015-03-11 21:51:59 +03:00
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>This test will fail because the some-other-layer gets merged into the page background layer</title>
<style>
.content {
box-sizing: border-box;
width: 200px;
height: 200px;
border: 1px solid black;
margin: 10px;
}
.relative {
position: relative;
}
.fixed {
position: fixed;
top: 140px;
left: 140px;
}
.low-z {
z-index: 1;
}
.mid-z {
z-index: 2;
}
.high-z {
z-index: 3;
}
.opaque-background {
background-color: white;
}
body {
height: 4000px;
}
</style>
<div class="content relative low-z" reftest-assigned-layer="page-background"></div>
<div class="fixed opaque-background content mid-z" reftest-assigned-layer="fixed-layer"></div>
<div class="content relative low-z" reftest-assigned-layer="some-other-layer"></div>