зеркало из https://github.com/mozilla/gecko-dev.git
Merge mozilla-central to mozilla-inbound
This commit is contained in:
Коммит
5e0ddfa9fb
|
@ -67,7 +67,7 @@ AnimValuesStyleRule::AddValue(nsCSSPropertyID aProperty,
|
|||
{
|
||||
MOZ_ASSERT(aProperty != eCSSProperty_UNKNOWN,
|
||||
"Unexpected css property");
|
||||
mAnimationValues.Put(aProperty, Move(aValue));
|
||||
mAnimationValues.Put(aProperty, aValue);
|
||||
mStyleBits |=
|
||||
nsCachedStyleData::GetBitForSID(nsCSSProps::kSIDTable[aProperty]);
|
||||
}
|
||||
|
|
|
@ -1314,9 +1314,10 @@ EventListenerManager::HandleEventInternal(nsPresContext* aPresContext,
|
|||
// If we didn't find any matching listeners, and our event has a legacy
|
||||
// version, we'll now switch to looking for that legacy version and we'll
|
||||
// recheck our listeners.
|
||||
if (hasListenerForCurrentGroup || usingLegacyMessage) {
|
||||
// (No need to recheck listeners, because we already found a match, or we
|
||||
// already rechecked them.)
|
||||
if (hasListenerForCurrentGroup ||
|
||||
usingLegacyMessage || !aEvent->IsTrusted()) {
|
||||
// No need to recheck listeners, because we already found a match, we
|
||||
// already rechecked them, or it is not a trusted event.
|
||||
break;
|
||||
}
|
||||
EventMessage legacyEventMessage = GetLegacyEventMessage(eventMessage);
|
||||
|
|
|
@ -173,3 +173,4 @@ skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
|
|||
[test_bug1305458.html]
|
||||
[test_bug1298970.html]
|
||||
[test_bug1304044.html]
|
||||
[test_bug1332699.html]
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for bug 1332699</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
||||
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
|
||||
<style>
|
||||
#test {
|
||||
color: red;
|
||||
transition: color 100ms;
|
||||
}
|
||||
#test.changed {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<div id="test"></div>
|
||||
<script>
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
window.onload = function () {
|
||||
let $test = document.getElementById('test');
|
||||
is(getComputedStyle($test).color, 'rgb(255, 0, 0)',
|
||||
'color should be red before transition');
|
||||
let numEvents = 0;
|
||||
$test.addEventListener('webkittransitionend', function() {
|
||||
++numEvents;
|
||||
if (numEvents == 1) {
|
||||
is(getComputedStyle($test).color, 'rgb(0, 128, 0)',
|
||||
'color should be green after transition');
|
||||
$test.dispatchEvent(new TransitionEvent('transitionend'));
|
||||
is(numEvents, 1, "Shouldn't receive the prefixed event again");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
});
|
||||
$test.className = 'changed';
|
||||
};
|
||||
</script>
|
|
@ -107,7 +107,7 @@ asserts-if(stylo,1) load 766452-1.html # bug 1324700
|
|||
load 766452-2.html
|
||||
load 768079-1.html
|
||||
asserts-if(stylo,2) load 783041-1.html # bug 1324661
|
||||
asserts-if(stylo,2) load 783041-2.html # bug 1324661
|
||||
asserts-if(stylo,2-4) load 783041-2.html # bug 1324661
|
||||
asserts-if(stylo,3) load 783041-3.html # bug 1324671
|
||||
asserts-if(stylo,2) load 783041-4.html # bug 1324661
|
||||
load 798853.html # bug 868792
|
||||
|
|
|
@ -18,7 +18,7 @@ fails == small-background-size-2.gif small-background-size-2.gif
|
|||
random == delaytest.html?transparent-animation.gif delaytest.html?transparent-animation.gif
|
||||
|
||||
# test for bug 641198
|
||||
fails == test_bug641198.html test_bug641198.html
|
||||
== test_bug641198.html test_bug641198.html
|
||||
|
||||
# Bug 1062886: a gif with a single color and an offset
|
||||
fails == one-color-offset.gif one-color-offset.gif
|
||||
|
|
|
@ -79,7 +79,7 @@ fails == 263359-4.html 263359-4.html
|
|||
fails == 267459-1.html 267459-1.html
|
||||
fails == 267459-2.html 267459-2.html
|
||||
== 299065-1.html 299065-1.html
|
||||
== 305643-1.html 305643-1.html
|
||||
# == 305643-1.html 305643-1.html
|
||||
fails asserts-if(stylo,7) == 332655-1.html 332655-1.html # bug 1335314
|
||||
fails asserts-if(stylo,7) == 332655-2.html 332655-2.html # bug 1335314
|
||||
fails == 381279-1.html 381279-1.html
|
||||
|
|
|
@ -99,7 +99,7 @@ fails == 97777-2.html 97777-2.html
|
|||
# == 99850-1b.html 99850-1b.html # bug 1337695
|
||||
fails == 99850-1c.html 99850-1c.html
|
||||
# == 99850-1d.html 99850-1d.html # bug 1337695
|
||||
asserts-if(stylo,8) == 105030-1.html 105030-1.html # bug 1324661
|
||||
asserts-if(stylo,6-8) == 105030-1.html 105030-1.html # bug 1324661
|
||||
== 109735-1.html 109735-1.html
|
||||
== 116882-1.html 116882-1.html
|
||||
== 120834-1a.html 120834-1a.html
|
||||
|
@ -659,9 +659,9 @@ fails == 372768-1.html 372768-1.html
|
|||
fails == 373295-1.html 373295-1.html
|
||||
fails == 373298-1.html 373298-1.html
|
||||
== 373381-1.html 373381-1.html
|
||||
fails == 373381-2.html 373381-2.html
|
||||
== 373381-2.html 373381-2.html
|
||||
fails-if(Android) random-if(d2d) == 373381-3.html 373381-3.html
|
||||
fails == 373381-4.html 373381-4.html
|
||||
== 373381-4.html 373381-4.html
|
||||
== 373383-1.html 373383-1.html
|
||||
fails == 373433-1.html 373433-1.html
|
||||
== 373533-1.xhtml 373533-1.xhtml
|
||||
|
@ -671,7 +671,7 @@ fails == 373433-1.html 373433-1.html
|
|||
== 374038-2.xul 374038-2.xul
|
||||
random-if(d2d) == 374719-1.xul 374719-1.xul
|
||||
== 374927-1.html 374927-1.html
|
||||
fails == 375508-1.html 375508-1.html
|
||||
== 375508-1.html 375508-1.html
|
||||
== 375716-1.html 375716-1.html
|
||||
asserts-if(stylo,6) == 375827-1.html 375827-1.html # bug 1324661
|
||||
fails == 376375-1.html 376375-1.html
|
||||
|
@ -1031,15 +1031,15 @@ fails-if(Android) == 424074-1.xul 424074-1.xul
|
|||
random-if(gtkWidget) == 424074-1-ref2.xul 424074-1-ref2.xul
|
||||
== 424236-1.html 424236-1.html
|
||||
== 424236-2.html 424236-2.html
|
||||
fails == 424236-3.html 424236-3.html
|
||||
== 424236-3.html 424236-3.html
|
||||
== 424236-4.html 424236-4.html
|
||||
fails == 424236-5.html 424236-5.html
|
||||
== 424236-5.html 424236-5.html
|
||||
== 424236-6.html 424236-6.html
|
||||
== 424236-7.html 424236-7.html
|
||||
fails == 424236-8.html 424236-8.html
|
||||
fails == 424236-9.html 424236-9.html
|
||||
== 424236-8.html 424236-8.html
|
||||
== 424236-9.html 424236-9.html
|
||||
== 424236-10.html 424236-10.html
|
||||
fails == 424236-11.html 424236-11.html
|
||||
== 424236-11.html 424236-11.html
|
||||
asserts-if(stylo,4) == 424434-1.html 424434-1.html # bug 1324661
|
||||
fails asserts-if(stylo,4) == 424465-1.html 424465-1.html # bug 1324661
|
||||
== 424631-1.html 424631-1.html
|
||||
|
@ -1431,7 +1431,7 @@ fails HTTP(..) == 518172-1a.html 518172-1a.html
|
|||
fails == 518172-1b.html 518172-1b.html
|
||||
fails HTTP(..) == 518172-2a.html 518172-2a.html
|
||||
fails == 518172-2b.html 518172-2b.html
|
||||
fails == 520421-1.html 520421-1.html
|
||||
== 520421-1.html 520421-1.html
|
||||
== 520563-1.xhtml 520563-1.xhtml
|
||||
fails == 521525-1.html 521525-1.html
|
||||
== 521525-2.html 521525-2.html
|
||||
|
@ -1939,7 +1939,7 @@ fails == 1174332-1.html 1174332-1.html
|
|||
== 1179078-1.html 1179078-1.html
|
||||
== 1179288-1.html 1179288-1.html
|
||||
== 1190635-1.html 1190635-1.html
|
||||
fails == 1202512-1.html 1202512-1.html
|
||||
== 1202512-1.html 1202512-1.html
|
||||
fails == 1202512-2.html 1202512-2.html
|
||||
== 1207326-1.html 1207326-1.html
|
||||
== 1209603-1.html 1209603-1.html
|
||||
|
|
|
@ -34,8 +34,8 @@ fails == flexbox-box-sizing-on-items-vert-1b.html flexbox-box-sizing-on-items-ve
|
|||
== flexbox-dyn-changeFrameWidth-2.xhtml flexbox-dyn-changeFrameWidth-2.xhtml
|
||||
== flexbox-dyn-changeFrameWidth-3.xhtml flexbox-dyn-changeFrameWidth-3.xhtml
|
||||
== flexbox-dyn-changeFrameWidth-4.xhtml flexbox-dyn-changeFrameWidth-4.xhtml
|
||||
fails == flexbox-dyn-changeOrder-1a.html flexbox-dyn-changeOrder-1a.html
|
||||
fails == flexbox-dyn-changeOrder-1b.html flexbox-dyn-changeOrder-1b.html
|
||||
== flexbox-dyn-changeOrder-1a.html flexbox-dyn-changeOrder-1a.html
|
||||
== flexbox-dyn-changeOrder-1b.html flexbox-dyn-changeOrder-1b.html
|
||||
== flexbox-dyn-changePadding-1a.xhtml flexbox-dyn-changePadding-1a.xhtml
|
||||
== flexbox-dyn-changePadding-1b.xhtml flexbox-dyn-changePadding-1b.xhtml
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ fails-if(Android) == radio-stretched.html radio-stretched.html
|
|||
# == checked.html checked.html
|
||||
== checked-native.html checked-native.html
|
||||
# == checked.html checked.html
|
||||
fails == checked-notref.html checked-notref.html
|
||||
# == checked-notref.html checked-notref.html
|
||||
== checked-native.html checked-native.html
|
||||
== checked-native-notref.html checked-native-notref.html
|
||||
# == indeterminate-checked.html indeterminate-checked.html
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# == checked.html checked.html
|
||||
== checked-native.html checked-native.html
|
||||
# == checked.html checked.html
|
||||
fails == checked-notref.html checked-notref.html
|
||||
# == checked-notref.html checked-notref.html
|
||||
== checked-native.html checked-native.html
|
||||
== checked-native-notref.html checked-native-notref.html
|
||||
skip-if(!gtkWidget) == gtk-theme-width-height.html gtk-theme-width-height.html
|
||||
|
|
|
@ -18,7 +18,7 @@ test-pref(layout.css.object-fit-and-position.enabled,true) == image-object-fit-d
|
|||
fails test-pref(layout.css.object-fit-and-position.enabled,true) == image-object-fit-with-background-2.html image-object-fit-with-background-2.html
|
||||
# test-pref(layout.css.object-fit-and-position.enabled,true) == image-object-position-dyn-1.html image-object-position-dyn-1.html
|
||||
# fails test-pref(layout.css.object-fit-and-position.enabled,true) == image-object-position-with-background-1.html image-object-position-with-background-1.html
|
||||
fails == image-object-position-with-background-2.html image-object-position-with-background-2.html
|
||||
== image-object-position-with-background-2.html image-object-position-with-background-2.html
|
||||
|
||||
# Tests for image-orientation used with 'from-image' (note that all
|
||||
# image-orientation tests are fuzzy because the JPEG images do not perfectly
|
||||
|
|
|
@ -78,7 +78,7 @@ fails pref(layers.single-tile.enabled,false) == fast-scrolling.html fast-scrolli
|
|||
== background-position-2f.html background-position-2f.html
|
||||
== zero-opacity-animation.html zero-opacity-animation.html
|
||||
== zero-opacity-text.html zero-opacity-text.html
|
||||
fails == negative-w-component.html negative-w-component.html
|
||||
== negative-w-component.html negative-w-component.html
|
||||
|
||||
fails == mask-invalidation-1a.html mask-invalidation-1a.html
|
||||
fails == mask-invalidation-1b.html mask-invalidation-1b.html
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
== outline-overflow-block-float.html outline-overflow-block-float.html
|
||||
== outline-overflow-inlineblock-abspos.html outline-overflow-inlineblock-abspos.html
|
||||
== outline-overflow-inlineblock-float.html outline-overflow-inlineblock-float.html
|
||||
fails == outline-auto-001.html outline-auto-001.html
|
||||
fails pref(layout.css.outline-style-auto.enabled,false) == outline-auto-001.html outline-auto-001.html
|
||||
== outline-auto-001.html outline-auto-001.html
|
||||
pref(layout.css.outline-style-auto.enabled,false) == outline-auto-001.html outline-auto-001.html
|
||||
== outline-initial-1a.html outline-initial-1a.html
|
||||
== outline-initial-1b.html outline-initial-1b.html
|
||||
|
|
|
@ -187,7 +187,7 @@ fails == reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
|
|||
|
||||
# reftest-opaque-layer and reftest-wait
|
||||
fails == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-wait-pass.html
|
||||
fails == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-wait-pass.html
|
||||
# == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-wait-pass.html
|
||||
fails == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-wait-fail.html
|
||||
fails == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-wait-fail.html
|
||||
|
||||
|
|
|
@ -38,4 +38,4 @@ needs-focus == text-shadow-selected-2.html text-shadow-selected-2.html
|
|||
needs-focus == text-shadow-on-selection-1.html text-shadow-on-selection-1.html
|
||||
needs-focus == text-shadow-on-selection-2.html text-shadow-on-selection-2.html
|
||||
|
||||
fails == overflow-decoration.html overflow-decoration.html
|
||||
== overflow-decoration.html overflow-decoration.html
|
||||
|
|
|
@ -12,9 +12,9 @@ fails == object-fit-fill-png-002i.html object-fit-fill-png-002i.html
|
|||
# fails == object-fit-fill-png-002o.html object-fit-fill-png-002o.html
|
||||
fails == object-fit-fill-png-002p.html object-fit-fill-png-002p.html
|
||||
fails == object-fit-contain-png-001c.html object-fit-contain-png-001c.html
|
||||
fails == object-fit-contain-png-001e.html object-fit-contain-png-001e.html
|
||||
# fails == object-fit-contain-png-001e.html object-fit-contain-png-001e.html
|
||||
fails == object-fit-contain-png-001i.html object-fit-contain-png-001i.html
|
||||
fails == object-fit-contain-png-001o.html object-fit-contain-png-001o.html
|
||||
# fails == object-fit-contain-png-001o.html object-fit-contain-png-001o.html
|
||||
fails == object-fit-contain-png-001p.html object-fit-contain-png-001p.html
|
||||
fails == object-fit-contain-png-002c.html object-fit-contain-png-002c.html
|
||||
# fails == object-fit-contain-png-002e.html object-fit-contain-png-002e.html
|
||||
|
@ -22,172 +22,172 @@ fails == object-fit-contain-png-002i.html object-fit-contain-png-002i.html
|
|||
# fails == object-fit-contain-png-002o.html object-fit-contain-png-002o.html
|
||||
fails == object-fit-contain-png-002p.html object-fit-contain-png-002p.html
|
||||
fails == object-fit-cover-png-001c.html object-fit-cover-png-001c.html
|
||||
fails == object-fit-cover-png-001e.html object-fit-cover-png-001e.html
|
||||
# fails == object-fit-cover-png-001e.html object-fit-cover-png-001e.html
|
||||
fails == object-fit-cover-png-001i.html object-fit-cover-png-001i.html
|
||||
fails == object-fit-cover-png-001o.html object-fit-cover-png-001o.html
|
||||
# fails == object-fit-cover-png-001o.html object-fit-cover-png-001o.html
|
||||
fails == object-fit-cover-png-001p.html object-fit-cover-png-001p.html
|
||||
fails == object-fit-cover-png-002c.html object-fit-cover-png-002c.html
|
||||
fails == object-fit-cover-png-002e.html object-fit-cover-png-002e.html
|
||||
# fails == object-fit-cover-png-002e.html object-fit-cover-png-002e.html
|
||||
fails == object-fit-cover-png-002i.html object-fit-cover-png-002i.html
|
||||
fails == object-fit-cover-png-002o.html object-fit-cover-png-002o.html
|
||||
# fails == object-fit-cover-png-002o.html object-fit-cover-png-002o.html
|
||||
fails == object-fit-cover-png-002p.html object-fit-cover-png-002p.html
|
||||
fails == object-fit-none-png-001c.html object-fit-none-png-001c.html
|
||||
fails == object-fit-none-png-001e.html object-fit-none-png-001e.html
|
||||
fails == object-fit-none-png-001i.html object-fit-none-png-001i.html
|
||||
fails == object-fit-none-png-001o.html object-fit-none-png-001o.html
|
||||
== object-fit-none-png-001c.html object-fit-none-png-001c.html
|
||||
# == object-fit-none-png-001e.html object-fit-none-png-001e.html
|
||||
== object-fit-none-png-001i.html object-fit-none-png-001i.html
|
||||
# == object-fit-none-png-001o.html object-fit-none-png-001o.html
|
||||
fails == object-fit-none-png-001p.html object-fit-none-png-001p.html
|
||||
fails == object-fit-none-png-002c.html object-fit-none-png-002c.html
|
||||
fails == object-fit-none-png-002e.html object-fit-none-png-002e.html
|
||||
fails == object-fit-none-png-002i.html object-fit-none-png-002i.html
|
||||
fails == object-fit-none-png-002o.html object-fit-none-png-002o.html
|
||||
== object-fit-none-png-002c.html object-fit-none-png-002c.html
|
||||
# == object-fit-none-png-002e.html object-fit-none-png-002e.html
|
||||
== object-fit-none-png-002i.html object-fit-none-png-002i.html
|
||||
# == object-fit-none-png-002o.html object-fit-none-png-002o.html
|
||||
fails == object-fit-none-png-002p.html object-fit-none-png-002p.html
|
||||
fails == object-fit-scale-down-png-001c.html object-fit-scale-down-png-001c.html
|
||||
fails == object-fit-scale-down-png-001e.html object-fit-scale-down-png-001e.html
|
||||
fails == object-fit-scale-down-png-001i.html object-fit-scale-down-png-001i.html
|
||||
fails == object-fit-scale-down-png-001o.html object-fit-scale-down-png-001o.html
|
||||
== object-fit-scale-down-png-001c.html object-fit-scale-down-png-001c.html
|
||||
# == object-fit-scale-down-png-001e.html object-fit-scale-down-png-001e.html
|
||||
== object-fit-scale-down-png-001i.html object-fit-scale-down-png-001i.html
|
||||
# == object-fit-scale-down-png-001o.html object-fit-scale-down-png-001o.html
|
||||
fails == object-fit-scale-down-png-001p.html object-fit-scale-down-png-001p.html
|
||||
fails == object-fit-scale-down-png-002c.html object-fit-scale-down-png-002c.html
|
||||
fails == object-fit-scale-down-png-002e.html object-fit-scale-down-png-002e.html
|
||||
fails == object-fit-scale-down-png-002i.html object-fit-scale-down-png-002i.html
|
||||
fails == object-fit-scale-down-png-002o.html object-fit-scale-down-png-002o.html
|
||||
== object-fit-scale-down-png-002c.html object-fit-scale-down-png-002c.html
|
||||
# == object-fit-scale-down-png-002e.html object-fit-scale-down-png-002e.html
|
||||
== object-fit-scale-down-png-002i.html object-fit-scale-down-png-002i.html
|
||||
# == object-fit-scale-down-png-002o.html object-fit-scale-down-png-002o.html
|
||||
fails == object-fit-scale-down-png-002p.html object-fit-scale-down-png-002p.html
|
||||
|
||||
# Tests for 'object-fit' / 'object-position' with an SVG image
|
||||
fails == object-fit-fill-svg-001e.html object-fit-fill-svg-001e.html
|
||||
fails == object-fit-fill-svg-001i.html object-fit-fill-svg-001i.html
|
||||
fails == object-fit-fill-svg-001o.html object-fit-fill-svg-001o.html
|
||||
== object-fit-fill-svg-001e.html object-fit-fill-svg-001e.html
|
||||
== object-fit-fill-svg-001i.html object-fit-fill-svg-001i.html
|
||||
== object-fit-fill-svg-001o.html object-fit-fill-svg-001o.html
|
||||
fails == object-fit-fill-svg-001p.html object-fit-fill-svg-001p.html
|
||||
fails == object-fit-fill-svg-002e.html object-fit-fill-svg-002e.html
|
||||
fails == object-fit-fill-svg-002i.html object-fit-fill-svg-002i.html
|
||||
fails == object-fit-fill-svg-002o.html object-fit-fill-svg-002o.html
|
||||
== object-fit-fill-svg-002e.html object-fit-fill-svg-002e.html
|
||||
== object-fit-fill-svg-002i.html object-fit-fill-svg-002i.html
|
||||
== object-fit-fill-svg-002o.html object-fit-fill-svg-002o.html
|
||||
fails == object-fit-fill-svg-002p.html object-fit-fill-svg-002p.html
|
||||
fails == object-fit-fill-svg-003e.html object-fit-fill-svg-003e.html
|
||||
fails == object-fit-fill-svg-003i.html object-fit-fill-svg-003i.html
|
||||
fails == object-fit-fill-svg-003o.html object-fit-fill-svg-003o.html
|
||||
== object-fit-fill-svg-003e.html object-fit-fill-svg-003e.html
|
||||
== object-fit-fill-svg-003i.html object-fit-fill-svg-003i.html
|
||||
== object-fit-fill-svg-003o.html object-fit-fill-svg-003o.html
|
||||
fails == object-fit-fill-svg-003p.html object-fit-fill-svg-003p.html
|
||||
fails == object-fit-fill-svg-004e.html object-fit-fill-svg-004e.html
|
||||
fails == object-fit-fill-svg-004i.html object-fit-fill-svg-004i.html
|
||||
fails == object-fit-fill-svg-004o.html object-fit-fill-svg-004o.html
|
||||
== object-fit-fill-svg-004e.html object-fit-fill-svg-004e.html
|
||||
== object-fit-fill-svg-004i.html object-fit-fill-svg-004i.html
|
||||
== object-fit-fill-svg-004o.html object-fit-fill-svg-004o.html
|
||||
fails == object-fit-fill-svg-004p.html object-fit-fill-svg-004p.html
|
||||
fails == object-fit-fill-svg-005e.html object-fit-fill-svg-005e.html
|
||||
fails == object-fit-fill-svg-005i.html object-fit-fill-svg-005i.html
|
||||
fails == object-fit-fill-svg-005o.html object-fit-fill-svg-005o.html
|
||||
== object-fit-fill-svg-005e.html object-fit-fill-svg-005e.html
|
||||
== object-fit-fill-svg-005i.html object-fit-fill-svg-005i.html
|
||||
== object-fit-fill-svg-005o.html object-fit-fill-svg-005o.html
|
||||
fails == object-fit-fill-svg-005p.html object-fit-fill-svg-005p.html
|
||||
fails == object-fit-fill-svg-006e.html object-fit-fill-svg-006e.html
|
||||
fails == object-fit-fill-svg-006i.html object-fit-fill-svg-006i.html
|
||||
fails == object-fit-fill-svg-006o.html object-fit-fill-svg-006o.html
|
||||
== object-fit-fill-svg-006e.html object-fit-fill-svg-006e.html
|
||||
== object-fit-fill-svg-006i.html object-fit-fill-svg-006i.html
|
||||
== object-fit-fill-svg-006o.html object-fit-fill-svg-006o.html
|
||||
fails == object-fit-fill-svg-006p.html object-fit-fill-svg-006p.html
|
||||
fails == object-fit-contain-svg-001e.html object-fit-contain-svg-001e.html
|
||||
fails == object-fit-contain-svg-001i.html object-fit-contain-svg-001i.html
|
||||
fails == object-fit-contain-svg-001o.html object-fit-contain-svg-001o.html
|
||||
== object-fit-contain-svg-001e.html object-fit-contain-svg-001e.html
|
||||
== object-fit-contain-svg-001i.html object-fit-contain-svg-001i.html
|
||||
== object-fit-contain-svg-001o.html object-fit-contain-svg-001o.html
|
||||
fails == object-fit-contain-svg-001p.html object-fit-contain-svg-001p.html
|
||||
fails == object-fit-contain-svg-002e.html object-fit-contain-svg-002e.html
|
||||
fails == object-fit-contain-svg-002i.html object-fit-contain-svg-002i.html
|
||||
fails == object-fit-contain-svg-002o.html object-fit-contain-svg-002o.html
|
||||
== object-fit-contain-svg-002e.html object-fit-contain-svg-002e.html
|
||||
== object-fit-contain-svg-002i.html object-fit-contain-svg-002i.html
|
||||
== object-fit-contain-svg-002o.html object-fit-contain-svg-002o.html
|
||||
fails == object-fit-contain-svg-002p.html object-fit-contain-svg-002p.html
|
||||
fails == object-fit-contain-svg-003e.html object-fit-contain-svg-003e.html
|
||||
fails == object-fit-contain-svg-003i.html object-fit-contain-svg-003i.html
|
||||
fails == object-fit-contain-svg-003o.html object-fit-contain-svg-003o.html
|
||||
== object-fit-contain-svg-003e.html object-fit-contain-svg-003e.html
|
||||
== object-fit-contain-svg-003i.html object-fit-contain-svg-003i.html
|
||||
== object-fit-contain-svg-003o.html object-fit-contain-svg-003o.html
|
||||
fails == object-fit-contain-svg-003p.html object-fit-contain-svg-003p.html
|
||||
fails == object-fit-contain-svg-004e.html object-fit-contain-svg-004e.html
|
||||
fails == object-fit-contain-svg-004i.html object-fit-contain-svg-004i.html
|
||||
fails == object-fit-contain-svg-004o.html object-fit-contain-svg-004o.html
|
||||
== object-fit-contain-svg-004e.html object-fit-contain-svg-004e.html
|
||||
== object-fit-contain-svg-004i.html object-fit-contain-svg-004i.html
|
||||
== object-fit-contain-svg-004o.html object-fit-contain-svg-004o.html
|
||||
fails == object-fit-contain-svg-004p.html object-fit-contain-svg-004p.html
|
||||
fails == object-fit-contain-svg-005e.html object-fit-contain-svg-005e.html
|
||||
fails == object-fit-contain-svg-005i.html object-fit-contain-svg-005i.html
|
||||
fails == object-fit-contain-svg-005o.html object-fit-contain-svg-005o.html
|
||||
== object-fit-contain-svg-005e.html object-fit-contain-svg-005e.html
|
||||
== object-fit-contain-svg-005i.html object-fit-contain-svg-005i.html
|
||||
== object-fit-contain-svg-005o.html object-fit-contain-svg-005o.html
|
||||
fails == object-fit-contain-svg-005p.html object-fit-contain-svg-005p.html
|
||||
fails == object-fit-contain-svg-006e.html object-fit-contain-svg-006e.html
|
||||
fails == object-fit-contain-svg-006i.html object-fit-contain-svg-006i.html
|
||||
fails == object-fit-contain-svg-006o.html object-fit-contain-svg-006o.html
|
||||
== object-fit-contain-svg-006e.html object-fit-contain-svg-006e.html
|
||||
== object-fit-contain-svg-006i.html object-fit-contain-svg-006i.html
|
||||
== object-fit-contain-svg-006o.html object-fit-contain-svg-006o.html
|
||||
fails == object-fit-contain-svg-006p.html object-fit-contain-svg-006p.html
|
||||
fails == object-fit-cover-svg-001e.html object-fit-cover-svg-001e.html
|
||||
fails == object-fit-cover-svg-001i.html object-fit-cover-svg-001i.html
|
||||
fails == object-fit-cover-svg-001o.html object-fit-cover-svg-001o.html
|
||||
== object-fit-cover-svg-001e.html object-fit-cover-svg-001e.html
|
||||
== object-fit-cover-svg-001i.html object-fit-cover-svg-001i.html
|
||||
== object-fit-cover-svg-001o.html object-fit-cover-svg-001o.html
|
||||
fails == object-fit-cover-svg-001p.html object-fit-cover-svg-001p.html
|
||||
fails == object-fit-cover-svg-002e.html object-fit-cover-svg-002e.html
|
||||
fails == object-fit-cover-svg-002i.html object-fit-cover-svg-002i.html
|
||||
fails == object-fit-cover-svg-002o.html object-fit-cover-svg-002o.html
|
||||
== object-fit-cover-svg-002e.html object-fit-cover-svg-002e.html
|
||||
== object-fit-cover-svg-002i.html object-fit-cover-svg-002i.html
|
||||
== object-fit-cover-svg-002o.html object-fit-cover-svg-002o.html
|
||||
fails == object-fit-cover-svg-002p.html object-fit-cover-svg-002p.html
|
||||
fails == object-fit-cover-svg-003e.html object-fit-cover-svg-003e.html
|
||||
fails == object-fit-cover-svg-003i.html object-fit-cover-svg-003i.html
|
||||
fails == object-fit-cover-svg-003o.html object-fit-cover-svg-003o.html
|
||||
== object-fit-cover-svg-003e.html object-fit-cover-svg-003e.html
|
||||
== object-fit-cover-svg-003i.html object-fit-cover-svg-003i.html
|
||||
== object-fit-cover-svg-003o.html object-fit-cover-svg-003o.html
|
||||
fails == object-fit-cover-svg-003p.html object-fit-cover-svg-003p.html
|
||||
fails == object-fit-cover-svg-004e.html object-fit-cover-svg-004e.html
|
||||
fails == object-fit-cover-svg-004i.html object-fit-cover-svg-004i.html
|
||||
fails == object-fit-cover-svg-004o.html object-fit-cover-svg-004o.html
|
||||
== object-fit-cover-svg-004e.html object-fit-cover-svg-004e.html
|
||||
== object-fit-cover-svg-004i.html object-fit-cover-svg-004i.html
|
||||
== object-fit-cover-svg-004o.html object-fit-cover-svg-004o.html
|
||||
fails == object-fit-cover-svg-004p.html object-fit-cover-svg-004p.html
|
||||
fails == object-fit-cover-svg-005e.html object-fit-cover-svg-005e.html
|
||||
fails == object-fit-cover-svg-005i.html object-fit-cover-svg-005i.html
|
||||
fails == object-fit-cover-svg-005o.html object-fit-cover-svg-005o.html
|
||||
== object-fit-cover-svg-005e.html object-fit-cover-svg-005e.html
|
||||
== object-fit-cover-svg-005i.html object-fit-cover-svg-005i.html
|
||||
== object-fit-cover-svg-005o.html object-fit-cover-svg-005o.html
|
||||
fails == object-fit-cover-svg-005p.html object-fit-cover-svg-005p.html
|
||||
fails == object-fit-cover-svg-006e.html object-fit-cover-svg-006e.html
|
||||
fails == object-fit-cover-svg-006i.html object-fit-cover-svg-006i.html
|
||||
fails == object-fit-cover-svg-006o.html object-fit-cover-svg-006o.html
|
||||
== object-fit-cover-svg-006e.html object-fit-cover-svg-006e.html
|
||||
== object-fit-cover-svg-006i.html object-fit-cover-svg-006i.html
|
||||
== object-fit-cover-svg-006o.html object-fit-cover-svg-006o.html
|
||||
fails == object-fit-cover-svg-006p.html object-fit-cover-svg-006p.html
|
||||
fails == object-fit-none-svg-001e.html object-fit-none-svg-001e.html
|
||||
fails == object-fit-none-svg-001i.html object-fit-none-svg-001i.html
|
||||
fails == object-fit-none-svg-001o.html object-fit-none-svg-001o.html
|
||||
== object-fit-none-svg-001e.html object-fit-none-svg-001e.html
|
||||
== object-fit-none-svg-001i.html object-fit-none-svg-001i.html
|
||||
== object-fit-none-svg-001o.html object-fit-none-svg-001o.html
|
||||
fails == object-fit-none-svg-001p.html object-fit-none-svg-001p.html
|
||||
fails == object-fit-none-svg-002e.html object-fit-none-svg-002e.html
|
||||
fails == object-fit-none-svg-002i.html object-fit-none-svg-002i.html
|
||||
fails == object-fit-none-svg-002o.html object-fit-none-svg-002o.html
|
||||
== object-fit-none-svg-002e.html object-fit-none-svg-002e.html
|
||||
== object-fit-none-svg-002i.html object-fit-none-svg-002i.html
|
||||
== object-fit-none-svg-002o.html object-fit-none-svg-002o.html
|
||||
fails == object-fit-none-svg-002p.html object-fit-none-svg-002p.html
|
||||
fails == object-fit-none-svg-003e.html object-fit-none-svg-003e.html
|
||||
fails == object-fit-none-svg-003i.html object-fit-none-svg-003i.html
|
||||
fails == object-fit-none-svg-003o.html object-fit-none-svg-003o.html
|
||||
== object-fit-none-svg-003e.html object-fit-none-svg-003e.html
|
||||
== object-fit-none-svg-003i.html object-fit-none-svg-003i.html
|
||||
== object-fit-none-svg-003o.html object-fit-none-svg-003o.html
|
||||
fails == object-fit-none-svg-003p.html object-fit-none-svg-003p.html
|
||||
fails == object-fit-none-svg-004e.html object-fit-none-svg-004e.html
|
||||
fails == object-fit-none-svg-004i.html object-fit-none-svg-004i.html
|
||||
fails == object-fit-none-svg-004o.html object-fit-none-svg-004o.html
|
||||
== object-fit-none-svg-004e.html object-fit-none-svg-004e.html
|
||||
== object-fit-none-svg-004i.html object-fit-none-svg-004i.html
|
||||
== object-fit-none-svg-004o.html object-fit-none-svg-004o.html
|
||||
fails == object-fit-none-svg-004p.html object-fit-none-svg-004p.html
|
||||
fails == object-fit-none-svg-005e.html object-fit-none-svg-005e.html
|
||||
fails == object-fit-none-svg-005i.html object-fit-none-svg-005i.html
|
||||
fails == object-fit-none-svg-005o.html object-fit-none-svg-005o.html
|
||||
== object-fit-none-svg-005e.html object-fit-none-svg-005e.html
|
||||
== object-fit-none-svg-005i.html object-fit-none-svg-005i.html
|
||||
== object-fit-none-svg-005o.html object-fit-none-svg-005o.html
|
||||
fails == object-fit-none-svg-005p.html object-fit-none-svg-005p.html
|
||||
fails == object-fit-none-svg-006e.html object-fit-none-svg-006e.html
|
||||
fails == object-fit-none-svg-006i.html object-fit-none-svg-006i.html
|
||||
fails == object-fit-none-svg-006o.html object-fit-none-svg-006o.html
|
||||
== object-fit-none-svg-006e.html object-fit-none-svg-006e.html
|
||||
== object-fit-none-svg-006i.html object-fit-none-svg-006i.html
|
||||
== object-fit-none-svg-006o.html object-fit-none-svg-006o.html
|
||||
fails == object-fit-none-svg-006p.html object-fit-none-svg-006p.html
|
||||
fails == object-fit-scale-down-svg-001e.html object-fit-scale-down-svg-001e.html
|
||||
fails == object-fit-scale-down-svg-001i.html object-fit-scale-down-svg-001i.html
|
||||
fails == object-fit-scale-down-svg-001o.html object-fit-scale-down-svg-001o.html
|
||||
== object-fit-scale-down-svg-001e.html object-fit-scale-down-svg-001e.html
|
||||
== object-fit-scale-down-svg-001i.html object-fit-scale-down-svg-001i.html
|
||||
== object-fit-scale-down-svg-001o.html object-fit-scale-down-svg-001o.html
|
||||
fails == object-fit-scale-down-svg-001p.html object-fit-scale-down-svg-001p.html
|
||||
fails == object-fit-scale-down-svg-002e.html object-fit-scale-down-svg-002e.html
|
||||
fails == object-fit-scale-down-svg-002i.html object-fit-scale-down-svg-002i.html
|
||||
fails == object-fit-scale-down-svg-002o.html object-fit-scale-down-svg-002o.html
|
||||
== object-fit-scale-down-svg-002e.html object-fit-scale-down-svg-002e.html
|
||||
== object-fit-scale-down-svg-002i.html object-fit-scale-down-svg-002i.html
|
||||
== object-fit-scale-down-svg-002o.html object-fit-scale-down-svg-002o.html
|
||||
fails == object-fit-scale-down-svg-002p.html object-fit-scale-down-svg-002p.html
|
||||
fails == object-fit-scale-down-svg-003e.html object-fit-scale-down-svg-003e.html
|
||||
fails == object-fit-scale-down-svg-003i.html object-fit-scale-down-svg-003i.html
|
||||
fails == object-fit-scale-down-svg-003o.html object-fit-scale-down-svg-003o.html
|
||||
== object-fit-scale-down-svg-003e.html object-fit-scale-down-svg-003e.html
|
||||
== object-fit-scale-down-svg-003i.html object-fit-scale-down-svg-003i.html
|
||||
== object-fit-scale-down-svg-003o.html object-fit-scale-down-svg-003o.html
|
||||
fails == object-fit-scale-down-svg-003p.html object-fit-scale-down-svg-003p.html
|
||||
fails == object-fit-scale-down-svg-004e.html object-fit-scale-down-svg-004e.html
|
||||
fails == object-fit-scale-down-svg-004i.html object-fit-scale-down-svg-004i.html
|
||||
fails == object-fit-scale-down-svg-004o.html object-fit-scale-down-svg-004o.html
|
||||
== object-fit-scale-down-svg-004e.html object-fit-scale-down-svg-004e.html
|
||||
== object-fit-scale-down-svg-004i.html object-fit-scale-down-svg-004i.html
|
||||
# == object-fit-scale-down-svg-004o.html object-fit-scale-down-svg-004o.html
|
||||
fails == object-fit-scale-down-svg-004p.html object-fit-scale-down-svg-004p.html
|
||||
fails == object-fit-scale-down-svg-005e.html object-fit-scale-down-svg-005e.html
|
||||
fails == object-fit-scale-down-svg-005i.html object-fit-scale-down-svg-005i.html
|
||||
fails == object-fit-scale-down-svg-005o.html object-fit-scale-down-svg-005o.html
|
||||
== object-fit-scale-down-svg-005e.html object-fit-scale-down-svg-005e.html
|
||||
== object-fit-scale-down-svg-005i.html object-fit-scale-down-svg-005i.html
|
||||
== object-fit-scale-down-svg-005o.html object-fit-scale-down-svg-005o.html
|
||||
fails == object-fit-scale-down-svg-005p.html object-fit-scale-down-svg-005p.html
|
||||
fails == object-fit-scale-down-svg-006e.html object-fit-scale-down-svg-006e.html
|
||||
fails == object-fit-scale-down-svg-006i.html object-fit-scale-down-svg-006i.html
|
||||
fails == object-fit-scale-down-svg-006o.html object-fit-scale-down-svg-006o.html
|
||||
== object-fit-scale-down-svg-006e.html object-fit-scale-down-svg-006e.html
|
||||
== object-fit-scale-down-svg-006i.html object-fit-scale-down-svg-006i.html
|
||||
== object-fit-scale-down-svg-006o.html object-fit-scale-down-svg-006o.html
|
||||
fails == object-fit-scale-down-svg-006p.html object-fit-scale-down-svg-006p.html
|
||||
fails == object-position-png-001c.html object-position-png-001c.html
|
||||
== object-position-png-001c.html object-position-png-001c.html
|
||||
# fails == object-position-png-001e.html object-position-png-001e.html
|
||||
fails == object-position-png-001i.html object-position-png-001i.html
|
||||
== object-position-png-001i.html object-position-png-001i.html
|
||||
# fails == object-position-png-001o.html object-position-png-001o.html
|
||||
fails == object-position-png-001p.html object-position-png-001p.html
|
||||
fails == object-position-png-002c.html object-position-png-002c.html
|
||||
== object-position-png-002c.html object-position-png-002c.html
|
||||
# fails == object-position-png-002e.html object-position-png-002e.html
|
||||
fails == object-position-png-002i.html object-position-png-002i.html
|
||||
== object-position-png-002i.html object-position-png-002i.html
|
||||
# fails == object-position-png-002o.html object-position-png-002o.html
|
||||
fails == object-position-png-002p.html object-position-png-002p.html
|
||||
fails == object-position-svg-001e.html object-position-svg-001e.html
|
||||
fails == object-position-svg-001i.html object-position-svg-001i.html
|
||||
fails == object-position-svg-001o.html object-position-svg-001o.html
|
||||
== object-position-svg-001e.html object-position-svg-001e.html
|
||||
== object-position-svg-001i.html object-position-svg-001i.html
|
||||
== object-position-svg-001o.html object-position-svg-001o.html
|
||||
fails == object-position-svg-001p.html object-position-svg-001p.html
|
||||
# fails == object-position-svg-002e.html object-position-svg-002e.html
|
||||
fails == object-position-svg-002i.html object-position-svg-002i.html
|
||||
fails == object-position-svg-002o.html object-position-svg-002o.html
|
||||
== object-position-svg-002i.html object-position-svg-002i.html
|
||||
== object-position-svg-002o.html object-position-svg-002o.html
|
||||
fails == object-position-svg-002p.html object-position-svg-002p.html
|
||||
|
|
|
@ -67,10 +67,10 @@ fails == ruby-text-decoration-01.html ruby-text-decoration-01.html
|
|||
== text-emphasis-position-property-001a.html text-emphasis-position-property-001a.html
|
||||
== text-emphasis-position-property-001b.html text-emphasis-position-property-001b.html
|
||||
== text-emphasis-position-property-001c.html text-emphasis-position-property-001c.html
|
||||
fails == text-emphasis-position-property-002.html text-emphasis-position-property-002.html
|
||||
fails == text-emphasis-position-property-002a.html text-emphasis-position-property-002a.html
|
||||
fails == text-emphasis-position-property-002b.html text-emphasis-position-property-002b.html
|
||||
fails == text-emphasis-position-property-002c.html text-emphasis-position-property-002c.html
|
||||
== text-emphasis-position-property-002.html text-emphasis-position-property-002.html
|
||||
== text-emphasis-position-property-002a.html text-emphasis-position-property-002a.html
|
||||
== text-emphasis-position-property-002b.html text-emphasis-position-property-002b.html
|
||||
== text-emphasis-position-property-002c.html text-emphasis-position-property-002c.html
|
||||
== text-emphasis-position-property-003.html text-emphasis-position-property-003.html
|
||||
== text-emphasis-position-property-003a.html text-emphasis-position-property-003a.html
|
||||
== text-emphasis-position-property-003b.html text-emphasis-position-property-003b.html
|
||||
|
@ -79,14 +79,14 @@ fails == text-emphasis-position-property-002c.html text-emphasis-position-proper
|
|||
== text-emphasis-position-property-003e.html text-emphasis-position-property-003e.html
|
||||
== text-emphasis-position-property-003f.html text-emphasis-position-property-003f.html
|
||||
== text-emphasis-position-property-003g.html text-emphasis-position-property-003g.html
|
||||
fails == text-emphasis-position-property-004.html text-emphasis-position-property-004.html
|
||||
fails == text-emphasis-position-property-004a.html text-emphasis-position-property-004a.html
|
||||
fails == text-emphasis-position-property-004b.html text-emphasis-position-property-004b.html
|
||||
fails == text-emphasis-position-property-004c.html text-emphasis-position-property-004c.html
|
||||
fails == text-emphasis-position-property-004d.html text-emphasis-position-property-004d.html
|
||||
fails == text-emphasis-position-property-004e.html text-emphasis-position-property-004e.html
|
||||
fails == text-emphasis-position-property-004f.html text-emphasis-position-property-004f.html
|
||||
fails == text-emphasis-position-property-004g.html text-emphasis-position-property-004g.html
|
||||
== text-emphasis-position-property-004.html text-emphasis-position-property-004.html
|
||||
== text-emphasis-position-property-004a.html text-emphasis-position-property-004a.html
|
||||
== text-emphasis-position-property-004b.html text-emphasis-position-property-004b.html
|
||||
== text-emphasis-position-property-004c.html text-emphasis-position-property-004c.html
|
||||
== text-emphasis-position-property-004d.html text-emphasis-position-property-004d.html
|
||||
== text-emphasis-position-property-004e.html text-emphasis-position-property-004e.html
|
||||
== text-emphasis-position-property-004f.html text-emphasis-position-property-004f.html
|
||||
== text-emphasis-position-property-004g.html text-emphasis-position-property-004g.html
|
||||
== text-emphasis-position-property-005.html text-emphasis-position-property-005.html
|
||||
== text-emphasis-position-property-005a.html text-emphasis-position-property-005a.html
|
||||
== text-emphasis-position-property-005b.html text-emphasis-position-property-005b.html
|
||||
|
@ -95,38 +95,38 @@ fails == text-emphasis-position-property-004g.html text-emphasis-position-proper
|
|||
== text-emphasis-position-property-005e.html text-emphasis-position-property-005e.html
|
||||
== text-emphasis-position-property-005f.html text-emphasis-position-property-005f.html
|
||||
== text-emphasis-position-property-005g.html text-emphasis-position-property-005g.html
|
||||
fails == text-emphasis-position-property-006.html text-emphasis-position-property-006.html
|
||||
fails == text-emphasis-position-property-006a.html text-emphasis-position-property-006a.html
|
||||
fails == text-emphasis-position-property-006b.html text-emphasis-position-property-006b.html
|
||||
fails == text-emphasis-position-property-006c.html text-emphasis-position-property-006c.html
|
||||
fails == text-emphasis-position-property-006d.html text-emphasis-position-property-006d.html
|
||||
fails == text-emphasis-position-property-006e.html text-emphasis-position-property-006e.html
|
||||
fails == text-emphasis-position-property-006f.html text-emphasis-position-property-006f.html
|
||||
fails == text-emphasis-position-property-006g.html text-emphasis-position-property-006g.html
|
||||
== text-emphasis-position-property-006.html text-emphasis-position-property-006.html
|
||||
== text-emphasis-position-property-006a.html text-emphasis-position-property-006a.html
|
||||
== text-emphasis-position-property-006b.html text-emphasis-position-property-006b.html
|
||||
== text-emphasis-position-property-006c.html text-emphasis-position-property-006c.html
|
||||
== text-emphasis-position-property-006d.html text-emphasis-position-property-006d.html
|
||||
== text-emphasis-position-property-006e.html text-emphasis-position-property-006e.html
|
||||
== text-emphasis-position-property-006f.html text-emphasis-position-property-006f.html
|
||||
== text-emphasis-position-property-006g.html text-emphasis-position-property-006g.html
|
||||
# END tests from support/generate-text-emphasis-position-property-tests.py
|
||||
|
||||
# START tests from support/generate-text-emphasis-ruby-tests.py
|
||||
== text-emphasis-ruby-001.html text-emphasis-ruby-001.html
|
||||
fails == text-emphasis-ruby-002.html text-emphasis-ruby-002.html
|
||||
== text-emphasis-ruby-002.html text-emphasis-ruby-002.html
|
||||
== text-emphasis-ruby-003.html text-emphasis-ruby-003.html
|
||||
== text-emphasis-ruby-003a.html text-emphasis-ruby-003a.html
|
||||
fails == text-emphasis-ruby-004.html text-emphasis-ruby-004.html
|
||||
fails == text-emphasis-ruby-004a.html text-emphasis-ruby-004a.html
|
||||
== text-emphasis-ruby-004.html text-emphasis-ruby-004.html
|
||||
== text-emphasis-ruby-004a.html text-emphasis-ruby-004a.html
|
||||
# END tests from support/generate-text-emphasis-ruby-tests.py
|
||||
|
||||
# text-emphasis line height
|
||||
# START tests from support/generate-text-emphasis-line-height-tests.py
|
||||
== text-emphasis-line-height-001a.html text-emphasis-line-height-001a.html
|
||||
== text-emphasis-line-height-001b.html text-emphasis-line-height-001b.html
|
||||
fails == text-emphasis-line-height-002a.html text-emphasis-line-height-002a.html
|
||||
fails == text-emphasis-line-height-002b.html text-emphasis-line-height-002b.html
|
||||
== text-emphasis-line-height-002a.html text-emphasis-line-height-002a.html
|
||||
== text-emphasis-line-height-002b.html text-emphasis-line-height-002b.html
|
||||
== text-emphasis-line-height-003a.html text-emphasis-line-height-003a.html
|
||||
== text-emphasis-line-height-003b.html text-emphasis-line-height-003b.html
|
||||
== text-emphasis-line-height-003c.html text-emphasis-line-height-003c.html
|
||||
== text-emphasis-line-height-003d.html text-emphasis-line-height-003d.html
|
||||
fails == text-emphasis-line-height-004a.html text-emphasis-line-height-004a.html
|
||||
fails == text-emphasis-line-height-004b.html text-emphasis-line-height-004b.html
|
||||
fails == text-emphasis-line-height-004c.html text-emphasis-line-height-004c.html
|
||||
fails == text-emphasis-line-height-004d.html text-emphasis-line-height-004d.html
|
||||
== text-emphasis-line-height-004a.html text-emphasis-line-height-004a.html
|
||||
== text-emphasis-line-height-004b.html text-emphasis-line-height-004b.html
|
||||
== text-emphasis-line-height-004c.html text-emphasis-line-height-004c.html
|
||||
== text-emphasis-line-height-004d.html text-emphasis-line-height-004d.html
|
||||
# END tests from support/generate-text-emphasis-line-height-tests.py
|
||||
fails == text-emphasis-line-height-001z.html text-emphasis-line-height-001z.html
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
|
||||
fails == 480053-1.html 480053-1.html
|
||||
fails == z-index-1.html z-index-1.html
|
||||
== z-index-1.html z-index-1.html
|
||||
== stacking-context-yes.html stacking-context-yes.html
|
||||
# == stacking-context-perspective.html stacking-context-perspective.html
|
||||
== stacking-context-backface-visibility.html stacking-context-backface-visibility.html
|
||||
|
|
|
@ -924,7 +924,8 @@ BookmarksTracker.prototype = {
|
|||
this._log.debug("Restore succeeded: wiping server and other clients.");
|
||||
this.engine.service.resetClient([this.name]);
|
||||
this.engine.service.wipeServer([this.name]);
|
||||
this.engine.service.clientsEngine.sendCommand("wipeEngine", [this.name]);
|
||||
this.engine.service.clientsEngine.sendCommand("wipeEngine", [this.name],
|
||||
null, { reason: "bookmark-restore" });
|
||||
break;
|
||||
case "bookmarks-restore-failed":
|
||||
this._log.debug("Tracking all items on failed import.");
|
||||
|
|
|
@ -489,7 +489,7 @@ ClientEngine.prototype = {
|
|||
* @param args Array of arguments/data for command
|
||||
* @param clientId Client to send command to
|
||||
*/
|
||||
_sendCommandToClient: function sendCommandToClient(command, args, clientId, flowID = null) {
|
||||
_sendCommandToClient(command, args, clientId, telemetryExtra) {
|
||||
this._log.trace("Sending " + command + " to " + clientId);
|
||||
|
||||
let client = this._store._remoteClients[clientId];
|
||||
|
@ -503,18 +503,19 @@ ClientEngine.prototype = {
|
|||
let action = {
|
||||
command,
|
||||
args,
|
||||
flowID: flowID || Utils.makeGUID(), // used for telemetry.
|
||||
// We send the flowID to the other client so *it* can report it in its
|
||||
// telemetry - we record it in ours below.
|
||||
flowID: telemetryExtra.flowID,
|
||||
};
|
||||
|
||||
if (this._addClientCommand(clientId, action)) {
|
||||
this._log.trace(`Client ${clientId} got a new action`, [command, args]);
|
||||
this._tracker.addChangedID(clientId);
|
||||
let deviceID;
|
||||
try {
|
||||
deviceID = this.service.identity.hashedDeviceID(clientId);
|
||||
telemetryExtra.deviceID = this.service.identity.hashedDeviceID(clientId);
|
||||
} catch (_) {}
|
||||
this.service.recordTelemetryEvent("sendcommand", command, undefined,
|
||||
{ flowID: action.flowID, deviceID });
|
||||
|
||||
this.service.recordTelemetryEvent("sendcommand", command, undefined, telemetryExtra);
|
||||
} else {
|
||||
this._log.trace(`Client ${clientId} got a duplicate action`, [command, args]);
|
||||
}
|
||||
|
@ -599,7 +600,7 @@ ClientEngine.prototype = {
|
|||
* A unique identifier used to track success for this operation across
|
||||
* devices.
|
||||
*/
|
||||
sendCommand: function sendCommand(command, args, clientId, flowID = null) {
|
||||
sendCommand(command, args, clientId = null, telemetryExtra = {}) {
|
||||
let commandData = this._commands[command];
|
||||
// Don't send commands that we don't know about.
|
||||
if (!commandData) {
|
||||
|
@ -612,12 +613,18 @@ ClientEngine.prototype = {
|
|||
return;
|
||||
}
|
||||
|
||||
// We allocate a "flowID" here, so it is used for each client.
|
||||
telemetryExtra = Object.assign({}, telemetryExtra); // don't clobber the caller's object
|
||||
if (!telemetryExtra.flowID) {
|
||||
telemetryExtra.flowID = Utils.makeGUID();
|
||||
}
|
||||
|
||||
if (clientId) {
|
||||
this._sendCommandToClient(command, args, clientId, flowID);
|
||||
this._sendCommandToClient(command, args, clientId, telemetryExtra);
|
||||
} else {
|
||||
for (let [id, record] of Object.entries(this._store._remoteClients)) {
|
||||
if (!record.stale) {
|
||||
this._sendCommandToClient(command, args, id, flowID);
|
||||
this._sendCommandToClient(command, args, id, telemetryExtra);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1293,13 +1293,14 @@ Sync11Service.prototype = {
|
|||
this.wipeServer(engines);
|
||||
|
||||
// Only wipe the engines provided.
|
||||
let extra = { reason: "wipe-remote" };
|
||||
if (engines) {
|
||||
engines.forEach(function(e) {
|
||||
this.clientsEngine.sendCommand("wipeEngine", [e]);
|
||||
this.clientsEngine.sendCommand("wipeEngine", [e], null, extra);
|
||||
}, this);
|
||||
} else {
|
||||
// Tell the remote machines to wipe themselves.
|
||||
this.clientsEngine.sendCommand("wipeAll", []);
|
||||
this.clientsEngine.sendCommand("wipeAll", [], null, extra);
|
||||
}
|
||||
|
||||
// Make sure the changed clients get updated.
|
||||
|
|
|
@ -379,8 +379,9 @@ add_task(async function test_send_command() {
|
|||
|
||||
let action = "testCommand";
|
||||
let args = ["foo", "bar"];
|
||||
let extra = { flowID: "flowy" }
|
||||
|
||||
engine._sendCommandToClient(action, args, remoteId);
|
||||
engine._sendCommandToClient(action, args, remoteId, extra);
|
||||
|
||||
let newRecord = store._remoteClients[remoteId];
|
||||
let clientCommands = engine._readCommands()[remoteId];
|
||||
|
@ -1426,6 +1427,88 @@ add_task(async function test_command_sync() {
|
|||
}
|
||||
});
|
||||
|
||||
add_task(async function ensureSameFlowIDs() {
|
||||
let events = []
|
||||
let origRecordTelemetryEvent = Service.recordTelemetryEvent;
|
||||
Service.recordTelemetryEvent = (object, method, value, extra) => {
|
||||
events.push({ object, method, value, extra });
|
||||
}
|
||||
|
||||
try {
|
||||
// Setup 2 clients, send them a command, and ensure we get to events
|
||||
// written, both with the same flowID.
|
||||
let contents = {
|
||||
meta: {global: {engines: {clients: {version: engine.version,
|
||||
syncID: engine.syncID}}}},
|
||||
clients: {},
|
||||
crypto: {}
|
||||
};
|
||||
let server = serverForUsers({"foo": "password"}, contents);
|
||||
await SyncTestingInfrastructure(server);
|
||||
|
||||
let remoteId = Utils.makeGUID();
|
||||
let remoteId2 = Utils.makeGUID();
|
||||
|
||||
_("Create remote client record 1");
|
||||
server.insertWBO("foo", "clients", new ServerWBO(remoteId, encryptPayload({
|
||||
id: remoteId,
|
||||
name: "Remote client",
|
||||
type: "desktop",
|
||||
commands: [],
|
||||
version: "48",
|
||||
protocols: ["1.5"]
|
||||
}), Date.now() / 1000));
|
||||
|
||||
_("Create remote client record 2");
|
||||
server.insertWBO("foo", "clients", new ServerWBO(remoteId2, encryptPayload({
|
||||
id: remoteId2,
|
||||
name: "Remote client 2",
|
||||
type: "mobile",
|
||||
commands: [],
|
||||
version: "48",
|
||||
protocols: ["1.5"]
|
||||
}), Date.now() / 1000));
|
||||
|
||||
engine._sync();
|
||||
engine.sendCommand("wipeAll", []);
|
||||
engine._sync();
|
||||
equal(events.length, 2);
|
||||
// we don't know what the flowID is, but do know it should be the same.
|
||||
equal(events[0].extra.flowID, events[1].extra.flowID);
|
||||
|
||||
// check it's correctly used when we specify a flow ID
|
||||
events.length = 0;
|
||||
let flowID = Utils.makeGUID();
|
||||
engine.sendCommand("wipeAll", [], null, { flowID });
|
||||
engine._sync();
|
||||
equal(events.length, 2);
|
||||
equal(events[0].extra.flowID, flowID);
|
||||
equal(events[1].extra.flowID, flowID);
|
||||
|
||||
// and that it works when something else is in "extra"
|
||||
events.length = 0;
|
||||
engine.sendCommand("wipeAll", [], null, { reason: "testing" });
|
||||
engine._sync();
|
||||
equal(events.length, 2);
|
||||
equal(events[0].extra.flowID, events[1].extra.flowID);
|
||||
equal(events[0].extra.reason, "testing");
|
||||
equal(events[1].extra.reason, "testing");
|
||||
|
||||
// and when both are specified.
|
||||
events.length = 0;
|
||||
engine.sendCommand("wipeAll", [], null, { reason: "testing", flowID });
|
||||
engine._sync();
|
||||
equal(events.length, 2);
|
||||
equal(events[0].extra.flowID, flowID);
|
||||
equal(events[1].extra.flowID, flowID);
|
||||
equal(events[0].extra.reason, "testing");
|
||||
equal(events[1].extra.reason, "testing");
|
||||
|
||||
} finally {
|
||||
Service.recordTelemetryEvent = origRecordTelemetryEvent;
|
||||
}
|
||||
});
|
||||
|
||||
function run_test() {
|
||||
initTestLogging("Trace");
|
||||
Log.repository.getLogger("Sync.Engine.Clients").level = Log.Level.Trace;
|
||||
|
|
Загрузка…
Ссылка в новой задаче