Files
palemoon27/layout/style/test/test_initial_storage.html
T
roytam1 c5205b44c8 import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1240330 - mozAlarm debug messages are turned on r=khuey (aa938a4371)
- fix (cdc44e8bc8)
- Bug 1239788 - Don't include non-main-thread assertions in the constructor enabled check for [Exposed=System] WebIDL interfaces; r=bzbarsky (5d05b4066a)
- Bug 1247346. Slot indices on IDL interface members that get a slot should be per-interface, not a single per-member number. r=peterv (640231c37e)
- Bug 1157469 - null check wrapper in case WrapNode fails, r=bholley (9fd9b038db)
- Bug 1242211 - Mark MozMapRooter as final; r=baku (f3b5cc7728)
- Bug 1243438. Don't try to include the filename '<unknown>' when including headers for unions that have a built-in typedef they're referenced by. r=peterv (781d1ec0af)
- Bug 1241021 part 1: Refactor GenerateCSS2PropertiesWebIDL.py to invoke a helper function for each line. r=bz (258b031fd8)
- Bug 1241021 part 2: Make GenerateCSS2PropertiesWebIDL.py produce capitalized as well as uncapitalized WebkitFoo/webkitFoo DOM style accessors. r=bz (0bf2ec95ae)
- Bug 1241021 part 3: Refactor CSS mochitest test_initial_storage.html to perform its DOM accessor consistency-checks via a helper-function. r=bz (3a0c1a1678)
- Bug 1241021 part 4: Extend mochitest test_initial_storage.html to test that uppercase Webkit DOM accessors for css properties are functional. r=bz (5a6a23c7ab)
- Bug 1240592 - Remove unnecessary -Wno-uninitialized from dom/bindings. r=khuey (c854f7b397)
- Bug 1200341 - Implement HKDF for WebCrypto r=rbarnes,smaug (2c830d65a1)
- Bug 1200341 - Use BufferSource instead of CryptoOperationData in the SubtleCrypto WebIDL spec r=smaug (8cece95b5c)
- Bug 1191936 - Implement RSA-PSS key generation r=rbarnes (ec9654595c)
- Bug 1191936 - Implement RSA-PSS signing and verification r=rbarnes,smaug (7653bdfced)
- Bug 1204763 follow-up: Fix the comments, DONTBUILD (8b26e6f3a9)
- Reformat clang-plugin.cpp using clang-format, no bug (9346eda9f4)
- Bug 1214037 - Don't consider the result of an assignment expression MOZ_MUST_USE, r=ehsan (70c7830c3a)
- Bug 1242789 - Allow lambdas to capture raw pointers to refcounted objects by reference, r=ehsan (e7158a7746)
- Bug 1238042 - Add about:checkerboard. r=ehsan,botond (f234ce7fa0)
- Bug 1237177. Make the this-rebinding callable proxy sandboxes use return the prototype of its target, not its own null prototype. r=efaust (694a8081dc)
- Bug 1248521 - Pack PrefHashEntry better. r=froydnj. (55e9d609fe)
- Bug 1240453 - enable shared memory in xpconnect. r=bz (58db0b406e)
- Bug 1202014 - Don't use-after-move in ActorsChild.cpp, r=khuey (382e7183c0)
- Bug 1136762 - TSan: data race xpcom/io/nsPipe3.cpp:1061 CloseWithStatus. r=nfroyd. (68fd82971d)
- Bug 1237668 - Remove nsSimpleUnicharStreamFactory r=froydnj (8bb6ec081c)
- Bug 1189998, Part 4 - Add authentication secret to Push data test. r=dragana (122a0bd5f9)
- Bug 1205137 - Add a PushSubscription serializer. r=mt,smaug (aa9e847c42)
- Bug 1232910 - Use channel.asyncOpen2 within dom/push/PushServiceHttp2.jsm. r=sicking r=dragana (a2f483a983)
- Bug 1246632 - Fix ackMsgRecv in PushServiceHttp2.js. r=kitcambridge (c1559e0539)
- Bug 1240615 - Make PushService protocol init method return a Promise. r=kitcambridge (4d52dc6a41)
- Bug 1246784 - Expose Console to the WorkerDebuggerGlobalScope, r=khuey (a992fdc555)
- misspatch (33708903c4)
- Bug 1207494 - Part 5: Remove use of expression closure from dom/contacts/. r=reuben (256b3831a4)
- Bug 1207494 - Part 4: Remove use of expression closure from dom/canvas/. r=gw280 (1666e49673)
- Bug 1207494 - Part 3: Remove use of expression closure from dom/browser-element/. r=smaug (a891769373)
- Bug 1207494 - Part 2: Remove use of expression closure from dom/base/test/. r=peterv (01762e3181)
- Bug 1207494 - Part 1: Remove use of expression closure from dom/apps/. r=ferjm (2474c8619b)
- Bug 1247108 - Pass securityFlag when creating a new channel within webapps (r=fabrice) (8305294f26)
- Bug 1219004 - Improve error management in getFullAppByManifestURL r=ferjm (c3ad64df7a)
- revert contains/includes (29c60a77e5)
- Bug 1147562 - Update remaining callsites of newChannel before landing the shim in dom/ (r=sicking) (0cd64e20e1)
- Bug 1243924 - Convert remaining callsites within dom/ to use channel.open2() (r=sicking) (43b01f88ba)
- Bug 1162658 - Update FormData to match latest spec, r=smaug (a42ca52ad5)
- Bug 1208895 - Fix a typo in nsGenericHTMLElement::GetItemId(); r=baku (2d6f2d79f4)
- Bug 1223523. The named getter on document should not return images with an empty name. r=peterv (da3d1f52f5)
- Bug 1183491. Null-check the document we get from our contentWindow in the contentDocument getter, because apparently it can end up null. r=bkelly (3002a4375c)
- Bug 1203430 - Intermittent crash in PNeckoChild::SendHTMLDNSPrefetch. r=jdm (3b82b57cbf)
- Bug 893332, part 1 - Rename misnamed SetValidityState/GetValidityState arguments. r=baku (d403b12c9a)
- Bug 893332, part 2 - Update validity state before asserting range underflow state. r=baku (a4cbce224c)
- Bug 893332, part 3 - Don't assert range underflow state under the parser. r=baku (763e99ed8e)
- Bug 893332, part 4 - Crashtests. r=baku (7cdcdc02c4)
- Bug 1240336 Setting same value to either <input> or <textarea> shouldn't cause committing existing composition r=ehsan (5cc2c35dbb)
- Bug 1228708. Fix UndoManager to correctly suppress exceptions it wants to suppress on ErrorResults. r=smaug (905207a3b4)
- Bug 1230295 - Add telemetry to report when Ogg chaining is used. r=rillian,r=vladan (e47c49f508)
2023-12-29 16:00:23 +08:00

