diff --git a/.taskcluster.yml b/.taskcluster.yml index 3c99913eb486f0..755fc2eca36d68 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -5,81 +5,89 @@ tasks: $flattenDeep: - $if: tasks_for == "github-push" then: - $if: event.ref == "refs/heads/master" - then: - $map: [{name: firefox, channel: nightly}, {name: chrome, channel: dev}] - each(browser): - $map: - - [testharness, 1, 15] - - [testharness, 2, 15] - - [testharness, 3, 15] - - [testharness, 4, 15] - - [testharness, 5, 15] - - [testharness, 6, 15] - - [testharness, 7, 15] - - [testharness, 8, 15] - - [testharness, 9, 15] - - [testharness, 10, 15] - - [testharness, 11, 15] - - [testharness, 12, 15] - - [testharness, 13, 15] - - [testharness, 14, 15] - - [testharness, 15, 15] - - [reftest, 1, 10] - - [reftest, 2, 10] - - [reftest, 3, 10] - - [reftest, 4, 10] - - [reftest, 5, 10] - - [reftest, 6, 10] - - [reftest, 7, 10] - - [reftest, 8, 10] - - [reftest, 9, 10] - - [reftest, 10, 10] - - [wdspec, 1, 1] - each(chunk): - taskId: {$eval: 'as_slugid(browser.name + browser.channel + chunk[0] + str(chunk[1]))'} - taskGroupId: {$eval: 'as_slugid("task group")'} - created: {$fromNow: ''} - deadline: {$fromNow: '24 hours'} - provisionerId: aws-provisioner-v1 - # Contributors interested in configurating TaskCluster to run - # against their fork of WPT should change the `workerType` to - # "github-worker". - workerType: wpt-docker-worker - metadata: - name: wpt-${browser.name}-${browser.channel}-${chunk[0]}-${chunk[1]} - description: >- - A subset of WPT's "${chunk[0]}" tests (chunk number ${chunk[1]} - of ${chunk[2]}), run in the ${browser.channel} release of - ${browser.name}. - owner: ${event.pusher.email} - source: ${event.repository.url} - payload: - image: jugglinmike/web-platform-tests:0.20 - maxRunTime: 7200 - artifacts: - public/results: - path: /home/test/artifacts - type: directory - command: - - /bin/bash - - --login - - -c - - set -ex; - ~/start.sh - ${event.repository.url} - ${event.ref} - ${event.after} - ${browser.name}-${browser.channel}; - cd ~/web-platform-tests; - ./tools/ci/taskcluster-run.py - ${browser.name} - -- - --log-wptreport=../artifacts/wpt_report.json - --no-fail-on-unexpected - --test-type=${chunk[0]} - --this-chunk=${chunk[1]} - --total-chunks=${chunk[2]}; + $map: + $flatten: + $match: { + event.ref == "refs/heads/master": [{name: firefox, channel: nightly}, {name: chrome, channel: dev}], + event.ref == "refs/heads/epochs/daily": [{name: firefox, channel: beta}, {name: chrome, channel: beta}], + event.ref == "refs/heads/epochs/weekly": [{name: firefox, channel: stable}, {name: chrome, channel: stable}] + } + each(browser): + $map: + - [testharness, 1, 15] + - [testharness, 2, 15] + - [testharness, 3, 15] + - [testharness, 4, 15] + - [testharness, 5, 15] + - [testharness, 6, 15] + - [testharness, 7, 15] + - [testharness, 8, 15] + - [testharness, 9, 15] + - [testharness, 10, 15] + - [testharness, 11, 15] + - [testharness, 12, 15] + - [testharness, 13, 15] + - [testharness, 14, 15] + - [testharness, 15, 15] + - [reftest, 1, 10] + - [reftest, 2, 10] + - [reftest, 3, 10] + - [reftest, 4, 10] + - [reftest, 5, 10] + - [reftest, 6, 10] + - [reftest, 7, 10] + - [reftest, 8, 10] + - [reftest, 9, 10] + - [reftest, 10, 10] + - [wdspec, 1, 1] + each(chunk): + taskId: {$eval: 'as_slugid(browser.name + browser.channel + chunk[0] + str(chunk[1]))'} + taskGroupId: {$eval: 'as_slugid("task group")'} + created: {$fromNow: ''} + deadline: {$fromNow: '24 hours'} + provisionerId: aws-provisioner-v1 + workerType: + $if: event.repository.full_name == 'web-platform-tests/wpt' + then: + wpt-docker-worker + else: + github-worker + metadata: + name: wpt-${browser.name}-${browser.channel}-${chunk[0]}-${chunk[1]} + description: >- + A subset of WPT's "${chunk[0]}" tests (chunk number ${chunk[1]} + of ${chunk[2]}), run in the ${browser.channel} release of + ${browser.name}. + owner: ${event.pusher.email} + source: ${event.repository.url} + payload: + image: jugglinmike/web-platform-tests:0.21 + maxRunTime: 7200 + artifacts: + public/results: + path: /home/test/artifacts + type: directory + command: + - /bin/bash + - --login + - -c + - set -ex; + ~/start.sh + ${event.repository.url} + ${event.ref} + ${event.after} + ${browser.name} + ${browser.channel}; + cd ~/web-platform-tests; + ./tools/ci/taskcluster-run.py + ${browser.name} + -- + --channel=${browser.channel} + --log-wptreport=../artifacts/wpt_report.json + --no-fail-on-unexpected + --test-type=${chunk[0]} + --this-chunk=${chunk[1]} + --total-chunks=${chunk[2]}; - $if: tasks_for == "github-pull-request" then: $map: [{name: firefox, channel: nightly}, {name: chrome, channel: dev}] @@ -101,17 +109,19 @@ tasks: created: {$fromNow: ''} deadline: {$fromNow: '24 hours'} provisionerId: aws-provisioner-v1 - # Contributors interested in configurating TaskCluster to run - # against their fork of WPT should change the `workerType` to - # "github-worker". - workerType: wpt-docker-worker + workerType: + $if: event.repository.full_name == 'web-platform-tests/wpt' + then: + wpt-docker-worker + else: + github-worker metadata: name: ${operation.name} description: ${operation.description} owner: ${event.pull_request.user.login}@users.noreply.github.com source: ${event.repository.url} payload: - image: jugglinmike/web-platform-tests:0.20 + image: jugglinmike/web-platform-tests:0.21 maxRunTime: 7200 artifacts: public/results: @@ -132,13 +142,15 @@ tasks: ${event.repository.clone_url} refs/pull/${event.number}/merge FETCH_HEAD - ${browser.name}-${browser.channel}; + ${browser.name} + ${browser.channel}; cd ~/web-platform-tests; result=0; ./tools/ci/taskcluster-run.py --commit-range HEAD^ ${browser.name} -- + --channel=${browser.channel} ${operation.extra_args} || result=$?; echo $result > ../artifacts/run-return-code.txt; echo "Command exited with code $result (failures are allowed while this task is being vetted)." diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png index 1e313371d828e9..70d7b046cb226c 100644 Binary files a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png and b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png differ diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png index 1e313371d828e9..70d7b046cb226c 100644 Binary files a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png and b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png differ diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png index 1e313371d828e9..70d7b046cb226c 100644 Binary files a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png and b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png differ diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png index b04566f5c66e58..fb3b5b830d345d 100644 Binary files a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png and b/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png differ diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.measure.actualBoundingBox.html b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.actualBoundingBox.html new file mode 100644 index 00000000000000..484af7c239935c --- /dev/null +++ b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.actualBoundingBox.html @@ -0,0 +1,51 @@ + + +Canvas test: 2d.text.measure.actualBoundingBox + + + + + + + +

2d.text.measure.actualBoundingBox

+

Testing actualBoundingBox

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.measure.advances.html b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.advances.html new file mode 100644 index 00000000000000..ed8c04d0ab791b --- /dev/null +++ b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.advances.html @@ -0,0 +1,53 @@ + + +Canvas test: 2d.text.measure.advances + + + + + + + +

2d.text.measure.advances

+

Testing width advances

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.measure.baselines.html b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.baselines.html new file mode 100644 index 00000000000000..2472889a607f5a --- /dev/null +++ b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.baselines.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.text.measure.baselines + + + + + + + +

2d.text.measure.baselines

+

Testing baselines

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.measure.emHeights.html b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.emHeights.html new file mode 100644 index 00000000000000..36087e7b035020 --- /dev/null +++ b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.emHeights.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.text.measure.emHeights + + + + + + + +

2d.text.measure.emHeights

+

Testing emHeights

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.measure.fontBoundingBox.html b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.fontBoundingBox.html new file mode 100644 index 00000000000000..1c9bfc492c1d1e --- /dev/null +++ b/2dcontext/drawing-text-to-the-canvas/2d.text.measure.fontBoundingBox.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.text.measure.fontBoundingBox + + + + + + + +

2d.text.measure.fontBoundingBox

+

Testing fontBoundingBox

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/2dcontext/drawing-text-to-the-canvas/2d.text.draw.baseline.alphabetic.html b/2dcontext/text-styles/2d.text.draw.baseline.alphabetic.html similarity index 100% rename from 2dcontext/drawing-text-to-the-canvas/2d.text.draw.baseline.alphabetic.html rename to 2dcontext/text-styles/2d.text.draw.baseline.alphabetic.html diff --git a/2dcontext/tools/name2dir.yaml b/2dcontext/tools/name2dir.yaml index 479c171810cf82..40a04057881fe4 100644 --- a/2dcontext/tools/name2dir.yaml +++ b/2dcontext/tools/name2dir.yaml @@ -9,7 +9,6 @@ 2d.fillRect: "drawing-rectangles-to-the-canvas" 2d.strokeRect: "drawing-rectangles-to-the-canvas" 2d.text.draw: "drawing-text-to-the-canvas" -2d.text.draw.baseline.alphabetic: "drawing-text-to-the-canvas" 2d.text.draw.space.basic: "drawing-text-to-the-canvas" 2d.text.draw.space.collapse: "drawing-text-to-the-canvas" 2d.text.measure: "drawing-text-to-the-canvas" diff --git a/2dcontext/tools/tests2dtext.yaml b/2dcontext/tools/tests2dtext.yaml index 336e3cf38b496f..f89d6d48a4f0e3 100644 --- a/2dcontext/tools/tests2dtext.yaml +++ b/2dcontext/tools/tests2dtext.yaml @@ -1018,4 +1018,119 @@ @assert ctx.measureText('AB ').width === 100; @moz-todo }), 500); +- name: 2d.text.measure.advances + desc: Testing width advances + testing: + - 2d.text.measure.advances + fonts: + - CanvasTest + code: | + deferTest(); + step_timeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; + ctx.align = 'left' + // Some platforms may return '-0'. + @assert Math.abs(ctx.measureText('Hello').advances[0]) === 0; + // Different platforms may render text slightly different. + @assert ctx.measureText('Hello').advances[1] >= 36; + @assert ctx.measureText('Hello').advances[2] >= 58; + @assert ctx.measureText('Hello').advances[3] >= 70; + @assert ctx.measureText('Hello').advances[4] >= 80; + + var tm = ctx.measureText('Hello'); + @assert ctx.measureText('Hello').advances[0] === tm.advances[0]; + @assert ctx.measureText('Hello').advances[1] === tm.advances[1]; + @assert ctx.measureText('Hello').advances[2] === tm.advances[2]; + @assert ctx.measureText('Hello').advances[3] === tm.advances[3]; + @assert ctx.measureText('Hello').advances[4] === tm.advances[4]; + }), 500); + +- name: 2d.text.measure.actualBoundingBox + desc: Testing actualBoundingBox + testing: + - 2d.text.measure.actualBoundingBox + fonts: + - CanvasTest + code: | + deferTest(); + step_timeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; + ctx.align = 'left' + ctx.baseline = 'alphabetic' + // Some platforms may return '-0'. + @assert Math.abs(ctx.measureText('A').actualBoundingBoxLeft) === 0; + // Different platforms may render text slightly different. + @assert ctx.measureText('A').actualBoundingBoxRight >= 50; + @assert ctx.measureText('A').actualBoundingBoxAscent >= 35; + @assert Math.abs(ctx.measureText('A').actualBoundingBoxDescent) === 0; + + @assert Math.abs(ctx.measureText('ABCD').actualBoundingBoxLeft) === 0; + @assert ctx.measureText('ABCD').actualBoundingBoxRight >= 200; + @assert ctx.measureText('ABCD').actualBoundingBoxAscent >= 85; + @assert ctx.measureText('ABCD').actualBoundingBoxDescent >= 37; + }), 500); + +- name: 2d.text.measure.fontBoundingBox + desc: Testing fontBoundingBox + testing: + - 2d.text.measure.fontBoundingBox + fonts: + - CanvasTest + code: | + deferTest(); + step_timeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; + ctx.align = 'left' + @assert ctx.measureText('A').fontBoundingBoxAscent === 85; + @assert ctx.measureText('A').fontBoundingBoxDescent === 39; + + @assert ctx.measureText('ABCD').fontBoundingBoxAscent === 85; + @assert ctx.measureText('ABCD').fontBoundingBoxDescent === 39; + }), 500); + +- name: 2d.text.measure.emHeights + desc: Testing emHeights + testing: + - 2d.text.measure.emHeights + fonts: + - CanvasTest + code: | + deferTest(); + step_timeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; + ctx.align = 'left' + @assert ctx.measureText('A').emHeightAscent === 37.5; + @assert ctx.measureText('A').emHeightDescent === 12.5; + @assert ctx.measureText('A').emHeightDescent + ctx.measureText('A').emHeightAscent === 50; + + @assert ctx.measureText('ABCD').emHeightAscent === 37.5; + @assert ctx.measureText('ABCD').emHeightDescent === 12.5; + @assert ctx.measureText('ABCD').emHeightDescent + ctx.measureText('ABCD').emHeightAscent === 50; + }), 500); + +- name: 2d.text.measure.baselines + desc: Testing baselines + testing: + - 2d.text.measure.baselines + fonts: + - CanvasTest + code: | + deferTest(); + step_timeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; + ctx.align = 'left' + @assert Math.abs(ctx.measureText('A').getBaselines().alphabetic) === 0; + @assert ctx.measureText('A').getBaselines().ideographic === -39; + @assert ctx.measureText('A').getBaselines().hanging === 68; + + @assert Math.abs(ctx.measureText('ABCD').getBaselines().alphabetic) === 0; + @assert ctx.measureText('ABCD').getBaselines().ideographic === -39; + @assert ctx.measureText('ABCD').getBaselines().hanging === 68; + }), 500); + # TODO: shadows, alpha, composite, clip diff --git a/background-fetch/fetch.https.window.js b/background-fetch/fetch.https.window.js index 33c8124ffa4569..f2cffd0b8cfc56 100644 --- a/background-fetch/fetch.https.window.js +++ b/background-fetch/fetch.https.window.js @@ -73,12 +73,18 @@ backgroundFetchTest(async (test, backgroundFetch) => { assert_equals(registration.uploadTotal, 0); assert_equals(registration.uploaded, 0); assert_equals(registration.downloadTotal, 0); + assert_equals(registration.state, "pending"); + assert_equals(registration.failureReason, ""); // Skip `downloaded`, as the transfer may have started already. - const {type, results} = await getMessageFromServiceWorker(); + const {type, eventRegistration, results} = await getMessageFromServiceWorker(); assert_equals('backgroundfetchsuccess', type); assert_equals(results.length, 1); + assert_equals(eventRegistration.id, registration.id); + assert_equals(eventRegistration.state, "success"); + assert_equals(eventRegistration.failureReason, ""); + assert_true(results[0].url.includes('resources/feature-name.txt')); assert_equals(results[0].status, 200); assert_equals(results[0].text, 'Background Fetch'); @@ -96,3 +102,23 @@ backgroundFetchTest(async (test, backgroundFetch) => { 'This fetch should have thrown a quota exceeded error'); }, 'Background Fetch that exceeds the quota throws a QuotaExceededError'); + +backgroundFetchTest(async (test, backgroundFetch) => { + const registration = await backgroundFetch.fetch( + 'my-id', ['resources/feature-name.txt', 'resources/feature-name.txt']); + + const {type, eventRegistration, results} = await getMessageFromServiceWorker(); + assert_equals('backgroundfetchsuccess', type); + assert_equals(results.length, 2); + + assert_equals(eventRegistration.id, registration.id); + assert_equals(eventRegistration.state, "success"); + assert_equals(eventRegistration.failureReason, ""); + + for (const result of results) { + assert_true(result.url.includes('resources/feature-name.txt')); + assert_equals(result.status, 200); + assert_equals(result.text, 'Background Fetch'); + } + +}, 'Fetches can have requests with duplicate URLs'); diff --git a/background-fetch/get.https.window.js b/background-fetch/get.https.window.js index a0b2acd4a69552..5f249663fda2f0 100644 --- a/background-fetch/get.https.window.js +++ b/background-fetch/get.https.window.js @@ -41,6 +41,8 @@ backgroundFetchTest(async (test, backgroundFetch) => { assert_equals(registration.uploadTotal, 0); assert_equals(registration.uploaded, 0); assert_equals(registration.downloadTotal, 1234); + assert_equals(registration.state, "pending"); + assert_equals(registration.failureReason, ""); // Skip `downloaded`, as the transfer may have started already. const secondRegistration = await backgroundFetch.get(registrationId); diff --git a/background-fetch/service_workers/sw-helpers.js b/background-fetch/service_workers/sw-helpers.js index ff51f22a2b950f..e4c772135dba26 100644 --- a/background-fetch/service_workers/sw-helpers.js +++ b/background-fetch/service_workers/sw-helpers.js @@ -5,6 +5,25 @@ function sendMessageToDocument(msg) { source.postMessage(msg); } +// This is needed to create a local javascript object identical to the +// one returned by a BackgroundFetchEvent, so that it can be serialized +// and transmitted from the service worker context to the document. +function cloneRegistration(registration) { + function deepCopy(src) { + if (typeof src !== 'object' || src === null) + return src; + var dst = Array.isArray(src) ? [] : {}; + for (var property in src) { + if (typeof src[property] === 'function') + continue; + dst[property] = deepCopy(src[property]); + } + return dst; + } + + return deepCopy(registration); +} + // Notify the document that the SW is registered and ready. self.addEventListener('message', event => { source = event.source; diff --git a/background-fetch/service_workers/sw.js b/background-fetch/service_workers/sw.js index 10e17f5874f2c7..ab2445d18b0973 100644 --- a/background-fetch/service_workers/sw.js +++ b/background-fetch/service_workers/sw.js @@ -1,20 +1,24 @@ importScripts('sw-helpers.js'); -async function getFetchResult(settledFetch) { - if (!settledFetch.response) +async function getFetchResult(record) { + response = await record.responseReady; + if (!response) return Promise.resolve(null); return { - url: settledFetch.response.url, - status: settledFetch.response.status, - text: await settledFetch.response.text(), + url: response.url, + status: response.status, + text: await response.text(), }; } self.addEventListener('backgroundfetchsuccess', event => { event.waitUntil( - event.fetches.values() - .then(fetches => Promise.all(fetches.map(fetch => getFetchResult(fetch)))) - .then(results => sendMessageToDocument({ type: event.type, results }))); + event.registration.matchAll() + .then(records => Promise.all(records.map(record => getFetchResult(record)))) + .then(results => { + const registrationCopy = cloneRegistration(event.registration); + sendMessageToDocument({ type: event.type, eventRegistration: registrationCopy, results }) + })); }); diff --git a/beacon/beacon-readablestream.window.js b/beacon/beacon-readablestream.window.js new file mode 100644 index 00000000000000..fc7f81f884bdf4 --- /dev/null +++ b/beacon/beacon-readablestream.window.js @@ -0,0 +1,3 @@ +test(() => { + assert_throws(new TypeError(), () => navigator.sendBeacon("...", new ReadableStream())); +}, "sendBeacon() with a stream does not work due to the keepalive flag being set"); diff --git a/client-hints/accept_ch.tentative.https.html b/client-hints/accept_ch.tentative.https.html index b8379de46a2206..491ef3c71873bd 100644 --- a/client-hints/accept_ch.tentative.https.html +++ b/client-hints/accept_ch.tentative.https.html @@ -52,7 +52,7 @@ function acceptChLoaded() { // Open a new window. Verify that the user agent does not attach the client // hints. - var verify_win = window.open("do_not_expect_client_hints_headers.html"); + var verify_win = window.open("resources/do_not_expect_client_hints_headers.html"); assert_not_equals(verify_win, null, "Popup windows not allowed?"); } diff --git a/compat/css-style-declaration-alias-enumeration.html b/compat/css-style-declaration-alias-enumeration.html index 4608af9d5fc7d3..cdd9cc8eaefb94 100644 --- a/compat/css-style-declaration-alias-enumeration.html +++ b/compat/css-style-declaration-alias-enumeration.html @@ -1,6 +1,5 @@ Aliases enumerated on CSSStyleDeclaration - diff --git a/compat/webkit-appearance.html b/compat/webkit-appearance.html new file mode 100644 index 00000000000000..210944522a9a7d --- /dev/null +++ b/compat/webkit-appearance.html @@ -0,0 +1,57 @@ + +-webkit-appearance + + + + diff --git a/content-security-policy/blob/blob-urls-do-not-match-self.sub.html b/content-security-policy/blob/blob-urls-do-not-match-self.sub.html index 1bf96df17c0ed1..cafa1e366026c2 100644 --- a/content-security-policy/blob/blob-urls-do-not-match-self.sub.html +++ b/content-security-policy/blob/blob-urls-do-not-match-self.sub.html @@ -7,7 +7,7 @@ blob-urls-do-not-match-self - + diff --git a/content-security-policy/default-src/default-src-inline-blocked.sub.html b/content-security-policy/default-src/default-src-inline-blocked.sub.html index 86873553c6bd8f..0cb4ca55387990 100644 --- a/content-security-policy/default-src/default-src-inline-blocked.sub.html +++ b/content-security-policy/default-src/default-src-inline-blocked.sub.html @@ -12,7 +12,7 @@ default-src-inline-blocked - + diff --git a/content-security-policy/generic/filesystem-urls-do-not-match-self.sub.html b/content-security-policy/generic/filesystem-urls-do-not-match-self.sub.html index 401b65a898dd1c..afb272cf36adbf 100644 --- a/content-security-policy/generic/filesystem-urls-do-not-match-self.sub.html +++ b/content-security-policy/generic/filesystem-urls-do-not-match-self.sub.html @@ -7,7 +7,7 @@ filesystem-urls-do-not-match-self - + @@ -19,7 +19,7 @@ window.addEventListener('securitypolicyviolation', function(e) { log("violated-directive=" + e.violatedDirective); }); - + if(!window.webkitRequestFileSystem) { t_log = async_test(); t_log.set_status(t_log.NOTRUN, "No filesystem:// support, cannot run test."); diff --git a/content-security-policy/generic/generic-0_1-script-src.html b/content-security-policy/generic/generic-0_1-script-src.html index d27b922565b84e..35033c3899f78e 100644 --- a/content-security-policy/generic/generic-0_1-script-src.html +++ b/content-security-policy/generic/generic-0_1-script-src.html @@ -16,9 +16,9 @@

