[webkit-changes] [WebKit/WebKit] 09841b: Blob range request test failures

Anne van Kesteren noreply at github.com
Wed Mar 22 09:34:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 09841b4faec73a9d1b15b37d68941a995f33cadf
      https://github.com/WebKit/WebKit/commit/09841b4faec73a9d1b15b37d68941a995f33cadf
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2023-03-22 (Wed, 22 Mar 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/cors/cors-safelisted-request-header.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/cors/cors-safelisted-request-header.any.js
    M LayoutTests/imported/w3c/web-platform-tests/cors/cors-safelisted-request-header.any.worker-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/fetch/range/blob.any-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/fetch/range/blob.any.html
    A LayoutTests/imported/w3c/web-platform-tests/fetch/range/blob.any.js
    M Source/WebCore/platform/network/BlobResourceHandle.cpp
    M Source/WebCore/platform/network/BlobResourceHandle.h
    M Source/WebCore/platform/network/HTTPParsers.cpp
    M Source/WebCore/platform/network/HTTPParsers.h
    M Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp
    M Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h

  Log Message:
  -----------
  Blob range request test failures
https://bugs.webkit.org/show_bug.cgi?id=248994
rdar://103171187

Reviewed by Youenn Fablet.

This changes the Range request header parser so it can be used by both blob: URLs and the CORS-safelisted request-header check.

It changes the error handling for blob: URLs such that it now returns network errors rather than HTTP responses.

It aligns the Range request header parser with the Fetch Standard.

* LayoutTests/imported/w3c/web-platform-tests/cors/cors-safelisted-request-header.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cors/cors-safelisted-request-header.any.js:
(async string_appeared_here):
* LayoutTests/imported/w3c/web-platform-tests/cors/cors-safelisted-request-header.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fetch/range/blob.any-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/fetch/range/blob.any.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/fetch/range/blob.any.js: Added.
(supportedBlobRange.forEach):
(async unsupportedBlobRange):
(async unsupportedBlobRange.forEach):

These tests are from upstream web-platform-tests. https://github.com/web-platform-tests/wpt/pull/39108 added coverage for some of the cases discussed during review.

* Source/WebCore/platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::doStart):
(WebCore::BlobResourceHandle::seek):
(WebCore::BlobResourceHandle::notifyResponse):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError): Deleted.
* Source/WebCore/platform/network/BlobResourceHandle.h:
* Source/WebCore/platform/network/HTTPParsers.cpp:
(WebCore::isValidAcceptHeaderValue):
(WebCore::filenameFromHTTPContentDisposition):
(WebCore::isTabOrSpace):
(WebCore::parseRange):
(WebCore::isCrossOriginSafeRequestHeader):
(WebCore::isSimpleRangeHeaderValue): Deleted.
* Source/WebCore/platform/network/HTTPParsers.h:
* Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::resume):
(WebKit::NetworkDataTaskBlob::seek):
(WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
* Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h:

Canonical link: https://commits.webkit.org/261968@main




More information about the webkit-changes mailing list