131 lines
4.6 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=375363
-->
<head>
<title>Test for parsing, storage, and serialization of CSS 'initial' on all properties and 'unset' on reset properties</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="property_database.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=375363">Mozilla Bug 375363</a>
<p id="display"></p>
<div id="content" style="display: none">
<div id="testnode"></div>
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for parsing, storage, and serialization of CSS 'initial' on all
properties and 'unset' on reset properties **/
var gDeclaration = document.getElementById("testnode").style;
var gTestUnset = SpecialPowers.getBoolPref("layout.css.unset-value.enabled");
/**
* Checks that the passed-in property-value (returned by getPropertyValue) is
* consistent with the DOM accessors that we know about for the given sproperty.
*/
function check_consistency(sproperty, valFromGetPropertyValue, messagePrefix)
{
var sinfo = gCSSProperties[sproperty];
is(valFromGetPropertyValue, gDeclaration[sinfo.domProp],
`(${messagePrefix}) consistency between ` +
`decl.getPropertyValue(${sproperty}) and decl.${sinfo.domProp}`);
if (sinfo.domProp.startsWith("webkit")) {
// For webkit-prefixed DOM accessors, test with lowercase and uppercase
// first letter.
var uppercaseDomProp = "W" + sinfo.domProp.substring(1);
is(valFromGetPropertyValue, gDeclaration[uppercaseDomProp],
`(${messagePrefix}) consistency between ` +
`decl.getPropertyValue(${sproperty}) and decl.${uppercaseDomProp}`);
}
}
function test_property(property)
{
var info = gCSSProperties[property];
var keywords = ["initial"];
if (!info.inherited && gTestUnset)
keywords.push("unset");
keywords.forEach(function(keyword) {
function check_initial(sproperty) {
var val = gDeclaration.getPropertyValue(sproperty);
is(val, "", "value of '" + sproperty + "' before we do anything");
check_consistency(sproperty, val, "initial");
}
check_initial(property);
if ("subproperties" in info)
for (var idx in info.subproperties)
check_initial(info.subproperties[idx]);
gDeclaration.setProperty(property, keyword, "");
function check_set(sproperty) {
val = gDeclaration.getPropertyValue(sproperty);
is(val, keyword,
keyword + " reported back for property '" + sproperty + "'");
check_consistency(sproperty, val, "set");
}
check_set(property);
if ("subproperties" in info)
for (var idx in info.subproperties)
check_set(info.subproperties[idx]);
// We don't care particularly about the whitespace or the placement of
// semicolons, but for simplicity we'll test the current behavior.
if ("alias_for" in info) {
is(gDeclaration.cssText, info.alias_for + ": " + keyword + ";",
"declaration should serialize to exactly what went in (for " + keyword + ")");
} else {
is(gDeclaration.cssText, property + ": " + keyword + ";",
"declaration should serialize to exactly what went in (for " + keyword + ")");
}
gDeclaration.removeProperty(property);
function check_final(sproperty) {
var val = gDeclaration.getPropertyValue(sproperty);
is(val, "", "value of '" + sproperty + "' after removal of value");
check_consistency(sproperty, val, "final");
}
check_final(property);
if ("subproperties" in info)
for (var idx in info.subproperties)
check_final(info.subproperties[idx]);
// can all properties be removed from the style?
function test_remove_all_properties(property, value) {
var i, p = [];
for (i = 0; i < gDeclaration.length; i++) p.push(gDeclaration[i]);
for (i = 0; i < p.length; i++) gDeclaration.removeProperty(p[i]);
var errstr = "when setting property " + property + " to " + value;
is(gDeclaration.length, 0, "unremovable properties " + errstr);
is(gDeclaration.cssText, "", "non-empty serialization after removing all properties " + errstr);
}
// sanity check shorthands to make sure disabled props aren't exposed
if (info.type != CSS_TYPE_LONGHAND) {
gDeclaration.setProperty(property, keyword, "");
test_remove_all_properties(property, keyword);
gDeclaration.removeProperty(property);
}
});
}
for (var prop in gCSSProperties)
test_property(prop);
</script>
</pre>
</body>
</html>