Changeset 227625 in webkit
- Timestamp:
- Jan 25, 2018, 1:26:36 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/loader/DocumentLoader.cpp (modified) (2 diffs)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r227624 r227625 1 2018-01-25 Youenn Fablet <youenn@apple.com> 2 3 DocumentLoader should interrupt ongoing load when getting a redirection from network that matches a service worker 4 https://bugs.webkit.org/show_bug.cgi?id=182115 5 6 Reviewed by Alex Christensen. 7 8 * web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt: 9 1 10 2018-01-25 Chris Dumez <cdumez@apple.com> 2 11 -
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt
r227543 r227625 6 6 PASS Normal redirect to other-origin scope. 7 7 PASS SW-fallbacked redirect to same-origin out-scope. 8 FAIL SW-fallbacked redirect to same-origin same-scope. assert_object_equals: Intercepted URLs should match. expected property "1" missing 8 PASS SW-fallbacked redirect to same-origin same-scope. 9 9 PASS SW-fallbacked redirect to same-origin other-scope. 10 10 PASS SW-fallbacked redirect to other-origin out-scope. -
trunk/Source/WebCore/ChangeLog
r227624 r227625 1 2018-01-25 Youenn Fablet <youenn@apple.com> 2 3 DocumentLoader should interrupt ongoing load when getting a redirection from network that matches a service worker 4 https://bugs.webkit.org/show_bug.cgi?id=182115 5 6 Reviewed by Alex Christensen. 7 8 Covered by rebased test. 9 10 In case a navigation load is going to the network process, 11 we need to interrupt it if having a redirection that leads to a new request going to a service worker. 12 13 * loader/DocumentLoader.cpp: 14 (WebCore::DocumentLoader::redirectReceived): 15 1 16 2018-01-25 Chris Dumez <cdumez@apple.com> 2 17 -
trunk/Source/WebCore/loader/DocumentLoader.cpp
r227531 r227625 518 518 ASSERT_UNUSED(resource, &resource == m_mainResource); 519 519 #if ENABLE(SERVICE_WORKER) 520 willSendRequest(WTFMove(request), redirectResponse, [completionHandler = WTFMove(completionHandler), protectedThis = makeRef(*this), this] (auto&& request) mutable { 520 bool isRedirectionFromServiceWorker = redirectResponse.source() == ResourceResponse::Source::ServiceWorker; 521 willSendRequest(WTFMove(request), redirectResponse, [isRedirectionFromServiceWorker, completionHandler = WTFMove(completionHandler), protectedThis = makeRef(*this), this] (auto&& request) mutable { 521 522 if (request.isNull() || !m_mainDocumentError.isNull() || !m_frame) { 522 523 completionHandler({ }); … … 524 525 } 525 526 auto url = request.url(); 526 matchRegistration(url, [request = WTFMove(request), completionHandler = WTFMove(completionHandler), protectedThis = WTFMove(protectedThis), this] (auto&& registrationData) mutable {527 matchRegistration(url, [request = WTFMove(request), isRedirectionFromServiceWorker, completionHandler = WTFMove(completionHandler), protectedThis = WTFMove(protectedThis), this] (auto&& registrationData) mutable { 527 528 if (!m_mainDocumentError.isNull() || !m_frame) { 528 529 completionHandler({ }); 529 530 return; 530 531 } 531 532 if (areRegistrationsEqual(m_serviceWorkerRegistrationData, registrationData)) { 532 bool shouldContinueLoad = areRegistrationsEqual(m_serviceWorkerRegistrationData, registrationData) 533 && isRedirectionFromServiceWorker == !!registrationData; 534 535 if (shouldContinueLoad) { 533 536 completionHandler(WTFMove(request)); 534 537 return; -
trunk/Source/WebKit/ChangeLog
r227621 r227625 1 2018-01-25 Youenn Fablet <youenn@apple.com> 2 3 DocumentLoader should interrupt ongoing load when getting a redirection from network that matches a service worker 4 https://bugs.webkit.org/show_bug.cgi?id=182115 5 6 Reviewed by Alex Christensen. 7 8 * WebProcess/Storage/ServiceWorkerClientFetch.cpp: 9 (WebKit::ServiceWorkerClientFetch::didReceiveResponse): 10 1 11 2018-01-25 Alex Christensen <achristensen@webkit.org> 2 12 -
trunk/Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.cpp
r227531 r227625 109 109 return; 110 110 } 111 response.setSource(ResourceResponse::Source::ServiceWorker); 111 112 112 113 if (response.isRedirection()) { … … 135 136 } 136 137 } 137 response.setSource(ResourceResponse::Source::ServiceWorker);138 138 139 139 // As per https://fetch.spec.whatwg.org/#main-fetch step 9, copy request's url list in response's url list if empty.
Note:
See TracChangeset
for help on using the changeset viewer.