Log Message
MediaResourceLoader should set its fetch destination https://bugs.webkit.org/show_bug.cgi?id=184746
Reviewed by Eric Carlson. LayoutTests/imported/w3c: * web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt: * web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html: * web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html: * web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-worker.js: Source/WebCore: Covered by updated test. * loader/MediaResourceLoader.cpp: (WebCore::MediaResourceLoader::requestResource):
Modified Paths
- trunk/LayoutTests/imported/w3c/ChangeLog
- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt
- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html
- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html
- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-worker.js
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/loader/MediaResourceLoader.cpp
Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (230780 => 230781)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-18 21:21:17 UTC (rev 230781)
@@ -1,3 +1,15 @@
+2018-04-18 Youenn Fablet <you...@apple.com>
+
+ MediaResourceLoader should set its fetch destination
+ https://bugs.webkit.org/show_bug.cgi?id=184746
+
+ Reviewed by Eric Carlson.
+
+ * web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
+ * web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html:
+ * web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html:
+ * web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-worker.js:
+
2018-04-18 Ms2ger <ms2...@igalia.com>
Test gardening.
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt (230780 => 230781)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt 2018-04-18 21:21:17 UTC (rev 230781)
@@ -56,4 +56,10 @@
PASS Audio load (url:https://127.0.0.1:9443/service-workers/service-worker/resources/dummy?test54 cross_origin:)
PASS Audio load (url:https://127.0.0.1:9443/service-workers/service-worker/resources/dummy?test55 cross_origin:anonymous)
PASS Audio load (url:https://127.0.0.1:9443/service-workers/service-worker/resources/dummy?test56 cross_origin:use-credentials)
+PASS Video load (url:https://localhost:9443/service-workers/service-worker/resources/dummy?test57 cross_origin:)
+PASS Video load (url:https://localhost:9443/service-workers/service-worker/resources/dummy?test58 cross_origin:anonymous)
+PASS Video load (url:https://localhost:9443/service-workers/service-worker/resources/dummy?test59 cross_origin:use-credentials)
+PASS Video load (url:https://127.0.0.1:9443/service-workers/service-worker/resources/dummy?test60 cross_origin:)
+PASS Video load (url:https://127.0.0.1:9443/service-workers/service-worker/resources/dummy?test61 cross_origin:anonymous)
+PASS Video load (url:https://127.0.0.1:9443/service-workers/service-worker/resources/dummy?test62 cross_origin:use-credentials)
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html (230780 => 230781)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html 2018-04-18 21:21:17 UTC (rev 230781)
@@ -26,6 +26,7 @@
credentials: expected_credentials,
redirect: 'follow',
integrity: '',
+ destination: 'image',
message: 'Image load (url:' +
actual_url + ' cross_origin:' + cross_origin + ')'
};
@@ -42,6 +43,7 @@
credentials: expected_credentials,
redirect: 'follow',
integrity: '',
+ destination: 'script',
message: 'Script load (url:' +
actual_url + ' cross_origin:' + cross_origin + ')'
};
@@ -58,6 +60,7 @@
credentials: expected_credentials,
redirect: 'follow',
integrity: '',
+ destination: 'style',
message: 'CSS load (url:' +
actual_url + ' cross_origin:' + cross_origin + ')'
};
@@ -73,6 +76,7 @@
credentials: expected_credentials,
redirect: 'follow',
integrity: '',
+ destination: 'font',
message: 'FontFace load (url:' + actual_url + ')'
};
frame.contentWindow.load_font(actual_url);
@@ -87,6 +91,7 @@
credentials: 'include',
redirect: 'follow',
integrity: expected_integrity,
+ destination: 'script',
message: 'Script load (url:' + actual_url + ')'
};
frame.contentWindow.load_script_with_integrity(actual_url, integrity);
@@ -101,6 +106,7 @@
credentials: 'include',
redirect: 'follow',
integrity: expected_integrity,
+ destination: 'style',
message: 'CSS load (url:' + actual_url + ')'
};
frame.contentWindow.load_css_with_integrity(actual_url, integrity);
@@ -115,6 +121,7 @@
credentials: expected_credentials,
redirect: 'follow',
integrity: '',
+ destination: '',
message: 'fetch (url:' + actual_url + ' mode:' + mode + ' credentials:' +
credentials + ')'
};
@@ -132,6 +139,7 @@
credentials: expected_credentials,
redirect: 'follow',
integrity: '',
+ destination: 'audio',
message: 'Audio load (url:' + actual_url + ' cross_origin:' +
cross_origin + ')'
};
@@ -139,6 +147,23 @@
return add_promise_to_test(actual_url);
}
+
+function video_test(frame, url, cross_origin,
+ expected_mode, expected_credentials) {
+ var actual_url = url + (++url_count);
+ expected_results[actual_url] = {
+ mode: expected_mode,
+ credentials: expected_credentials,
+ redirect: 'follow',
+ integrity: '',
+ destination: 'video',
+ message: 'Video load (url:' + actual_url + ' cross_origin:' +
+ cross_origin + ')'
+ };
+ frame.contentWindow.load_video(actual_url, cross_origin);
+ return add_promise_to_test(actual_url);
+}
+
promise_test(function(t) {
var SCOPE = 'resources/fetch-request-resources-iframe.https.html';
var SCRIPT = 'resources/fetch-request-resources-worker.js';
@@ -184,6 +209,10 @@
result.integrity, expected.integrity,
'integrity of ' + expected.message + ' must be ' +
expected.integrity + '.');
+ assert_equals(
+ result.destination, expected.destination,
+ 'destination of ' + expected.message + ' must be ' +
+ expected.destination + '.');
}, expected.message);
expected.resolve();
delete expected_results[result.url];
@@ -269,6 +298,13 @@
await audio_test(f, REMOTE_URL, 'anonymous', 'cors', 'same-origin');
await audio_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
+ await video_test(f, LOCAL_URL, '', 'no-cors', 'include');
+ await video_test(f, LOCAL_URL, 'anonymous', 'cors', 'same-origin');
+ await video_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
+ await video_test(f, REMOTE_URL, '', 'no-cors', 'include');
+ await video_test(f, REMOTE_URL, 'anonymous', 'cors', 'same-origin');
+ await video_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
+
frame.remove();
service_worker_unregister(t, SCOPE);
}).catch(unreached_rejection(t));
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html (230780 => 230781)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html 2018-04-18 21:21:17 UTC (rev 230781)
@@ -71,5 +71,14 @@
audio.src = ""
document.body.appendChild(audio);
}
+
+function load_video(url, cross_origin) {
+ var video = document.createElement('video');
+ if (cross_origin != '') {
+ video.crossOrigin = cross_origin;
+ }
+ video.src = ""
+ document.body.appendChild(video);
+}
</script>
</body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-worker.js (230780 => 230781)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-worker.js 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-request-resources-worker.js 2018-04-18 21:21:17 UTC (rev 230781)
@@ -19,7 +19,8 @@
mode: event.request.mode,
redirect: event.request.redirect,
credentials: event.request.credentials,
- integrity: event.request.integrity
+ integrity: event.request.integrity,
+ destination: event.request.destination
});
event.respondWith(Promise.reject());
});
Modified: trunk/Source/WebCore/ChangeLog (230780 => 230781)
--- trunk/Source/WebCore/ChangeLog 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/Source/WebCore/ChangeLog 2018-04-18 21:21:17 UTC (rev 230781)
@@ -1,3 +1,15 @@
+2018-04-18 Youenn Fablet <you...@apple.com>
+
+ MediaResourceLoader should set its fetch destination
+ https://bugs.webkit.org/show_bug.cgi?id=184746
+
+ Reviewed by Eric Carlson.
+
+ Covered by updated test.
+
+ * loader/MediaResourceLoader.cpp:
+ (WebCore::MediaResourceLoader::requestResource):
+
2018-04-18 Jer Noble <jer.no...@apple.com>
Fix runtime errors in simulator while playing media
Modified: trunk/Source/WebCore/loader/MediaResourceLoader.cpp (230780 => 230781)
--- trunk/Source/WebCore/loader/MediaResourceLoader.cpp 2018-04-18 21:17:37 UTC (rev 230780)
+++ trunk/Source/WebCore/loader/MediaResourceLoader.cpp 2018-04-18 21:21:17 UTC (rev 230781)
@@ -76,7 +76,9 @@
#endif
ContentSecurityPolicyImposition contentSecurityPolicyImposition = m_mediaElement && m_mediaElement->isInUserAgentShadowTree() ? ContentSecurityPolicyImposition::SkipPolicyCheck : ContentSecurityPolicyImposition::DoPolicyCheck;
- CachedResourceRequest cacheRequest(WTFMove(request), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, bufferingPolicy, StoredCredentialsPolicy::Use, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, DoSecurityCheck, FetchOptions::Mode::NoCors, DoNotIncludeCertificateInfo, contentSecurityPolicyImposition, DefersLoadingPolicy::AllowDefersLoading, cachingPolicy));
+ ResourceLoaderOptions loaderOptions { SendCallbacks, DoNotSniffContent, bufferingPolicy, StoredCredentialsPolicy::Use, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, DoSecurityCheck, FetchOptions::Mode::NoCors, DoNotIncludeCertificateInfo, contentSecurityPolicyImposition, DefersLoadingPolicy::AllowDefersLoading, cachingPolicy };
+ loaderOptions.destination = m_mediaElement && !m_mediaElement->isVideo() ? FetchOptions::Destination::Audio : FetchOptions::Destination::Video;
+ CachedResourceRequest cacheRequest { WTFMove(request), WTFMove(loaderOptions) };
cacheRequest.setAsPotentiallyCrossOrigin(m_crossOriginMode, *m_document);
if (m_mediaElement)
cacheRequest.setInitiator(*m_mediaElement.get());
_______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes