mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #22772 - servo-wpt-sync:wpt_update_27-01-2019, r=jdm
Sync WPT with upstream (27-01-2019) Automated downstream sync of changes from upstream as of 27-01-2019. [no-wpt-sync] <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22772) <!-- Reviewable:end -->
This commit is contained in:
commit
8646d7dbbc
13 changed files with 168 additions and 40 deletions
|
@ -157957,6 +157957,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-ui/text-overflow-030.html": [
|
||||
[
|
||||
"/css/css-ui/text-overflow-030.html",
|
||||
[
|
||||
[
|
||||
"/css/css-ui/reference/text-overflow-030-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-ui/text-overflow-ruby.html": [
|
||||
[
|
||||
"/css/css-ui/text-overflow-ruby.html",
|
||||
|
@ -274660,6 +274672,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-ui/reference/text-overflow-030-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-ui/support/1x1-red.png": [
|
||||
[
|
||||
{}
|
||||
|
@ -347675,6 +347692,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-syntax/escaped-eof.html": [
|
||||
[
|
||||
"/css/css-syntax/escaped-eof.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-syntax/ident-three-code-points.html": [
|
||||
[
|
||||
"/css/css-syntax/ident-three-code-points.html",
|
||||
|
@ -573902,6 +573925,10 @@
|
|||
"a7d69d149e7bbf854efc2ef19af132af372ff521",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-syntax/escaped-eof.html": [
|
||||
"66ac8e9442e22c8d5b445d556c667f769c0939e2",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-syntax/ident-three-code-points.html": [
|
||||
"36faef9357746f4492d00a3fbb1e33ffd2021bb4",
|
||||
"testharness"
|
||||
|
@ -588750,6 +588777,10 @@
|
|||
"9cdd741ec20efd8132628dd3dddd1758cc55ab40",
|
||||
"support"
|
||||
],
|
||||
"css/css-ui/reference/text-overflow-030-ref.html": [
|
||||
"5e4f4936a1fa714e103e4e0f5e656483b05369b0",
|
||||
"support"
|
||||
],
|
||||
"css/css-ui/resize-001.html": [
|
||||
"99c7f05e17cd929b314d1d01b0511ec72a36ad99",
|
||||
"manual"
|
||||
|
@ -589898,6 +589929,10 @@
|
|||
"f1780117c4e824fd952c4ab6a95ab91f11914f9e",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-ui/text-overflow-030.html": [
|
||||
"0ccd59c12a20aa82de45370eff45565acdb2fc6e",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-ui/text-overflow-ref.html": [
|
||||
"a8795599ec3cdfe71090b06e1a6ad19941dd21b1",
|
||||
"support"
|
||||
|
@ -639947,7 +639982,7 @@
|
|||
"support"
|
||||
],
|
||||
"interfaces/web-nfc.idl": [
|
||||
"3dd4817eb0dfb329720b0e6da5097bf2d28cc6b4",
|
||||
"5a6d6f8a06b1d7bfbcf5b3cc1b5078ff930cbedc",
|
||||
"support"
|
||||
],
|
||||
"interfaces/web-share.idl": [
|
||||
|
@ -678595,7 +678630,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/font.py": [
|
||||
"a370f5f5a3b61cbb40c47abc786abe38679cd994",
|
||||
"51c5578a3c9ba8f07467d11663605d799c52856f",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/formatters.py": [
|
||||
|
@ -682255,7 +682290,7 @@
|
|||
"support"
|
||||
],
|
||||
"web-nfc/idlharness.https.window.js": [
|
||||
"0b3b099b7721eb3b7efb336d0f3f161bbcb23588",
|
||||
"95efd7ab3aa617b6d28dac11708ed4ed380fdd4e",
|
||||
"testharness"
|
||||
],
|
||||
"web-nfc/nfc_hw_disabled-manual.https.html": [
|
||||
|
@ -684259,7 +684294,7 @@
|
|||
"support"
|
||||
],
|
||||
"webdriver/tests/set_timeouts/set.py": [
|
||||
"4fbe83bf01b3de64436aa110ae1959bff80740b3",
|
||||
"98a20ddf119c11a2f01d7843f33433b7672a7b0d",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/set_timeouts/user_prompts.py": [
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
|
||||
[single-byte-decoder.html?XMLHttpRequest]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -312,6 +312,3 @@
|
|||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain;charset=gbk text/html]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[navigation-unload-same-origin-fragment.html]
|
||||
[Tests that a fragment navigation in the unload handler will not block the initial navigation]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[promise-rejection-events.html]
|
||||
expected: TIMEOUT
|
||||
[rejectionhandled is dispatched from a queued task, and not immediately]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[005.html]
|
||||
expected: ERROR
|
||||
[dedicated worker in shared worker in dedicated worker]
|
||||
expected: FAIL
|
||||
|
||||
|
|
46
tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html
Normal file
46
tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html
Normal file
|
@ -0,0 +1,46 @@
|
|||
<!doctype html>
|
||||
<title>Escaped EOF</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<meta name="author" title="Tab Atkins-Bittner">
|
||||
<link rel=help href="https://drafts.csswg.org/css-syntax/#consume-escaped-code-point">
|
||||
<link rel=help href="https://drafts.csswg.org/css-syntax/#consume-string-token">
|
||||
<link rel=help href="https://drafts.csswg.org/css-syntax/#consume-token">
|
||||
|
||||
<style>foo { --foo:foo\</style>
|
||||
<style>foo { --foo:1foo\</style>
|
||||
<style>foo { --foo:url(foo\</style>
|
||||
<style>foo { --foo:"foo\</style>
|
||||
|
||||
<script>
|
||||
test(()=>{
|
||||
assert_throws(new SyntaxError, ()=>{document.querySelector("#123");}, "numeric hash token is invalid in a selector");
|
||||
document.querySelector("#foo\\"); // escaped-EOF in a hash token is valid in a selector
|
||||
}, "Escaped EOF turns into a U+FFFD in a hash token, makes it 'ID' type.");
|
||||
|
||||
test(()=>{
|
||||
const sh = document.styleSheets[0];
|
||||
const val = sh.cssRules[0].style.getPropertyValue("--foo");
|
||||
assert_equals("foo\ufffd", val);
|
||||
}, "Escaped EOF turns into a U+FFFD in an ident token.");
|
||||
|
||||
test(()=>{
|
||||
const sh = document.styleSheets[1];
|
||||
const val = sh.cssRules[0].style.getPropertyValue("--foo");
|
||||
assert_equals("1foo\ufffd", val);
|
||||
}, "Escaped EOF turns into a U+FFFD in a dimension token.");
|
||||
|
||||
test(()=>{
|
||||
const sh = document.styleSheets[2];
|
||||
const val = sh.cssRules[0].style.getPropertyValue("--foo");
|
||||
assert_equals("url(foo\ufffd)", val);
|
||||
}, "Escaped EOF turns into a U+FFFD in a url token.");
|
||||
|
||||
test(()=>{
|
||||
const sh = document.styleSheets[3];
|
||||
const val = sh.cssRules[0].style.getPropertyValue("--foo");
|
||||
assert_equals(`"foo"`, val);
|
||||
}, "Escaped EOF in a string is ignored.");
|
||||
|
||||
</script>
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Reference</title>
|
||||
<style>
|
||||
.positioned {
|
||||
background-color: green;
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a green rectangle and no red.</p>
|
||||
<div class="positioned"></div>
|
|
@ -0,0 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Basic User Interface Test: ellipsis should render under other positioned content</title>
|
||||
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-ui/#text-overflow">
|
||||
<link rel="match" href="reference/text-overflow-030-ref.html">
|
||||
<style>
|
||||
.positioned {
|
||||
background-color: green;
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.ellipsis {
|
||||
color: red;
|
||||
overflow-x: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: pre;
|
||||
width: 100px;
|
||||
font: 50px sans-serif;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a green rectangle and no red.</p>
|
||||
<div class="positioned"></div>
|
||||
<div class="ellipsis"> </div>
|
|
@ -24,10 +24,6 @@ enum NFCRecordType {
|
|||
"opaque"
|
||||
};
|
||||
|
||||
partial interface Navigator {
|
||||
[SecureContext, SameObject] readonly attribute NFC nfc;
|
||||
};
|
||||
|
||||
typedef (DOMString or ArrayBuffer or NFCMessage) NFCMessageSource;
|
||||
|
||||
[Constructor(), SecureContext, Exposed=Window]
|
||||
|
@ -35,12 +31,32 @@ interface NFCWriter {
|
|||
Promise<void> push(NFCMessageSource message, optional NFCPushOptions options);
|
||||
};
|
||||
|
||||
[SecureContext]
|
||||
interface NFC {
|
||||
Promise<void> watch(MessageCallback callback, optional NFCWatchOptions options);
|
||||
[Constructor(optional NFCReaderOptions options), SecureContext, Exposed=Window]
|
||||
interface NFCReader : EventTarget {
|
||||
attribute EventHandler onreading;
|
||||
attribute EventHandler onerror;
|
||||
|
||||
void start();
|
||||
void stop();
|
||||
};
|
||||
|
||||
callback MessageCallback = void (NFCMessage message);
|
||||
[Constructor(DOMString type, NFCReadingEventInit readingEventInitDict), SecureContext, Exposed=Window]
|
||||
interface NFCReadingEvent : Event {
|
||||
readonly attribute NFCMessage message;
|
||||
};
|
||||
|
||||
dictionary NFCReadingEventInit : EventInit {
|
||||
required NFCMessage message;
|
||||
};
|
||||
|
||||
[Constructor(DOMString type, NFCErrorEventInit errorEventInitDict), SecureContext, Exposed=Window]
|
||||
interface NFCErrorEvent : Event {
|
||||
readonly attribute DOMException error;
|
||||
};
|
||||
|
||||
dictionary NFCErrorEventInit : EventInit {
|
||||
required DOMException error;
|
||||
};
|
||||
|
||||
dictionary NFCPushOptions {
|
||||
NFCPushTarget target = "any";
|
||||
|
@ -55,15 +71,14 @@ enum NFCPushTarget {
|
|||
"any"
|
||||
};
|
||||
|
||||
dictionary NFCWatchOptions {
|
||||
dictionary NFCReaderOptions {
|
||||
USVString url = "";
|
||||
NFCRecordType recordType;
|
||||
USVString mediaType = "";
|
||||
NFCWatchMode mode = "web-nfc-only";
|
||||
AbortSignal? signal;
|
||||
NFCAccept accept = "web-nfc-only";
|
||||
};
|
||||
|
||||
enum NFCWatchMode {
|
||||
enum NFCAccept {
|
||||
"web-nfc-only",
|
||||
"any"
|
||||
};
|
||||
|
|
|
@ -92,8 +92,14 @@ class FontInstaller(object):
|
|||
|
||||
gdi32 = ctypes.WinDLL('gdi32')
|
||||
if gdi32.AddFontResourceW(font_path):
|
||||
return bool(ctypes.windll.user32.SendMessageW(hwnd_broadcast,
|
||||
wm_fontchange))
|
||||
from ctypes import wintypes
|
||||
wparam = 0
|
||||
lparam = 0
|
||||
SendMessageW = ctypes.windll.user32.SendMessageW
|
||||
SendMessageW.argtypes = [wintypes.HANDLE, wintypes.UINT,
|
||||
wintypes.WPARAM, wintypes.LPARAM]
|
||||
return bool(SendMessageW(hwnd_broadcast, wm_fontchange,
|
||||
wparam, lparam))
|
||||
|
||||
def remove_linux_font(self, font_name, _):
|
||||
if self.created_dir:
|
||||
|
@ -120,5 +126,11 @@ class FontInstaller(object):
|
|||
|
||||
gdi32 = ctypes.WinDLL('gdi32')
|
||||
if gdi32.RemoveFontResourceW(font_path):
|
||||
return bool(ctypes.windll.user32.SendMessageW(hwnd_broadcast,
|
||||
wm_fontchange))
|
||||
from ctypes import wintypes
|
||||
wparam = 0
|
||||
lparam = 0
|
||||
SendMessageW = ctypes.windll.user32.SendMessageW
|
||||
SendMessageW.argtypes = [wintypes.HANDLE, wintypes.UINT,
|
||||
wintypes.WPARAM, wintypes.LPARAM]
|
||||
return bool(SendMessageW(hwnd_broadcast, wm_fontchange,
|
||||
wparam, lparam))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
idl_test(
|
||||
['web-nfc'],
|
||||
['html'],
|
||||
['html', 'dom'],
|
||||
idl_array => {
|
||||
idl_array.add_objects({
|
||||
Navigator: ['navigator'],
|
||||
|
|
|
@ -48,11 +48,6 @@ def test_script_parameter_empty_no_change(session):
|
|||
assert session.timeouts._get()["script"] == original["script"]
|
||||
|
||||
|
||||
def test_key_invalid(session):
|
||||
response = set_timeouts(session, {"foo": 1000})
|
||||
assert_error(response, "invalid argument")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("typ", ["implicit", "pageLoad", "script"])
|
||||
@pytest.mark.parametrize("value", [0, 2.0, 2**53 - 1])
|
||||
def test_positive_integer(session, typ, value):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue