mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 17:55:50 +00:00
Merge mozilla-central to autoland. a=merge CLOSED TREE
This commit is contained in:
commit
64df1ac8fb
1
testing/web-platform/meta/FileAPI/__dir__.ini
Normal file
1
testing/web-platform/meta/FileAPI/__dir__.ini
Normal file
@ -0,0 +1 @@
|
||||
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
@ -0,0 +1 @@
|
||||
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
1
testing/web-platform/meta/cookie-store/__dir__.ini
Normal file
1
testing/web-platform/meta/cookie-store/__dir__.ini
Normal file
@ -0,0 +1 @@
|
||||
lsan-allowed: [Alloc, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
@ -3,20 +3,20 @@
|
||||
if os == "linux": https://bugzilla.mozilla.org/show_bug.cgi?id=1573036
|
||||
if (os == "win") and (processor == "aarch64"): https://bugzilla.mozilla.org/show_bug.cgi?id=1573036
|
||||
expected:
|
||||
if (os == "mac") and not debug: ["OK", "TIMEOUT"]
|
||||
if (os == "mac") and not debug: ["TIMEOUT", "OK"]
|
||||
TIMEOUT
|
||||
[getChangeSubscriptions returns subscriptions passed to subscribeToChanges]
|
||||
expected:
|
||||
if (os == "mac") and not debug: ["FAIL", "TIMEOUT"]
|
||||
if (os == "mac") and not debug: ["TIMEOUT", "FAIL"]
|
||||
TIMEOUT
|
||||
|
||||
[subscribeToChanges rejects when called outside the install handler]
|
||||
expected:
|
||||
if (os == "mac") and not debug: ["FAIL", "NOTRUN"]
|
||||
if (os == "mac") and not debug: ["NOTRUN", "FAIL"]
|
||||
NOTRUN
|
||||
|
||||
[cookiechange dispatched with cookie change that matches subscription]
|
||||
expected:
|
||||
if (os == "mac") and not debug: ["FAIL", "NOTRUN"]
|
||||
if (os == "mac") and not debug: ["NOTRUN", "FAIL"]
|
||||
NOTRUN
|
||||
|
||||
|
@ -1,2 +0,0 @@
|
||||
[zero-width-floats-positioning.html]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[opacity-overlapping-letters.html]
|
||||
expected: FAIL
|
@ -0,0 +1,13 @@
|
||||
[inheritance.html]
|
||||
[Property bookmark-state does not inherit]
|
||||
expected: FAIL
|
||||
|
||||
[Property bookmark-state has initial value open]
|
||||
expected: FAIL
|
||||
|
||||
[Property bookmark-level has initial value none]
|
||||
expected: FAIL
|
||||
|
||||
[Property bookmark-level does not inherit]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,7 @@
|
||||
[AnimationEffect-getComputedTiming.tentative.html]
|
||||
[easing of a new transition]
|
||||
expected: FAIL
|
||||
|
||||
[non-default easing of a new transition]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,13 @@
|
||||
[KeyframeEffect-getKeyframes.tentative.html]
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a simple transition]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a transition with a CSS variable endpoint]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a simple transition with a non-default easing function]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns frames unaffected by a non-default easing function]
|
||||
expected: FAIL
|
||||
|
@ -4,4 +4,4 @@
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86"): FAIL
|
||||
if (os == "win") and (processor == "x86_64"): FAIL
|
||||
if (os == "win") and (processor == "aarch64"): ["PASS", "FAIL"]
|
||||
if (os == "win") and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
|
@ -3,5 +3,5 @@
|
||||
if debug and (os == "win") and (version == "6.1.7601"): https://bugzilla.mozilla.org/show_bug.cgi?id=1560360
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86"): FAIL
|
||||
if (os == "win") and (processor == "aarch64"): ["PASS", "FAIL"]
|
||||
if (os == "win") and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
if (os == "win") and (processor == "x86_64"): FAIL
|
||||
|
@ -2,6 +2,6 @@
|
||||
disabled:
|
||||
if debug and (os == "win") and (version == "6.1.7601"): https://bugzilla.mozilla.org/show_bug.cgi?id=1560360
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86"): FAIL
|
||||
if (os == "win") and (processor == "x86_64"): FAIL
|
||||
if (os == "win") and (processor == "aarch64"): ["PASS", "FAIL"]
|
||||
if (os == "win") and (processor == "x86"): FAIL
|
||||
if (os == "win") and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
|
@ -1,8 +1,5 @@
|
||||
[appearance-square-button-001.html]
|
||||
disabled:
|
||||
if debug and os == "win" and version == "6.1.7601": https://bugzilla.mozilla.org/show_bug.cgi?id=1560360
|
||||
if debug and (os == "win") and (version == "6.1.7601"): https://bugzilla.mozilla.org/show_bug.cgi?id=1560360
|
||||
expected:
|
||||
if (os == "win") and debug and (processor == "x86_64"): FAIL
|
||||
if (os == "win") and not debug: FAIL
|
||||
if os == "win": FAIL
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
[appearance-textfield-001.html]
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86") and not debug: ["PASS", "FAIL"]
|
||||
if (os == "win") and (processor == "x86") and debug: ["PASS", "FAIL"]
|
||||
if (os == "win") and (processor == "x86") and not debug: ["FAIL", "PASS"]
|
||||
if (os == "win") and (processor == "x86_64"): ["FAIL", "PASS"]
|
||||
if (os == "win") and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
|
@ -0,0 +1,13 @@
|
||||
[clamp-length-computed.html]
|
||||
[Property letter-spacing value 'clamp(10px, 5px, 30px)' computes to '10px']
|
||||
expected: FAIL
|
||||
|
||||
[Property letter-spacing value 'clamp(10px, 35px, 30px)' computes to '30px']
|
||||
expected: FAIL
|
||||
|
||||
[Property letter-spacing value 'clamp(30px, 100px, 20px)' computes to '30px']
|
||||
expected: FAIL
|
||||
|
||||
[Property letter-spacing value 'clamp(10px, 20px, 30px)' computes to '20px']
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,7 @@
|
||||
[clamp-length-serialize.html]
|
||||
[e.style['letter-spacing'\] = "clamp(1px, 2px, clamp(2px, 3px, 4px))" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['letter-spacing'\] = "clamp(1px, 2px, 3px)" should set the property value]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,2 @@
|
||||
[min-max-percentage-length-interpolation.html]
|
||||
expected: FAIL
|
@ -1,8 +1,8 @@
|
||||
[variable-presentation-attribute.html]
|
||||
[Testing 'clip' on '#test4'.]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
if os == "linux": FAIL
|
||||
if os == "android": FAIL
|
||||
|
||||
[Testing 'alignment-baseline'.]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,22 @@
|
||||
[navigation-controls.tentative.html]
|
||||
[Should be parseable in JS: '(navigation-controls)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(navigation-controls: back-button)']
|
||||
expected: FAIL
|
||||
|
||||
[Check that none evaluates to false in the boolean context]
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(navigation-controls: none)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(navigation-controls: none)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(navigation-controls)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(navigation-controls: back-button)']
|
||||
expected: FAIL
|
||||
|
@ -16,3 +16,6 @@
|
||||
[StaticRange interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[ShadowRoot interface: attribute onslotchange]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
prefs: [javascript.options.streams:true]
|
||||
lsan-allowed: [nsTSubstring<char>::StartBulkWriteImpl, Gecko_StartBulkWriteCString, nsstring::nsACString::start_bulk_write_impl]
|
||||
leak-threshold: [default:51200]
|
||||
lsan-allowed: [Alloc, Create, Gecko_StartBulkWriteCString, Malloc, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::NotifyUnregister, mozilla::net::nsStandardURL::TemplatedMutator, nsTSubstring<char>::StartBulkWriteImpl, nsstring::nsACString::start_bulk_write_impl, operator]
|
||||
|
1
testing/web-platform/meta/fetch/api/policies/__dir__.ini
Normal file
1
testing/web-platform/meta/fetch/api/policies/__dir__.ini
Normal file
@ -0,0 +1 @@
|
||||
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
@ -0,0 +1 @@
|
||||
lsan-allowed: [Create, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, operator]
|
@ -0,0 +1,11 @@
|
||||
[portal.tentative.https.sub.html]
|
||||
expected: TIMEOUT
|
||||
[web-platform.test -> www.web-platform.test:8443 portal]
|
||||
expected: TIMEOUT
|
||||
|
||||
[web-platform.test -> web-platform.test:8443 portal]
|
||||
expected: TIMEOUT
|
||||
|
||||
[web-platform.test -> www.not-web-platform.test:8443 portal]
|
||||
expected: TIMEOUT
|
||||
|
@ -0,0 +1 @@
|
||||
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
@ -9,8 +9,7 @@
|
||||
expected: FAIL
|
||||
|
||||
[no popups from synchronously reachable window]
|
||||
expected:
|
||||
[PASS, FAIL]
|
||||
expected: [FAIL, PASS]
|
||||
|
||||
[no popups from another synchronously reachable window]
|
||||
expected: FAIL
|
||||
|
@ -1 +1,2 @@
|
||||
prefs: [browser.tabs.remote.useCrossOriginEmbedderPolicy:true, browser.tabs.remote.useCORP:true]
|
||||
prefs: [browser.tabs.remote.useCrossOriginEmbedderPolicy:true, browser.tabs.remote.useCORP:true]
|
||||
lsan-allowed: [Alloc, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
||||
|
@ -782,6 +782,9 @@
|
||||
[SVGElement interface: attribute autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[SVGElement interface: attribute onslotchange]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[idlharness.https.html?include=(Document|Window)]
|
||||
[Document interface: documentWithHandlers must inherit property "onsecuritypolicyviolation" with the proper type]
|
||||
@ -861,6 +864,24 @@
|
||||
[Window interface: attribute oncancel]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: new Document() must inherit property "onslotchange" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: documentWithHandlers must inherit property "onslotchange" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Window interface: window must inherit property "onslotchange" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: attribute onslotchange]
|
||||
expected: FAIL
|
||||
|
||||
[Window interface: attribute onslotchange]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: iframe.contentDocument must inherit property "onslotchange" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[idlharness.https.html?include=HTML.*]
|
||||
[HTMLDialogElement interface: operation close(DOMString)]
|
||||
@ -1139,3 +1160,9 @@
|
||||
[HTMLElement interface: attribute autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLElement interface: attribute onslotchange]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLElement interface: document.createElement("noscript") must inherit property "onslotchange" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -16,8 +16,8 @@
|
||||
|
||||
[border-bottom-color]
|
||||
expected:
|
||||
if os == "android": PASS
|
||||
if os == "linux": PASS
|
||||
if os == "android": PASS
|
||||
FAIL
|
||||
|
||||
[border-right-color]
|
||||
|
@ -1,10 +1,13 @@
|
||||
[update-the-rendering.html]
|
||||
["Flush autofocus candidates" should be happen after the first animation frame callbacks, and before a resize event in the next iteration of window event loop.]
|
||||
expected:
|
||||
if (os == "linux") and debug and not webrender and sw-e10s: ["PASS", "FAIL"]
|
||||
if (os == "linux") and debug and not webrender and not sw-e10s: ["FAIL", "PASS"]
|
||||
if (os == "linux") and not debug and (processor == "x86_64") and webrender: ["FAIL", "PASS"]
|
||||
if (os == "linux") and not debug and (processor == "x86_64") and not webrender: ["FAIL", "PASS"]
|
||||
if (os == "linux") and debug and sw-e10s: ["FAIL", "PASS"]
|
||||
if (os == "linux") and debug and not sw-e10s: ["PASS", "FAIL"]
|
||||
if (os == "win") and debug: ["FAIL", "PASS"]
|
||||
if (os == "win") and debug and not webrender and (processor == "x86_64"): ["FAIL", "PASS"]
|
||||
if (os == "win") and debug and not webrender and (processor == "x86"): ["FAIL", "PASS"]
|
||||
if (os == "linux") and debug and webrender: ["PASS", "FAIL"]
|
||||
if (os == "win") and debug and webrender: ["FAIL", "PASS"]
|
||||
FAIL
|
||||
|
||||
|
@ -26,3 +26,15 @@
|
||||
[GlobalEventHandlers]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: must be on the appropriate locations for GlobalEventHandlers]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: the content attribute must be compiled into a function as the corresponding property]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: the default value must be null]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: the content attribute must execute when an event is dispatched]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -74,3 +74,12 @@
|
||||
[HTMLBodyElement event handlers]
|
||||
expected: FAIL
|
||||
|
||||
[not shadowed slotchange (window)]
|
||||
expected: FAIL
|
||||
|
||||
[not shadowed slotchange (document.createElement("body"))]
|
||||
expected: FAIL
|
||||
|
||||
[not shadowed slotchange (document.body)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -53,3 +53,12 @@
|
||||
[event handlers]
|
||||
expected: FAIL
|
||||
|
||||
[not shadowed slotchange (window)]
|
||||
expected: FAIL
|
||||
|
||||
[not shadowed slotchange (document.createElement("frameset"))]
|
||||
expected: FAIL
|
||||
|
||||
[not shadowed slotchange (document.body)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -14,3 +14,9 @@
|
||||
[event-handler-attributes-windowless-body]
|
||||
expected: FAIL
|
||||
|
||||
[slotchange is unaffected on a windowless frameset]
|
||||
expected: FAIL
|
||||
|
||||
[slotchange is unaffected on a windowless body]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -926,3 +926,18 @@
|
||||
[onkeyup: dispatching an Event at a <math> element must trigger element.onkeyup]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: the default value must be null]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: dynamic changes on the attribute]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: must be on the appropriate locations for GlobalEventHandlers]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: the content attribute must be compiled into a function as the corresponding property]
|
||||
expected: FAIL
|
||||
|
||||
[onslotchange: dispatching an Event at a <math> element must trigger element.onslotchange]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
[charset-parameter.window.html]
|
||||
expected:
|
||||
if (processor == "x86") and (os == "win") and not debug: ["OK", "TIMEOUT"]
|
||||
[text/html;charset=gbk(]
|
||||
expected: FAIL
|
||||
|
||||
@ -26,3 +28,7 @@
|
||||
[text/html;charset=\x0cgbk]
|
||||
expected: FAIL
|
||||
|
||||
[text/html;charset="gbk"]
|
||||
expected:
|
||||
if (processor == "x86") and (os == "win") and not debug: ["PASS", "TIMEOUT"]
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
local: a9b0375fc5d6e30137c82d92d1900f7616bc1b19
|
||||
upstream: 42b82765b84378e746063997f51f9fd75a1d902c
|
||||
local: fe136f92ad53a4a93aed95863a4e0fe753c6f9c8
|
||||
upstream: eaa551911f12c5c526f56cafd0c7ab24667ead3c
|
||||
|
@ -1,5 +1,5 @@
|
||||
[FileSystemDirectoryHandle-getDirectory.tentative.https.window.html]
|
||||
[getDirectory(create=true) with a path separator]
|
||||
[native_FileSystemDirectoryHandle-getDirectory.tentative.https.manual.window.html]
|
||||
[getDirectory() with ".." name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) rejects for non-existing directories]
|
||||
@ -8,25 +8,28 @@
|
||||
[getDirectory() with "." name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) with a path separator]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) returns existing directories without erasing]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) returns existing directories]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() when a file already exists with the same name]
|
||||
[User granted write access.]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with ".." name]
|
||||
[User succesfully selected an empty directory.]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) creates an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[Cleanup to setup test environment]
|
||||
[getDirectory() with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with empty name]
|
||||
[getDirectory() when a file already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) with a path separator when the directory exists]
|
@ -1,4 +1,7 @@
|
||||
[FileSystemDirectoryHandle-getFile.tentative.https.window.html]
|
||||
[native_FileSystemDirectoryHandle-getFile.tentative.https.manual.window.html]
|
||||
[getFile(create=false) with a path separator when the file exists.]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) rejects for non-existing files]
|
||||
expected: FAIL
|
||||
|
||||
@ -11,18 +14,15 @@
|
||||
[getFile(create=true) returns existing files without erasing]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with "." name]
|
||||
[User granted write access.]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) with a path separator when the file exists.]
|
||||
[User succesfully selected an empty directory.]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) with a path separator]
|
||||
expected: FAIL
|
||||
|
||||
[Cleanup to setup test environment]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) when a directory already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
@ -32,6 +32,9 @@
|
||||
[getFile() with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with "." name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with ".." name]
|
||||
expected: FAIL
|
||||
|
@ -1,40 +1,31 @@
|
||||
[FileSystemBaseHandle-remove.tentative.https.window.html]
|
||||
[native_FileSystemDirectoryHandle-removeEntry.tentative.https.manual.window.html]
|
||||
[removeEntry() on a non-empty directory should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with "." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() on an already removed file should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with empty name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[remove() on an already removed file should fail]
|
||||
[removeEntry() with a path separator should fail.]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with a path separator should fail.]
|
||||
[User granted write access.]
|
||||
expected: FAIL
|
||||
|
||||
[User succesfully selected an empty directory.]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with "." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with ".." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[remove() to remove a file]
|
||||
expected: FAIL
|
||||
|
||||
[Cleanup to setup test environment]
|
||||
expected: FAIL
|
||||
|
||||
[remove() on a non-empty directory should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() to remove an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[remove() to remove an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() to remove a file]
|
||||
expected: FAIL
|
||||
|
@ -1,4 +1,4 @@
|
||||
[FileSystemWriter.tentative.https.window.html]
|
||||
[native_FileSystemWriter.tentative.https.manual.window.html]
|
||||
[write() called with a blob and a valid offset]
|
||||
expected: FAIL
|
||||
|
||||
@ -41,6 +41,9 @@
|
||||
[truncate() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[User succesfully selected an empty directory.]
|
||||
expected: FAIL
|
||||
|
||||
[write() a blob to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
@ -62,15 +65,15 @@
|
||||
[atomic writes: writer persists file on close, even if file is removed]
|
||||
expected: FAIL
|
||||
|
||||
[User granted write access.]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a string with windows line ending preserved]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: write() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[Cleanup to setup test environment]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a string with unix line ending preserved]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,63 @@
|
||||
[sandboxed_FileSystemDirectoryHandle-getDirectory.tentative.https.any.html]
|
||||
[getDirectory(create=true) with a path separator]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) rejects for non-existing directories]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with "." name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) returns existing directories without erasing]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) returns existing directories]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() when a file already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with ".." name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) creates an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) with a path separator when the directory exists]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[sandboxed_FileSystemDirectoryHandle-getDirectory.tentative.https.any.worker.html]
|
||||
[getDirectory(create=true) with a path separator]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) rejects for non-existing directories]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with "." name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) returns existing directories without erasing]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) returns existing directories]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() when a file already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with ".." name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=true) creates an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory() with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[getDirectory(create=false) with a path separator when the directory exists]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,69 @@
|
||||
[sandboxed_FileSystemDirectoryHandle-getFile.tentative.https.any.worker.html]
|
||||
[getFile(create=false) rejects for non-existing files]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) returns existing files]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) creates an empty file for non-existing files]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) returns existing files without erasing]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with "." name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) with a path separator when the file exists.]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) with a path separator]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) when a directory already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) when a directory already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with ".." name]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[sandboxed_FileSystemDirectoryHandle-getFile.tentative.https.any.html]
|
||||
[getFile(create=false) rejects for non-existing files]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) returns existing files]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) creates an empty file for non-existing files]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) returns existing files without erasing]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with "." name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) with a path separator when the file exists.]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) with a path separator]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=true) when a directory already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile(create=false) when a directory already exists with the same name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[getFile() with ".." name]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,51 @@
|
||||
[sandboxed_FileSystemDirectoryHandle-removeEntry.tentative.https.any.html]
|
||||
[removeEntry() on a non-empty directory should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() on an already removed file should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with empty name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with a path separator should fail.]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with ".." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with "." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() to remove an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() to remove a file]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[sandboxed_FileSystemDirectoryHandle-removeEntry.tentative.https.any.worker.html]
|
||||
[removeEntry() on a non-empty directory should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() on an already removed file should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with empty name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with a path separator should fail.]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with ".." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() with "." name should fail]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() to remove an empty directory]
|
||||
expected: FAIL
|
||||
|
||||
[removeEntry() to remove a file]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,147 @@
|
||||
[sandboxed_FileSystemWriter.tentative.https.any.html]
|
||||
[write() called with a blob and a valid offset]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: only one close() operation may succeed]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: close() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a valid typed array buffer]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a valid utf-8 string]
|
||||
expected: FAIL
|
||||
|
||||
[truncate() to grow a file]
|
||||
expected: FAIL
|
||||
|
||||
[write() with an empty blob to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[write() with an empty array buffer to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[createWriter() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[createWriter({keepExistingData: true}): atomic writer initialized with source contents]
|
||||
expected: FAIL
|
||||
|
||||
[truncate() to shrink a file]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: close() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: writers make atomic changes on close]
|
||||
expected: FAIL
|
||||
|
||||
[truncate() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() a blob to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[write() called with an invalid offset]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: truncate() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[createWriter({keepExistingData: false}): atomic writer initialized with empty file]
|
||||
expected: FAIL
|
||||
|
||||
[write() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() with an empty string to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: writer persists file on close, even if file is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a string with windows line ending preserved]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: write() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a string with unix line ending preserved]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[sandboxed_FileSystemWriter.tentative.https.any.worker.html]
|
||||
[write() called with a blob and a valid offset]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: only one close() operation may succeed]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: close() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a valid typed array buffer]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a valid utf-8 string]
|
||||
expected: FAIL
|
||||
|
||||
[truncate() to grow a file]
|
||||
expected: FAIL
|
||||
|
||||
[write() with an empty blob to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[write() with an empty array buffer to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[createWriter() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[createWriter({keepExistingData: true}): atomic writer initialized with source contents]
|
||||
expected: FAIL
|
||||
|
||||
[truncate() to shrink a file]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: close() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: writers make atomic changes on close]
|
||||
expected: FAIL
|
||||
|
||||
[truncate() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() a blob to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[write() called with an invalid offset]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: truncate() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[createWriter({keepExistingData: false}): atomic writer initialized with empty file]
|
||||
expected: FAIL
|
||||
|
||||
[write() fails when parent directory is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() with an empty string to an empty file]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: writer persists file on close, even if file is removed]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a string with windows line ending preserved]
|
||||
expected: FAIL
|
||||
|
||||
[atomic writes: write() after close() fails]
|
||||
expected: FAIL
|
||||
|
||||
[write() with a string with unix line ending preserved]
|
||||
expected: FAIL
|
||||
|
@ -1,2 +1,2 @@
|
||||
lsan-allowed: [NS_NewDOMPointerEvent, createTable, mozilla::WidgetPointerEvent::Duplicate, mozilla::dom::Performance::CreateForMainThread, nsThread::ProcessNextEvent]
|
||||
lsan-allowed: [NS_NewDOMPointerEvent, RunInternal, createTable, mozilla::WidgetPointerEvent::Duplicate, mozilla::dom::Performance::CreateForMainThread, nsThread::ProcessNextEvent]
|
||||
leak-threshold: [tab:358400]
|
||||
|
@ -1,9 +1,7 @@
|
||||
[pointerevent_movementxy.html]
|
||||
expected:
|
||||
if debug and (os == "linux") and not webrender and sw-e10s: ["OK", "ERROR"]
|
||||
if debug and (os == "linux") and webrender: ["OK", "ERROR"]
|
||||
if debug and (os == "win") and webrender: ["OK", "ERROR"]
|
||||
if debug and (os == "mac"): ["OK", "ERROR"]
|
||||
if (os == "mac") and debug: ["OK", "ERROR"]
|
||||
if (os == "mac") and not debug: ["OK", "ERROR"]
|
||||
[ERROR, OK]
|
||||
[mouse pointerevent attributes]
|
||||
expected: FAIL
|
||||
|
@ -1,9 +1,11 @@
|
||||
[pointerevent_movementxy_with_pointerlock.html]
|
||||
[mouse pointerevent movementX/Y with pointerlock test]
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86_64") and not webrender and not debug: ["PASS", "FAIL"]
|
||||
if (os == "linux") and not debug and (processor == "x86_64"): ["PASS", "FAIL"]
|
||||
if (os == "win") and (processor == "x86") and not debug: ["PASS", "FAIL"]
|
||||
if os == "android": ["PASS", "FAIL"]
|
||||
[FAIL, PASS]
|
||||
if (os == "linux") and debug and not webrender and sw-e10s: ["FAIL", "PASS"]
|
||||
if (os == "win") and not debug and (processor == "x86_64") and not webrender: ["FAIL", "PASS"]
|
||||
if (os == "linux") and debug and webrender: ["FAIL", "PASS"]
|
||||
if (os == "win") and debug and webrender: ["FAIL", "PASS"]
|
||||
if (os == "win") and not debug and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
if os == "mac": ["FAIL", "PASS"]
|
||||
[PASS, FAIL]
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
[pointer locked pointermove events received for button state changes]
|
||||
expected:
|
||||
if ccov and (os == "win"): [PASS, FAIL]
|
||||
if (os == "linux") and debug and not webrender and not sw-e10s: ["PASS", "FAIL"]
|
||||
if (os == "linux") and debug and not webrender and sw-e10s: ["PASS", "FAIL"]
|
||||
if (os == "linux") and debug and webrender: ["PASS", "FAIL"]
|
||||
if (os == "linux") and not debug: ["PASS", "FAIL"]
|
||||
if (os == "linux") and not debug and not webrender and (processor == "x86"): ["PASS", "FAIL"]
|
||||
if (os == "linux") and not debug and not webrender and (processor == "x86_64"): ["PASS", "FAIL"]
|
||||
if (os == "linux") and not debug and webrender: ["PASS", "FAIL"]
|
||||
if (os == "linux") and debug: ["PASS", "FAIL"]
|
||||
|
||||
|
1
testing/web-platform/meta/push-api/__dir__.ini
Normal file
1
testing/web-platform/meta/push-api/__dir__.ini
Normal file
@ -0,0 +1 @@
|
||||
lsan-allowed: [Alloc, Create, Malloc, Realloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
@ -1,14 +1,14 @@
|
||||
[observe.html]
|
||||
expected:
|
||||
if webrender and (os == "linux") and not debug: ["OK", "TIMEOUT"]
|
||||
if webrender and (os == "linux") and debug: ["TIMEOUT", "OK"]
|
||||
if webrender and (os == "linux") and debug: ["OK", "TIMEOUT"]
|
||||
[guard]
|
||||
expected:
|
||||
if webrender and (os == "linux") and debug: ["NOTRUN", "PASS"]
|
||||
if webrender and (os == "linux") and debug: ["PASS", "NOTRUN"]
|
||||
if webrender and (os == "linux") and not debug: ["PASS", "NOTRUN"]
|
||||
|
||||
[test6: iframe notifications]
|
||||
expected:
|
||||
if webrender and (os == "linux") and debug: ["FAIL", "PASS"]
|
||||
if webrender and (os == "linux") and debug: ["PASS", "FAIL"]
|
||||
if webrender and (os == "linux") and not debug: ["PASS", "FAIL"]
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
prefs: [dom.serviceWorkers.enabled:true, dom.serviceWorkers.exemptFromPerDomainMax:true, dom.caches.enabled:true]
|
||||
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
||||
leak-threshold: [tab:51200]
|
||||
|
@ -3,11 +3,11 @@
|
||||
if (os == "win") and (version == "6.1.7601"): https://bugzilla.mozilla.org/show_bug.cgi?id=1425175
|
||||
if os == "linux": https://bugzilla.mozilla.org/show_bug.cgi?id=1425175
|
||||
expected:
|
||||
if os == "android": ["OK", "FAIL"]
|
||||
if os == "mac": ["OK", "FAIL"]
|
||||
if os == "android": ["OK", "FAIL"]
|
||||
[Test skipWaiting while a client is using the registration]
|
||||
expected:
|
||||
if (os == "mac") and debug: ["FAIL", "PASS"]
|
||||
if (os == "mac") and debug: ["PASS", "FAIL"]
|
||||
if (os == "mac") and not debug: ["PASS", "FAIL"]
|
||||
if os == "android": ["PASS", "FAIL"]
|
||||
|
||||
|
@ -0,0 +1,15 @@
|
||||
[unregister-then-register-new-script.https.html]
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86_64") and not webrender and not debug: ["OK", "TIMEOUT"]
|
||||
[Registering a new script URL that fails to install does not resurrect unregistered registration]
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86_64") and not webrender and not debug: ["PASS", "NOTRUN"]
|
||||
|
||||
[Registering a new script URL while an unregistered registration is in use]
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86_64") and not webrender and not debug: ["PASS", "TIMEOUT"]
|
||||
|
||||
[Registering a new script URL that 404s does not resurrect unregistered registration]
|
||||
expected:
|
||||
if (os == "win") and (processor == "x86_64") and not webrender and not debug: ["PASS", "NOTRUN"]
|
||||
|
@ -0,0 +1,25 @@
|
||||
[focus-selector-delegatesFocus.html]
|
||||
[:focus applies to host with delegatesFocus=false when an element in a nested shadow tree with delegatesFocus=false is focused]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=true when slotted element has focus]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=true when an element in a nested shadow tree with delegatesFocus=true is focused]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=true when an element in a nested shadow tree with delegatesFocus=false is focused]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=false when slotted element has focus]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=false when an element in a nested shadow tree with delegatesFocus=true is focused]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=true when the shadow root's descendant has focus]
|
||||
expected: FAIL
|
||||
|
||||
[:focus applies to host with delegatesFocus=false when the shadow root's descendant has focus]
|
||||
expected: FAIL
|
||||
|
@ -1,12 +1,12 @@
|
||||
[sxg-reporting-prefetch-cert_parse_error-downgraded.tentative.html]
|
||||
expected:
|
||||
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["OK", "TIMEOUT"]
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["TIMEOUT", "OK"]
|
||||
if not debug and (os == "win") and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86_64"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "aarch64"): ["OK", "CRASH"]
|
||||
if not debug and (os == "linux") and webrender: TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "aarch64"): ["OK", "CRASH"]
|
||||
if not debug and (os == "win") and (processor == "x86_64"): TIMEOUT
|
||||
if not debug and (os == "mac"): TIMEOUT
|
||||
[SXG reporting test of sxg.failed downgraded from sxg.cert_parse_error for prefetch.]
|
||||
expected:
|
||||
@ -14,8 +14,8 @@
|
||||
if debug and not webrender and not e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): FAIL
|
||||
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): FAIL
|
||||
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["FAIL", "TIMEOUT"]
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["TIMEOUT", "FAIL"]
|
||||
if not debug and (os == "linux") and webrender: TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86_64"): TIMEOUT
|
||||
|
@ -2,11 +2,11 @@
|
||||
expected:
|
||||
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["TIMEOUT", "OK"]
|
||||
if not debug and (os == "win") and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "aarch64"): ["OK", "CRASH"]
|
||||
if not debug and (os == "win") and (processor == "x86_64"): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["OK", "TIMEOUT"]
|
||||
if not debug and (os == "linux") and webrender: TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86_64"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "aarch64"): ["OK", "CRASH"]
|
||||
if not debug and (os == "mac"): TIMEOUT
|
||||
[SXG reporting test of sxg.invalid_integrity_header for prefetch.]
|
||||
expected:
|
||||
@ -15,7 +15,7 @@
|
||||
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): FAIL
|
||||
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["TIMEOUT", "FAIL"]
|
||||
if not debug and (os == "linux") and not webrender and (processor == "x86_64"): ["FAIL", "TIMEOUT"]
|
||||
if not debug and (os == "linux") and webrender: TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86"): TIMEOUT
|
||||
if not debug and (os == "win") and (processor == "x86_64"): TIMEOUT
|
||||
|
@ -8,3 +8,6 @@
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
||||
[[top-level-context\] document.hasStorageAccess() should work on a document object.]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
[correct-events-for-short-animations-with-syncbases.html]
|
||||
[Correct events for short animations with syncbases]
|
||||
expected:
|
||||
if (os == "linux") and (processor == "x86"): PASS
|
||||
if (os == "android") and not debug: ["FAIL", "PASS"]
|
||||
if (os == "win") and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
if (os == "win") and debug and not webrender and (processor == "x86_64"): ["FAIL", "PASS"]
|
||||
if (os == "linux") and not sw-e10s and (processor == "x86"): PASS
|
||||
if (os == "linux") and sw-e10s: ["FAIL", "PASS"]
|
||||
[PASS, FAIL]
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
[Check if onhover events reset correctly when triggered multiple times]
|
||||
expected:
|
||||
if webrender and (os == "linux") and debug: ["FAIL", "PASS"]
|
||||
if webrender and (os == "linux") and debug: ["PASS", "FAIL"]
|
||||
if webrender and (os == "linux") and not debug: FAIL
|
||||
if webrender and (os == "win") and not debug: ["PASS", "FAIL"]
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
[slider-switch.html]
|
||||
[Check correct event bases for onclick]
|
||||
expected:
|
||||
if (os == "linux") and webrender and debug: ["FAIL", "PASS"]
|
||||
if (os == "android") and debug: ["FAIL", "PASS"]
|
||||
if (os == "android") and not debug: ["FAIL", "PASS"]
|
||||
if (os == "mac") and debug: ["FAIL", "PASS"]
|
||||
if (os == "win") and (processor == "aarch64"): ["FAIL", "PASS"]
|
||||
[PASS, FAIL]
|
||||
|
||||
|
@ -1 +1,2 @@
|
||||
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
|
||||
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
|
||||
|
@ -0,0 +1,2 @@
|
||||
[003.any.sharedworker.html]
|
||||
expected: TIMEOUT
|
@ -1,25 +0,0 @@
|
||||
[003.html]
|
||||
[available interface objects in shared worker]
|
||||
expected: FAIL
|
||||
|
||||
[The ApplicationCache interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
||||
[The SharedWorker interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
||||
[The CanvasPath interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
||||
[The Path2D interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
||||
[The WritableStream interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
||||
[The CanvasGradient interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
||||
[The CanvasPattern interface object should be exposed]
|
||||
expected: FAIL
|
||||
|
@ -89,3 +89,12 @@
|
||||
[Importing a remote-origin script from a remote-origin worklet script that has "same-origin" referrer policy.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "same-origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "no-referrer" referrer policy should not send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -98,3 +98,12 @@
|
||||
expected:
|
||||
if release_or_beta: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "same-origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "no-referrer" referrer policy should not send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -89,3 +89,12 @@
|
||||
[Importing a remote-origin script from a remote-origin worklet script that has "same-origin" referrer policy.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "same-origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "no-referrer" referrer policy should not send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -89,3 +89,12 @@
|
||||
[Importing a remote-origin script from a remote-origin worklet script that has "same-origin" referrer policy.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "same-origin" referrer policy should send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
[Importing a same-origin script from a remote-origin worklet script that has "no-referrer" referrer policy should not send referrer.]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -7,7 +7,7 @@ jobs:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
ref: refs/heads/master
|
||||
fetch-depth: 1
|
||||
fetch-depth: 50
|
||||
- name: update-pr-preview
|
||||
uses: ./tools/docker/github
|
||||
env:
|
||||
|
@ -9,7 +9,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
fetch-depth: 1
|
||||
fetch-depth: 50
|
||||
- name: website-build-and-publish
|
||||
uses: ./tools/docker/documentation
|
||||
env:
|
||||
|
@ -9,7 +9,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
fetch-depth: 1
|
||||
fetch-depth: 50
|
||||
- name: manifest-build-and-tag
|
||||
uses: ./tools/docker/github
|
||||
env:
|
||||
|
@ -21,6 +21,9 @@ function fire_error_event_test(func, description) {
|
||||
const request = store.add(0, 0);
|
||||
request.onsuccess = t.unreached_func('request should fail');
|
||||
func(t, db, tx, request);
|
||||
tx.addEventListener('abort', t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
}));
|
||||
},
|
||||
description);
|
||||
}
|
||||
@ -31,9 +34,6 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
request.onerror = () => {
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event handler on request');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -41,20 +41,26 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
e.preventDefault();
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event handler on request, with preventDefault');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('error', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event listener on request');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('error', {
|
||||
get handleEvent() {
|
||||
throw new Error();
|
||||
},
|
||||
});
|
||||
}, 'Exception in error event listener ("handleEvent" lookup) on request');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('error', {});
|
||||
}, 'Exception in error event listener (non-callable "handleEvent") on request');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('error', () => {
|
||||
// no-op
|
||||
@ -62,9 +68,6 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('error', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in second error event listener on request');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -77,10 +80,9 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
assert_true(is_transaction_active(tx, 's'),
|
||||
'Transaction should be active until dispatch completes');
|
||||
}));
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
tx.addEventListener('abort', t.step_func(() => {
|
||||
assert_true(second_listener_called);
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}));
|
||||
}, 'Exception in first error event listener on request, ' +
|
||||
'transaction active in second');
|
||||
|
||||
@ -90,9 +92,6 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
tx.onerror = () => {
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event handler on transaction');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -100,18 +99,12 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
e.preventDefault();
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event handler on transaction, with preventDefault');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
tx.addEventListener('error', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event listener on transaction');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -121,9 +114,6 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
tx.addEventListener('error', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in second error event listener on transaction');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -136,10 +126,9 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
assert_true(is_transaction_active(tx, 's'),
|
||||
'Transaction should be active until dispatch completes');
|
||||
}));
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
tx.addEventListener('abort', t.step_func(() => {
|
||||
assert_true(second_listener_called);
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}));
|
||||
}, 'Exception in first error event listener on transaction, ' +
|
||||
'transaction active in second');
|
||||
|
||||
@ -149,9 +138,6 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
db.onerror = () => {
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event handler on connection');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -159,18 +145,12 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
e.preventDefault()
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event handler on connection, with preventDefault');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
db.addEventListener('error', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in error event listener on connection');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -180,9 +160,6 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
db.addEventListener('error', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in second error event listener on connection');
|
||||
|
||||
fire_error_event_test((t, db, tx, request) => {
|
||||
@ -195,10 +172,9 @@ fire_error_event_test((t, db, tx, request) => {
|
||||
assert_true(is_transaction_active(tx, 's'),
|
||||
'Transaction should be active until dispatch completes');
|
||||
}));
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
tx.addEventListener('abort', t.step_func(() => {
|
||||
assert_true(second_listener_called);
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}));
|
||||
}, 'Exception in first error event listener on connection, ' +
|
||||
'transaction active in second');
|
||||
|
||||
|
@ -19,6 +19,9 @@ function fire_success_event_test(func, description) {
|
||||
const store = tx.objectStore('s');
|
||||
const request = store.get(0);
|
||||
func(t, db, tx, request);
|
||||
tx.addEventListener('abort', t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
}));
|
||||
},
|
||||
description);
|
||||
}
|
||||
@ -27,20 +30,28 @@ fire_success_event_test((t, db, tx, request) => {
|
||||
request.onsuccess = () => {
|
||||
throw Error();
|
||||
};
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in success event handler on request');
|
||||
|
||||
fire_success_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('success', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in success event listener on request');
|
||||
|
||||
fire_success_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('success', {
|
||||
get handleEvent() {
|
||||
throw new Error();
|
||||
},
|
||||
});
|
||||
}, 'Exception in success event listener ("handleEvent" lookup) on request');
|
||||
|
||||
fire_success_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('success', {
|
||||
handleEvent: null,
|
||||
});
|
||||
}, 'Exception in success event listener (non-callable "handleEvent") on request');
|
||||
|
||||
fire_success_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('success', () => {
|
||||
// no-op
|
||||
@ -48,9 +59,6 @@ fire_success_event_test((t, db, tx, request) => {
|
||||
request.addEventListener('success', () => {
|
||||
throw Error();
|
||||
});
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in second success event listener on request');
|
||||
|
||||
fire_success_event_test((t, db, tx, request) => {
|
||||
@ -63,10 +71,9 @@ fire_success_event_test((t, db, tx, request) => {
|
||||
assert_true(is_transaction_active(tx, 's'),
|
||||
'Transaction should be active until dispatch completes');
|
||||
}));
|
||||
tx.onabort = t.step_func_done(() => {
|
||||
tx.addEventListener('abort', t.step_func(() => {
|
||||
assert_true(second_listener_called);
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}));
|
||||
}, 'Exception in first success event listener, tx active in second');
|
||||
|
||||
</script>
|
||||
|
@ -15,48 +15,55 @@ function fire_upgradeneeded_event_test(func, description) {
|
||||
del.onerror = t.unreached_func('deleteDatabase should succeed');
|
||||
const open = indexedDB.open(dbname, 1);
|
||||
open.onsuccess = t.unreached_func('open should fail');
|
||||
let tx;
|
||||
open.addEventListener('upgradeneeded', () => {
|
||||
tx = open.transaction;
|
||||
});
|
||||
func(t, open);
|
||||
open.addEventListener('error', t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
}));
|
||||
}, description);
|
||||
}
|
||||
|
||||
fire_upgradeneeded_event_test((t, open) => {
|
||||
let tx;
|
||||
open.onupgradeneeded = () => {
|
||||
tx = open.transaction;
|
||||
throw Error();
|
||||
};
|
||||
open.onerror = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in upgradeneeded handler');
|
||||
|
||||
fire_upgradeneeded_event_test((t, open) => {
|
||||
let tx;
|
||||
open.addEventListener('upgradeneeded', () => {
|
||||
tx = open.transaction;
|
||||
throw Error();
|
||||
});
|
||||
open.onerror = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in upgradeneeded listener');
|
||||
|
||||
fire_upgradeneeded_event_test((t, open) => {
|
||||
let tx;
|
||||
open.addEventListener('upgradeneeded', {
|
||||
get handleEvent() {
|
||||
throw new Error();
|
||||
},
|
||||
});
|
||||
}, 'Exception in upgradeneeded "handleEvent" lookup');
|
||||
|
||||
fire_upgradeneeded_event_test((t, open) => {
|
||||
open.addEventListener('upgradeneeded', {
|
||||
get handleEvent() {
|
||||
return 10;
|
||||
},
|
||||
});
|
||||
}, 'Exception in upgradeneeded due to non-callable "handleEvent"');
|
||||
|
||||
fire_upgradeneeded_event_test((t, open) => {
|
||||
open.addEventListener('upgradeneeded', () => {
|
||||
// No-op.
|
||||
});
|
||||
open.addEventListener('upgradeneeded', () => {
|
||||
tx = open.transaction;
|
||||
throw Error();
|
||||
});
|
||||
open.onerror = t.step_func_done(() => {
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}, 'Exception in second upgradeneeded listener');
|
||||
|
||||
fire_upgradeneeded_event_test((t, open) => {
|
||||
let tx;
|
||||
let second_listener_called = false;
|
||||
open.addEventListener('upgradeneeded', () => {
|
||||
open.result.createObjectStore('s');
|
||||
@ -64,14 +71,12 @@ fire_upgradeneeded_event_test((t, open) => {
|
||||
});
|
||||
open.addEventListener('upgradeneeded', t.step_func(() => {
|
||||
second_listener_called = true;
|
||||
tx = open.transaction;
|
||||
assert_true(is_transaction_active(tx, 's'),
|
||||
assert_true(is_transaction_active(open.transaction, 's'),
|
||||
'Transaction should be active until dispatch completes');
|
||||
}));
|
||||
open.onerror = t.step_func_done(() => {
|
||||
open.addEventListener('error', t.step_func(() => {
|
||||
assert_true(second_listener_called);
|
||||
assert_equals(tx.error.name, 'AbortError');
|
||||
});
|
||||
}));
|
||||
}, 'Exception in first upgradeneeded listener, tx active in second');
|
||||
|
||||
</script>
|
||||
|
@ -12,8 +12,9 @@
|
||||
let cases = [
|
||||
undefined,
|
||||
{},
|
||||
{relaxedDurability: false},
|
||||
{relaxedDurability: true},
|
||||
{durability: "default"},
|
||||
{durability: "relaxed"},
|
||||
{durability: "strict"},
|
||||
];
|
||||
|
||||
for (let i = 0; i < cases.length; ++i) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
spec: https://wicg.github.io/animation-worklet/
|
||||
spec: https://drafts.css-houdini.org/css-animationworklet/
|
||||
suggested_reviewers:
|
||||
- flackr
|
||||
- majido
|
||||
|
@ -6,7 +6,7 @@
|
||||
// https://wicg.github.io/animation-worklet/
|
||||
|
||||
idl_test(
|
||||
['animation-worklet'],
|
||||
['css-animation-worklet'],
|
||||
['worklets', 'web-animations', 'html', 'cssom', 'dom'],
|
||||
idl_array => {
|
||||
idl_array.add_objects({
|
||||
|
@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#float-width" title="10.3.5 Floating, non-replaced elements">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html">
|
||||
<p>Test passes if there is a filled green square.</p>
|
||||
<div style="width: 100px;">
|
||||
<div style="float: left; width: 50px; height: 100px; margin-left: 50px; margin-right: 50px;background: green;"></div>
|
||||
<div style="float: left; width: 50px; height: 100px; margin-left: -150px; background: green;"></div>
|
||||
</div>
|
||||
|
@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#bfc-next-to-float" title="9.5 Floats">
|
||||
<meta name="assert" content="The new formatting context's margin-right does not push it down to the next area.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="width: 100px; height: 100px; background: red; direction: rtl;">
|
||||
<div style="float: left; width: 50px; height: 100px; background: green;"></div>
|
||||
<div style="overflow: hidden; height: 100px; margin-left: -20px; background: green;"></div>
|
||||
</div>
|
@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#bfc-next-to-float" title="9.5 Floats">
|
||||
<meta name="assert" content="The new formatting context's margin-right does not push it down to the next area.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="width: 100px; height: 100px; background: red;">
|
||||
<div style="float:left; width:50px; height:100px; background:green;"></div>
|
||||
<div style="overflow: hidden; margin-right: 1px; width:50px; height:100px; background:green;"></div>
|
||||
</div>
|
@ -4,7 +4,7 @@
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#float-width" title="10.3.5 Floating, non-replaced elements">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html">
|
||||
<p>Test passes if there is a filled green square.</p>
|
||||
<div style="margin-left: 50px; width: 125px;">
|
||||
<div style="width: 125px;">
|
||||
<div style="float: left; width: 0px; height: 50px;"></div>
|
||||
<div style="float: right; clear: left; width: 25px; height: 50px;"></div>
|
||||
<div style="overflow: hidden; margin-left: -50px; height: 100px; background: green;"></div>
|
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: border-color sets longhands</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-color">
|
||||
<meta name="assert" content="border-color supports the full grammar '<color>{1,4}'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/shorthand-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_shorthand_value('border-color', 'currentcolor', {
|
||||
'border-top-color': 'currentcolor',
|
||||
'border-right-color': 'currentcolor',
|
||||
'border-bottom-color': 'currentcolor',
|
||||
'border-left-color': 'currentcolor'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-color', 'red yellow', {
|
||||
'border-top-color': 'red',
|
||||
'border-right-color': 'yellow',
|
||||
'border-bottom-color': 'red',
|
||||
'border-left-color': 'yellow'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-color', 'red yellow green', {
|
||||
'border-top-color': 'red',
|
||||
'border-right-color': 'yellow',
|
||||
'border-bottom-color': 'green',
|
||||
'border-left-color': 'yellow'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-color', 'red yellow green blue', {
|
||||
'border-top-color': 'red',
|
||||
'border-right-color': 'yellow',
|
||||
'border-bottom-color': 'green',
|
||||
'border-left-color': 'blue'
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: border-image sets longhands</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image">
|
||||
<meta name="assert" content="border-image supports the full grammar ' <‘border-image-source’> || <‘border-image-slice’> [ / <‘border-image-width’> | / <‘border-image-width’>? / <‘border-image-outset’> ]? || <‘border-image-repeat’>'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/shorthand-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_shorthand_value('border-image', 'none', {
|
||||
'border-image-source': 'none',
|
||||
'border-image-slice': '100%',
|
||||
'border-image-width': '1',
|
||||
'border-image-outset': '0',
|
||||
'border-image-repeat': 'stretch'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-image', 'url("http://{{host}}/") 1 2 3 4 fill', {
|
||||
'border-image-source': 'url("http://{{host}}/")',
|
||||
'border-image-slice': '1 2 3 4 fill',
|
||||
'border-image-width': '1',
|
||||
'border-image-outset': '0',
|
||||
'border-image-repeat': 'stretch'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-image', 'repeat round', {
|
||||
'border-image-source': 'none',
|
||||
'border-image-slice': '100%',
|
||||
'border-image-width': '1',
|
||||
'border-image-outset': '0',
|
||||
'border-image-repeat': 'repeat round'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-image', 'url("http://{{host}}/") fill 1 2% 3 4%', {
|
||||
'border-image-source': 'url("http://{{host}}/")',
|
||||
'border-image-slice': '1 2% 3 4% fill',
|
||||
'border-image-width': '1',
|
||||
'border-image-outset': '0',
|
||||
'border-image-repeat': 'stretch'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-image', '1 2% 3 4% / 5% / 6', {
|
||||
'border-image-source': 'none',
|
||||
'border-image-slice': '1 2% 3 4%',
|
||||
'border-image-width': '5%',
|
||||
'border-image-outset': '6',
|
||||
'border-image-repeat': 'stretch'
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -3,9 +3,8 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: parsing border with invalid values</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-shorthands">
|
||||
<meta name="assert" content="border-width supports only the grammar '<line-width> || <line-style> || <color>'.">
|
||||
<meta name="assert" content="border supports only the grammar '<line-width> || <line-style> || <color>'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
|
@ -0,0 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: border sets longhands</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-shorthands">
|
||||
<meta name="assert" content="border supports the full grammar '<line-width> || <line-style> || <color>'.">
|
||||
<meta name="assert" content="The border shorthand also resets border-image to its initial value.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/shorthand-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_shorthand_value('border', '5px dotted blue', {
|
||||
'border-top-width': '5px',
|
||||
'border-right-width': '5px',
|
||||
'border-bottom-width': '5px',
|
||||
'border-left-width': '5px',
|
||||
'border-top-style': 'dotted',
|
||||
'border-right-style': 'dotted',
|
||||
'border-bottom-style': 'dotted',
|
||||
'border-left-style': 'dotted',
|
||||
'border-top-color': 'blue',
|
||||
'border-right-color': 'blue',
|
||||
'border-bottom-color': 'blue',
|
||||
'border-left-color': 'blue',
|
||||
|
||||
'border-image-source': 'none',
|
||||
'border-image-slice': '100%',
|
||||
'border-image-width': '1',
|
||||
'border-image-outset': '0',
|
||||
'border-image-repeat': 'stretch'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-top', 'thin', {
|
||||
'border-top-width': 'thin',
|
||||
'border-top-style': 'none',
|
||||
'border-top-color': 'currentcolor'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-right', 'double', {
|
||||
'border-right-width': 'medium',
|
||||
'border-right-style': 'double',
|
||||
'border-right-color': 'currentcolor'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-bottom', 'green', {
|
||||
'border-bottom-width': 'medium',
|
||||
'border-bottom-style': 'none',
|
||||
'border-bottom-color': 'green'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-left', '1px dotted red', {
|
||||
'border-left-width': '1px',
|
||||
'border-left-style': 'dotted',
|
||||
'border-left-color': 'red'
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: border-style sets longhands</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-style">
|
||||
<meta name="assert" content="border-style supports the full grammar '<line-style>{1,4}'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/shorthand-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_shorthand_value('border-style', 'none', {
|
||||
'border-top-style': 'none',
|
||||
'border-right-style': 'none',
|
||||
'border-bottom-style': 'none',
|
||||
'border-left-style': 'none'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-style', 'inset outset', {
|
||||
'border-top-style': 'inset',
|
||||
'border-right-style': 'outset',
|
||||
'border-bottom-style': 'inset',
|
||||
'border-left-style': 'outset'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-style', 'hidden dotted dashed', {
|
||||
'border-top-style': 'hidden',
|
||||
'border-right-style': 'dotted',
|
||||
'border-bottom-style': 'dashed',
|
||||
'border-left-style': 'dotted'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-style', 'solid double groove ridge', {
|
||||
'border-top-style': 'solid',
|
||||
'border-right-style': 'double',
|
||||
'border-bottom-style': 'groove',
|
||||
'border-left-style': 'ridge'
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -3,9 +3,8 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: parsing border with valid values</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-shorthands">
|
||||
<meta name="assert" content="border-width supports the full grammar '<line-width> || <line-style> || <color>'.">
|
||||
<meta name="assert" content="border supports the full grammar '<line-width> || <line-style> || <color>'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
|
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Backgrounds and Borders Module Level 3: border-width sets longhands</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-width">
|
||||
<meta name="assert" content="border-width supports the full grammar '<line-width>{1,4}'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/shorthand-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_shorthand_value('border-width', '5px', {
|
||||
'border-top-width': '5px',
|
||||
'border-right-width': '5px',
|
||||
'border-bottom-width': '5px',
|
||||
'border-left-width': '5px'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-width', 'thick thin', {
|
||||
'border-top-width': 'thick',
|
||||
'border-right-width': 'thin',
|
||||
'border-bottom-width': 'thick',
|
||||
'border-left-width': 'thin'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-width', 'thin medium thick', {
|
||||
'border-top-width': 'thin',
|
||||
'border-right-width': 'medium',
|
||||
'border-bottom-width': 'thick',
|
||||
'border-left-width': 'medium'
|
||||
});
|
||||
|
||||
test_shorthand_value('border-width', '1px 2px 3px 4px', {
|
||||
'border-top-width': '1px',
|
||||
'border-right-width': '2px',
|
||||
'border-bottom-width': '3px',
|
||||
'border-left-width': '4px'
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,3 @@
|
||||
<link rel="stylesheet" href="/fonts/ahem.css">
|
||||
<meta name="flags" content="ahem">
|
||||
<div style="opacity: 0.5; letter-spacing: -0.6em; font: 100px/1 Ahem; white-space: pre">X X X</div>
|
@ -0,0 +1,6 @@
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-color/#transparency">
|
||||
<link rel="match" href="opacity-overlapping-letters-ref.html">
|
||||
<link rel="stylesheet" href="/fonts/ahem.css">
|
||||
<meta name="flags" content="ahem">
|
||||
<meta name="assert" content="Opacity should be apply on the whole text content atomically.">
|
||||
<div style="opacity: 0.5; letter-spacing: -0.6em; font: 100px/1 Ahem">XXXXX</div>
|
24
testing/web-platform/tests/css/css-content/inheritance.html
Normal file
24
testing/web-platform/tests/css/css-content/inheritance.html
Normal file
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Inheritance of CSS Contents properties</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-content/#propdef-quotes">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-content/#property-index">
|
||||
<meta name="assert" content="Properties inherit or not according to the spec.">
|
||||
<meta name="assert" content="Properties have initial values according to the spec.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/inheritance-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
<div id="target"></div>
|
||||
</div>
|
||||
<script>
|
||||
assert_inherited('quotes', 'auto', 'none');
|
||||
assert_not_inherited('bookmark-level', 'none', '1');
|
||||
assert_not_inherited('bookmark-state', 'open', 'closed');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,53 @@
|
||||
<!DOCTYPE html>
|
||||
<title>CSS Flexbox: min-height: auto with flex items containing percentage-sized children</title>
|
||||
<link rel="author" title="Google LLC" href="https://www.google.com/" />
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
|
||||
<link rel="issue" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1003556" />
|
||||
|
||||
<style>
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
.column {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.bigger-than-parent {
|
||||
height: 100%;
|
||||
min-height: 100px;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
#reference-overlapped-green {
|
||||
position: absolute;
|
||||
background-color: green;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
|
||||
<div id="reference-overlapped-green"></div>
|
||||
|
||||
<div id="outer" style="width: 100px; height: 300px;" class="flex">
|
||||
<div style="height: 100px; width: 100px; background: blue;" class="flex column">
|
||||
<div style="flex: 0 1 100%"></div>
|
||||
|
||||
<div style="flex: 1 0 30px;">
|
||||
<div class="bigger-than-parent">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
onload = function() {
|
||||
var outer = document.getElementById("outer");
|
||||
outer.offsetWidth;
|
||||
outer.style.height = "200px";
|
||||
};
|
||||
</script>
|
@ -0,0 +1,39 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>CSS Grid Layout Test: dynamic minimum contribution</title>
|
||||
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#min-size-contribution">
|
||||
<meta name="assert" content="This test checks that grid items are sized correctly when their minimum contribution is dynamically changed with JavaScript." />
|
||||
<style>
|
||||
#grid {
|
||||
display: grid;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
}
|
||||
</style>
|
||||
<div id="log"></div>
|
||||
<div id="grid">
|
||||
<div id="item"></div>
|
||||
</div>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
const tests = [
|
||||
["auto", "100px"],
|
||||
["0%", "100px"],
|
||||
["100%", "100px"],
|
||||
["200%", "200px"],
|
||||
["300%", "300px"],
|
||||
["400px", "400px"],
|
||||
["500px", "500px"],
|
||||
];
|
||||
const item = document.getElementById("item");
|
||||
for (let [minSize, expectedSize] of tests) {
|
||||
test(() => {
|
||||
item.style.minHeight = item.style.minWidth = minSize;
|
||||
let cs = getComputedStyle(item);
|
||||
assert_equals(cs.height, expectedSize, "height");
|
||||
assert_equals(cs.width, expectedSize, "width");
|
||||
}, `Minimum size: ${minSize}`);
|
||||
}
|
||||
</script>
|
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
font: 25px/1 Ahem;
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
margin: 50px;
|
||||
color: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
}
|
||||
#item {
|
||||
margin: 50%;
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child">X</div></div>
|
||||
<div class="container grid"><div class="child" id="item">X</div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.width = "0px";
|
||||
item.offsetLeft;
|
||||
item.style.width = "auto";
|
||||
</script>
|
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin: 50px;
|
||||
background: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
}
|
||||
#item {
|
||||
margin: 50%;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child"></div></div>
|
||||
<div class="container grid"><div class="child" id="item"></div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.width = "0px";
|
||||
item.offsetLeft;
|
||||
item.style.width = "25px";
|
||||
</script>
|
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin: 50px;
|
||||
background: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
}
|
||||
#item {
|
||||
margin: 50%;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child"></div></div>
|
||||
<div class="container grid"><div class="child" id="item"></div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.margin = "100%";
|
||||
item.offsetLeft;
|
||||
item.style.margin = "50%";
|
||||
</script>
|
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
min-width: 25px;
|
||||
min-height: 25px;
|
||||
margin: 50px;
|
||||
background: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
}
|
||||
#item {
|
||||
margin: 50%;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child"></div></div>
|
||||
<div class="container grid"><div class="child" id="item"></div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.margin = "100%";
|
||||
item.offsetLeft;
|
||||
item.style.margin = "50%";
|
||||
</script>
|
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
font: 25px/1 Ahem;
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
margin: 0px 50px;
|
||||
color: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
grid-template-rows: 100px;
|
||||
}
|
||||
#item {
|
||||
margin: 0px 50%;
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child">X</div></div>
|
||||
<div class="container grid"><div class="child" id="item">X</div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.width = "0px";
|
||||
item.offsetLeft;
|
||||
item.style.width = "auto";
|
||||
</script>
|
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin: 0px 50px;
|
||||
background: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
grid-template-rows: 100px;
|
||||
}
|
||||
#item {
|
||||
margin: 0px 50%;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child"></div></div>
|
||||
<div class="container grid"><div class="child" id="item"></div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.width = "0px";
|
||||
item.offsetLeft;
|
||||
item.style.width = "25px";
|
||||
</script>
|
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid items with percentage margins</title>
|
||||
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#item-margins">
|
||||
<meta name="assert" content="Checks grid items percentage margins are resolved correctly in a 'auto' sized grid area after changing the item's width and forcing a new layout.">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<style>
|
||||
.container {
|
||||
width: 100px;
|
||||
}
|
||||
.child {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin: 0px 50px;
|
||||
background: red;
|
||||
}
|
||||
.ref {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background: green;
|
||||
height: 100px;
|
||||
}
|
||||
.grid {
|
||||
background: none;
|
||||
grid-template-rows: 100px;
|
||||
}
|
||||
#item {
|
||||
margin: 0px 50%;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div class="container ref"><div class="child"></div></div>
|
||||
<div class="container grid"><div class="child" id="item"></div></div>
|
||||
<script>
|
||||
item.offsetLeft;
|
||||
item.style.margin = "0px 100%";
|
||||
item.offsetLeft;
|
||||
item.style.margin = "0px 50%";
|
||||
</script>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user