Merge mozilla-central to autoland. a=merge CLOSED TREE

This commit is contained in:
Bogdan Tara 2019-09-27 12:50:10 +03:00
commit 64df1ac8fb
274 changed files with 4113 additions and 1712 deletions

View 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]

View 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]

View 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]

View File

@ -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

View File

@ -1,2 +0,0 @@
[zero-width-floats-positioning.html]
expected: FAIL

View File

@ -0,0 +1,2 @@
[opacity-overlapping-letters.html]
expected: FAIL

View File

@ -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

View File

@ -0,0 +1,7 @@
[AnimationEffect-getComputedTiming.tentative.html]
[easing of a new transition]
expected: FAIL
[non-default easing of a new transition]
expected: FAIL

View File

@ -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

View File

@ -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"]

View File

@ -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

View File

@ -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"]

View File

@ -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

View File

@ -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"]

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,2 @@
[min-max-percentage-length-interpolation.html]
expected: FAIL

View File

@ -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

View File

@ -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

View File

@ -16,3 +16,6 @@
[StaticRange interface object length]
expected: FAIL
[ShadowRoot interface: attribute onslotchange]
expected: FAIL

View File

@ -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]

View 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]

View File

@ -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]

View File

@ -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

View 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]

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -16,8 +16,8 @@
[border-bottom-color]
expected:
if os == "android": PASS
if os == "linux": PASS
if os == "android": PASS
FAIL
[border-right-color]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"]

View File

@ -1,2 +1,2 @@
local: a9b0375fc5d6e30137c82d92d1900f7616bc1b19
upstream: 42b82765b84378e746063997f51f9fd75a1d902c
local: fe136f92ad53a4a93aed95863a4e0fe753c6f9c8
upstream: eaa551911f12c5c526f56cafd0c7ab24667ead3c

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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"]

View 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]

View File

@ -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"]

View File

@ -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]

View File

@ -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"]

View File

@ -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"]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -8,3 +8,6 @@
expected:
if os == "android": FAIL
[[top-level-context\] document.hasStorageAccess() should work on a document object.]
expected: FAIL

View File

@ -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]

View File

@ -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"]

View File

@ -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]

View File

@ -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]

View File

@ -0,0 +1,2 @@
[003.any.sharedworker.html]
expected: TIMEOUT

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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');

View File

@ -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>

View File

@ -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>

View File

@ -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) {

View File

@ -1,4 +1,4 @@
spec: https://wicg.github.io/animation-worklet/
spec: https://drafts.css-houdini.org/css-animationworklet/
suggested_reviewers:
- flackr
- majido

View File

@ -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({

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View 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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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