Changeset 205250 in webkit


Ignore:
Timestamp:
Aug 31, 2016 9:36:35 AM (8 years ago)
Author:
commit-queue@webkit.org
Message:

[Fetch API] Blob type should be correctly set in case of empty body
https://bugs.webkit.org/show_bug.cgi?id=161431

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-31
Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/fetch/fetch-as-blob-worker.html

http/tests/fetch/fetch-as-blob.html

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::takeAsBlob): Set blob type with contentType even if blob has no data.

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::blob): Ditto for empty bodies.

LayoutTests:

  • http/tests/fetch/fetch-as-blob-expected.txt: Added.
  • http/tests/fetch/fetch-as-blob-worker-expected.txt: Added.
  • http/tests/fetch/fetch-as-blob-worker.html: Added.
  • http/tests/fetch/fetch-as-blob.html: Added.
  • http/tests/fetch/fetch-as-blob.js: Added.

(promise_test):

Location:
trunk
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r205248 r205250  
     12016-08-31  Youenn Fablet  <youenn@apple.com>
     2
     3        [Fetch API] Blob type should be correctly set in case of empty body
     4        https://bugs.webkit.org/show_bug.cgi?id=161431
     5
     6        Reviewed by Alex Christensen.
     7
     8        * http/tests/fetch/fetch-as-blob-expected.txt: Added.
     9        * http/tests/fetch/fetch-as-blob-worker-expected.txt: Added.
     10        * http/tests/fetch/fetch-as-blob-worker.html: Added.
     11        * http/tests/fetch/fetch-as-blob.html: Added.
     12        * http/tests/fetch/fetch-as-blob.js: Added.
     13        (promise_test):
     14
    1152016-08-31  Romain Bellessort  <romain.bellessort@crf.canon.fr>
    216
  • trunk/Source/WebCore/ChangeLog

    r205249 r205250  
     12016-08-31  Youenn Fablet  <youenn@apple.com>
     2
     3        [Fetch API] Blob type should be correctly set in case of empty body
     4        https://bugs.webkit.org/show_bug.cgi?id=161431
     5
     6        Reviewed by Alex Christensen.
     7
     8        Tests: http/tests/fetch/fetch-as-blob-worker.html
     9               http/tests/fetch/fetch-as-blob.html
     10
     11        * Modules/fetch/FetchBodyConsumer.cpp:
     12        (WebCore::FetchBodyConsumer::takeAsBlob): Set blob type with contentType even if blob has no data.
     13        * Modules/fetch/FetchBodyOwner.cpp:
     14        (WebCore::FetchBodyOwner::blob): Ditto for empty bodies.
     15
    1162016-08-31  Andreas Kling  <akling@apple.com>
    217
  • trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp

    r205188 r205250  
    135135{
    136136    if (!m_buffer)
    137         return Blob::create();
     137        return Blob::create(Vector<uint8_t>(), m_contentType);
    138138
    139139    // FIXME: We should try to move m_buffer to Blob without doing extra copy.
  • trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.cpp

    r204020 r205250  
    3535#include "FetchLoader.h"
    3636#include "FetchResponseSource.h"
     37#include "HTTPParsers.h"
    3738#include "JSBlob.h"
    3839#include "ResourceResponse.h"
     
    8889{
    8990    if (m_body.isEmpty()) {
    90         promise.resolve(Blob::create());
     91        promise.resolve(Blob::create(Vector<uint8_t>(), Blob::normalizedContentType(extractMIMETypeFromMediaType(m_body.contentType()))));
    9192        return;
    9293    }
Note: See TracChangeset for help on using the changeset viewer.