Title: [226410] trunk
Revision
226410
Author
[email protected]
Date
2018-01-04 10:49:07 -0800 (Thu, 04 Jan 2018)

Log Message

FetchResponse should set its internal response text encoding name
https://bugs.webkit.org/show_bug.cgi?id=181284

Patch by Youenn Fablet <[email protected]> on 2018-01-04
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:

Source/WebCore:

Covered by rebased test.

* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create): Set response text encoding based on content type charset.

Source/WebKit:

* WebProcess/Storage/ServiceWorkerClientFetch.cpp:
(WebKit::ServiceWorkerClientFetch::didReceiveResponse): Set default encoding to UTF-8.

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (226409 => 226410)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2018-01-04 17:56:55 UTC (rev 226409)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2018-01-04 18:49:07 UTC (rev 226410)
@@ -1,5 +1,14 @@
 2018-01-04  Youenn Fablet  <[email protected]>
 
+        FetchResponse should set its internal response text encoding name
+        https://bugs.webkit.org/show_bug.cgi?id=181284
+
+        Reviewed by Alex Christensen.
+
+        * web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
+
+2018-01-04  Youenn Fablet  <[email protected]>
+
         Service Worker should expose redirect mode for navigation loads as manual
         https://bugs.webkit.org/show_bug.cgi?id=181067
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt (226409 => 226410)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt	2018-01-04 17:56:55 UTC (rev 226409)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt	2018-01-04 18:49:07 UTC (rev 226410)
@@ -1,7 +1,7 @@
 
 
 FAIL Service Worker headers in the request of a fetch event assert_unreached: unexpected rejection: assert_true: request specifies "Upgrade-Insecure Requests header as inserted by Fetch expected true got false Reached unreachable code
-FAIL Service Worker responds to fetch event with string assert_unreached: unexpected rejection: assert_equals: The character set of the response created with a string should be UTF-8 expected "UTF-8" but got "windows-1252" Reached unreachable code
+PASS Service Worker responds to fetch event with string 
 PASS Service Worker responds to fetch event with blob body 
 PASS Service Worker responds to fetch event with the referrer URL 
 PASS Service Worker responds to fetch event with an existing client id 

Modified: trunk/Source/WebCore/ChangeLog (226409 => 226410)


--- trunk/Source/WebCore/ChangeLog	2018-01-04 17:56:55 UTC (rev 226409)
+++ trunk/Source/WebCore/ChangeLog	2018-01-04 18:49:07 UTC (rev 226410)
@@ -1,3 +1,15 @@
+2018-01-04  Youenn Fablet  <[email protected]>
+
+        FetchResponse should set its internal response text encoding name
+        https://bugs.webkit.org/show_bug.cgi?id=181284
+
+        Reviewed by Alex Christensen.
+
+        Covered by rebased test.
+
+        * Modules/fetch/FetchResponse.cpp:
+        (WebCore::FetchResponse::create): Set response text encoding based on content type charset.
+
 2018-01-04  John Wilander  <[email protected]>
 
         Storage Access API: Remove _javascript_ confirm() prompt from Document::requestStorageAccess()

Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp (226409 => 226410)


--- trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp	2018-01-04 17:56:55 UTC (rev 226409)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp	2018-01-04 18:49:07 UTC (rev 226410)
@@ -116,6 +116,7 @@
     r->m_contentType = contentType;
     auto mimeType = extractMIMETypeFromMediaType(contentType);
     r->m_internalResponse.setMimeType(mimeType.isEmpty() ? defaultMIMEType() : mimeType);
+    r->m_internalResponse.setTextEncodingName(extractCharsetFromMediaType(contentType));
 
     r->m_internalResponse.setHTTPStatusCode(status);
     r->m_internalResponse.setHTTPStatusText(statusText);

Modified: trunk/Source/WebKit/ChangeLog (226409 => 226410)


--- trunk/Source/WebKit/ChangeLog	2018-01-04 17:56:55 UTC (rev 226409)
+++ trunk/Source/WebKit/ChangeLog	2018-01-04 18:49:07 UTC (rev 226410)
@@ -1,5 +1,15 @@
 2018-01-04  Youenn Fablet  <[email protected]>
 
+        FetchResponse should set its internal response text encoding name
+        https://bugs.webkit.org/show_bug.cgi?id=181284
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/Storage/ServiceWorkerClientFetch.cpp:
+        (WebKit::ServiceWorkerClientFetch::didReceiveResponse): Set default encoding to UTF-8.
+
+2018-01-04  Youenn Fablet  <[email protected]>
+
         Implement Cache API partitioning based on ClientOrigin
         https://bugs.webkit.org/show_bug.cgi?id=181240
 

Modified: trunk/Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.cpp (226409 => 226410)


--- trunk/Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.cpp	2018-01-04 17:56:55 UTC (rev 226409)
+++ trunk/Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.cpp	2018-01-04 18:49:07 UTC (rev 226410)
@@ -127,8 +127,10 @@
     // In case of main resource and mime type is the default one, we set it to text/html to pass more service worker WPT tests.
     // FIXME: We should refine our MIME type sniffing strategy for synthetic responses.
     if (m_loader->originalRequest().requester() == ResourceRequest::Requester::Main) {
-        if (response.mimeType() == defaultMIMEType())
+        if (response.mimeType() == defaultMIMEType()) {
             response.setMimeType(ASCIILiteral("text/html"));
+            response.setTextEncodingName(ASCIILiteral("UTF-8"));
+        }
     }
     response.setSource(ResourceResponse::Source::ServiceWorker);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to