default-src should cascade to script-src directive

var scriptsrc2 = async_test("Verify cascading of default-src to script-src policy: allow"); var allowedScriptRan = false; var t_spv = async_test("Should fire violation events for every failed violation"); - + window.addEventListener("securitypolicyviolation", t_spv.step_func_done(function(e) { - assert_equals(e.violatedDirective, "script-src"); + assert_equals(e.violatedDirective, "script-src-elem"); })); diff --git a/content-security-policy/generic/generic-0_10_1.sub.html b/content-security-policy/generic/generic-0_10_1.sub.html index 107ab905bcfc12..f48c1e3c56ffde 100644 --- a/content-security-policy/generic/generic-0_10_1.sub.html +++ b/content-security-policy/generic/generic-0_10_1.sub.html @@ -2,16 +2,16 @@ implicit port number matching fails with a different port - + - + + + + + diff --git a/cookies/http-state/resources/cookie-http-state-template.js b/cookies/http-state/resources/cookie-http-state-template.js index 470d46ebc43837..d737b38c520b83 100644 --- a/cookies/http-state/resources/cookie-http-state-template.js +++ b/cookies/http-state/resources/cookie-http-state-template.js @@ -1,16 +1,32 @@ const SERVER_LOCATION = "resources"; const SERVER_SCRIPT = SERVER_LOCATION + "/cookie-setter.py"; +/* Adds a div with "