[webkit-changes] [WebKit/WebKit] d06509: Sliced blobs end up with the wrong Content-Type in...

Anne van Kesteren noreply at github.com
Tue Apr 4 10:48:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d06509f47821010fd96be8c8ad44df8435f8c347
      https://github.com/WebKit/WebKit/commit/d06509f47821010fd96be8c8ad44df8435f8c347
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2023-04-04 (Tue, 04 Apr 2023)

  Changed paths:
    M LayoutTests/fast/files/blob-content-type-expected.txt
    M LayoutTests/fast/files/blob-content-type.html
    M LayoutTests/imported/w3c/resources/resource-files.json
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/Blob-methods-from-detached-frame-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/Blob-methods-from-detached-frame.html
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/FileReader/w3c-import.log
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-in-worker.worker.js
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream.any.js
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/File-constructor.any.js
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/File-constructor.any.worker-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-controls-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-controls.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-punctuation-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-punctuation.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-utf-8-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-utf-8.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-windows-1252-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-windows-1252.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-x-user-defined-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-x-user-defined.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form.html
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.html
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.js
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.worker-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.worker.html
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.html
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.worker.js
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/support/Blob.js
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/support/w3c-import.log
    M LayoutTests/imported/w3c/web-platform-tests/FileAPI/w3c-import.log
    M LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any.worker-expected.txt
    M LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any-expected.txt
    M LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any.worker-expected.txt
    M Source/WebCore/platform/network/BlobRegistryImpl.cpp

  Log Message:
  -----------
  Sliced blobs end up with the wrong Content-Type in fetch
https://bugs.webkit.org/show_bug.cgi?id=246519
rdar://101171705

Reviewed by Youenn Fablet.

The blob registry would incorrectly use the unsliced blob's type if the type passed to blob.slice() was the empty string (the default). The return value of blob.slice() and the registry were thus out of sync and this would surface through fetch().

This also syncs most of FileAPI WPT.

* LayoutTests/fast/files/blob-content-type-expected.txt:
* LayoutTests/fast/files/blob-content-type.html:
* LayoutTests/imported/w3c/resources/resource-files.json:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/Blob-methods-from-detached-frame-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/Blob-methods-from-detached-frame.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/FileReader/w3c-import.log:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-in-worker.worker.js:
(promise_test.async const):
(promise_test):
(async_test): Deleted.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream.any.js:
(async read_and_gc):
(async read_all_chunks):
(promise_test.async const): Deleted.
(promise_test): Deleted.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/File-constructor.any.js:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/File-constructor.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-controls-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-controls.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-punctuation-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-punctuation.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-utf-8-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-utf-8.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-windows-1252-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-windows-1252.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-x-user-defined-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form-x-user-defined.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/file/send-file-form.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness-expected.txt.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.js: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.worker.js.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness-expected.txt.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.any.worker.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.html:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/idlharness.worker.js:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/support/Blob.js:
(): Deleted.
(string_appeared_here.test_blob): Deleted.
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/support/w3c-import.log:
* LayoutTests/imported/w3c/web-platform-tests/FileAPI/w3c-import.log:
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.sub.any.worker-expected.txt:
* Source/WebCore/platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):

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




More information about the webkit-changes mailing list