Files
sousa-gecko/testing/web-platform/tests/html/semantics/permission-element/install/negative-offset.tentative.html
T
Lia Hiscock 49ea054814 Bug 2028750 [wpt PR 58919] - [<install> element] Add external web platform tests, a=testonly
Automatic update from web-platform-tests
[<install> element] Add external web platform tests

* Boilerplate permission element spec [1] coverage
* install-specific [2] tests (iframe, sandbox behavior)
* Minor fixups for typos in usermedia tests

[1] https://wicg.github.io/PEPC/permission-elements.html

[2] https://github.com/WICG/install-element

Bug: 495474990,454827186
Change-Id: Ib0b248267040bde190d84918c54f090f16b54a6b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7705561
Commit-Queue: Lia Hiscock <liahiscock@microsoft.com>
Reviewed-by: Jonathan Lee <jonathanjlee@google.com>
Cr-Commit-Position: refs/heads/main@{#1608800}

--

wpt-commits: 024baaebbadd8e687d7618d16c896a7715c64688
wpt-pr: 58919
2026-04-17 08:36:02 +00:00

80 lines
2.7 KiB
HTML

<!DOCTYPE html>
<meta charset=utf-8>
<link rel="help" href="https://github.com/WICG/PEPC/blob/main/explainer.md#locking-the-pepc-style">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<!--The install element should not allow setting negative outline-offset.
-->
<style>
#id1 {
outline-offset: -50px;
}
#id2 {
outline-offset: 50px;
}
/* These various expressions all result in a negative value when calculated */
#id3 {
outline-offset: min(-50px, 50px);
}
#id4 {
outline-offset: min(10%, -50px);
}
#id5 {
outline-offset: clamp(-100px, 1vw, -50px);
}
#id6 {
outline-offset: calc(1% - 10000px);
}
#id7 {
outline-offset: max(min(-1em, 10em), -5%);
}
</style>
<install id="id1"></install>
<install id="id2"></install>
<install id="id3"></install>
<install id="id4"></install>
<install id="id5"></install>
<install id="id6"></install>
<install id="id7"></install>
<script>
test(function(){
var el_with_negatives = document.getElementById("id1");
assert_equals(getComputedStyle(el_with_negatives).outlineOffset, "0px", "outline-offset");
}, "Negative offset should be changed to 0px");
test(function(){
var el_with_positives = document.getElementById("id2");
assert_equals(getComputedStyle(el_with_positives).outlineOffset, "50px", "outline-offset");
}, "Positive offset are unaffected");
test(function(){
var el_with_negative_expr = document.getElementById("id3");
assert_equals(getComputedStyle(el_with_negative_expr).outlineOffset, "0px", "outline-offset");
}, "Expressions offset min(-50px, 50px) should return at least 0px");
test(function(){
var el_with_negative_expr = document.getElementById("id4");
assert_equals(getComputedStyle(el_with_negative_expr).outlineOffset, "0px", "outline-offset");
}, "Expressions offset outline-offset: min(10%, -50px) should return at least 0px");
test(function(){
var el_with_negative_expr = document.getElementById("id5");
assert_equals(getComputedStyle(el_with_negative_expr).outlineOffset, "0px", "outline-offset");
}, "Expressions offset clamp(-100px, 1vw, -50px) should return at least 0px");
test(function(){
var el_with_negative_expr = document.getElementById("id6");
assert_equals(getComputedStyle(el_with_negative_expr).outlineOffset, "0px", "outline-offset");
}, "Expressions offset 1% - 10000px should return at least 0px");
test(function(){
var el_with_negative_expr = document.getElementById("id7");
assert_equals(getComputedStyle(el_with_negative_expr).outlineOffset, "0px", "outline-offset");
}, "Expressions offset max(min(-1em, 10em), -5%) should return at least 0px");
</script>
</body>