[webkit-changes] [WebKit/WebKit] cd292c: Respect Content-Type from internal headers instead...

cybai (Haku) noreply at github.com
Sat May 13 19:30:14 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cd292c4f555814e858cf649225cf2d26f036e58c
      https://github.com/WebKit/WebKit/commit/cd292c4f555814e858cf649225cf2d26f036e58c
  Author: Cheng-You Bai <cyb.ai.815 at gmail.com>
  Date:   2023-05-13 (Sat, 13 May 2023)

  Changed paths:
    R LayoutTests/http/wpt/fetch/fetch-as-blob-expected.txt
    R LayoutTests/http/wpt/fetch/fetch-as-blob-worker-expected.txt
    R LayoutTests/http/wpt/fetch/fetch-as-blob-worker.html
    R LayoutTests/http/wpt/fetch/fetch-as-blob.html
    R LayoutTests/http/wpt/fetch/fetch-as-blob.js
    M LayoutTests/imported/w3c/resources/import-expectations.json
    A LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/cloned-any.js
    M LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/mime-type.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/mime-type.any.js
    M LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/mime-type.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/w3c-import.log
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-match.https-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-match.https-expected.txt
    M Source/WebCore/Modules/fetch/FetchBody.cpp
    M Source/WebCore/Modules/fetch/FetchBody.h
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.h
    M Source/WebCore/Modules/fetch/FetchBodyOwner.cpp
    M Source/WebCore/Modules/fetch/FetchBodyOwner.h
    M Source/WebCore/Modules/fetch/FetchRequest.cpp
    M Source/WebCore/Modules/fetch/FetchResponse.cpp

  Log Message:
  -----------
  Respect Content-Type from internal headers instead of caching it in body
https://bugs.webkit.org/show_bug.cgi?id=220535

Reviewed by Youenn Fablet.

Previously, Content-Type is cached as `m_contentType` in
FetchBodyOwner. However, as the spec says, Content-Type should be
derived from the one in Headers. Thus, we'd like to remove the cached
Content-Type and always retrieve it from internal headers instead.

* LayoutTests/http/wpt/fetch/fetch-as-blob-expected.txt: Removed.
* LayoutTests/http/wpt/fetch/fetch-as-blob-worker-expected.txt: Removed.
* LayoutTests/http/wpt/fetch/fetch-as-blob-worker.html: Removed.
* LayoutTests/http/wpt/fetch/fetch-as-blob.html: Removed.
* LayoutTests/http/wpt/fetch/fetch-as-blob.js: Removed.
* LayoutTests/imported/w3c/resources/import-expectations.json:
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/cloned-any.js: Added.
(promise_test.async t):
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/mime-type.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/mime-type.any.js:
(forEach.bodyContainerCreator.promise_test.async t):
(forEach.bodyContainerCreator.assert_equals):
(new.Response.new.Blob.string_appeared_here.forEach.bodyContainerCreator.promise_test.async t):
(new.Response.new.Blob.string_appeared_here.forEach.bodyContainerCreator.assert_equals):
(new.Response.new.Blob):
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/mime-type.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/body/w3c-import.log:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/cache-match.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-match.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-match.https-expected.txt:
* Source/WebCore/Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::blob):
(WebCore::FetchBody::consumeOnceLoadingFinished):
* Source/WebCore/Modules/fetch/FetchBody.h:
* Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::resolveWithTypeAndData):
(WebCore::FetchBodyConsumer::resolve):
(WebCore::FetchBodyConsumer::takeAsBlob):
(WebCore::FetchBodyConsumer::clone):
* Source/WebCore/Modules/fetch/FetchBodyConsumer.h:
(WebCore::FetchBodyConsumer::setContentType): Deleted.
* Source/WebCore/Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::cloneBody):
(WebCore::FetchBodyOwner::extractBody):
(WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::updateContentType): Deleted.
* Source/WebCore/Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::contentType const):
* Source/WebCore/Modules/fetch/FetchRequest.cpp:
(WebCore::m_signal):
(WebCore::FetchRequest::initializeWith):
* Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::setReceivedInternalResponse):

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




More information about the webkit-changes mailing list