Title: [292588] trunk/Source
Revision
292588
Author
cdu...@apple.com
Date
2022-04-07 19:30:33 -0700 (Thu, 07 Apr 2022)

Log Message

Add PAL::TextEncoding() constructor that takes in a StringView
https://bugs.webkit.org/show_bug.cgi?id=238905

Reviewed by Darin Adler.

This allows some call sites to be a bit more efficient.

Source/WebCore:

* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::setEncoding):
* fileapi/FileReaderLoader.h:
* html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
* loader/FormSubmission.cpp:
(WebCore::encodingFromAcceptCharset):
* loader/soup/ResourceLoaderSoup.cpp:
(WebCore::ResourceLoader::loadGResource):
* platform/network/HTTPParsers.cpp:
(WebCore::extractCharsetFromMediaType):
* platform/network/HTTPParsers.h:
* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::handleDataURL):
* platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::ResourceResponse):
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::ResourceResponse):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::finalResponseCharset const):
(WebCore::XMLHttpRequest::didReceiveData):

Source/WebCore/PAL:

* pal/text/TextEncoding.cpp:
(PAL::TextEncoding::TextEncoding):
* pal/text/TextEncoding.h:
(PAL::TextEncoding::TextEncoding):
* pal/text/TextEncodingRegistry.cpp:
(PAL::atomCanonicalTextEncodingName):
* pal/text/TextEncodingRegistry.h:

Source/WebKit:

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::didRequestNextPart):
(WebKit::NetworkDataTaskSoup::didGetFileInfo):
* UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (292587 => 292588)


--- trunk/Source/WebCore/ChangeLog	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/ChangeLog	2022-04-08 02:30:33 UTC (rev 292588)
@@ -1,3 +1,38 @@
+2022-04-07  Chris Dumez  <cdu...@apple.com>
+
+        Add PAL::TextEncoding() constructor that takes in a StringView
+        https://bugs.webkit.org/show_bug.cgi?id=238905
+
+        Reviewed by Darin Adler.
+
+        This allows some call sites to be a bit more efficient.
+
+        * Modules/fetch/FetchResponse.cpp:
+        (WebCore::FetchResponse::create):
+        * fileapi/FileReaderLoader.cpp:
+        (WebCore::FileReaderLoader::setEncoding):
+        * fileapi/FileReaderLoader.h:
+        * html/parser/HTMLMetaCharsetParser.cpp:
+        (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
+        * loader/FormSubmission.cpp:
+        (WebCore::encodingFromAcceptCharset):
+        * loader/soup/ResourceLoaderSoup.cpp:
+        (WebCore::ResourceLoader::loadGResource):
+        * platform/network/HTTPParsers.cpp:
+        (WebCore::extractCharsetFromMediaType):
+        * platform/network/HTTPParsers.h:
+        * platform/network/curl/CurlCacheEntry.cpp:
+        (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
+        * platform/network/curl/ResourceHandleCurl.cpp:
+        (WebCore::ResourceHandle::handleDataURL):
+        * platform/network/curl/ResourceResponseCurl.cpp:
+        (WebCore::ResourceResponse::ResourceResponse):
+        * platform/network/soup/ResourceResponseSoup.cpp:
+        (WebCore::ResourceResponse::ResourceResponse):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::finalResponseCharset const):
+        (WebCore::XMLHttpRequest::didReceiveData):
+
 2022-04-07  Gabriel Nava Marino  <gnavamar...@apple.com>
 
         When using a TrackDisplayUpdateScope queue updateActiveTextTrackCues as a task

Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp (292587 => 292588)


--- trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -133,7 +133,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.setTextEncodingName(extractCharsetFromMediaType(contentType).toString());
 
     r->m_internalResponse.setHTTPStatusCode(status);
     r->m_internalResponse.setHTTPStatusText(statusText);

Modified: trunk/Source/WebCore/PAL/ChangeLog (292587 => 292588)


--- trunk/Source/WebCore/PAL/ChangeLog	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/PAL/ChangeLog	2022-04-08 02:30:33 UTC (rev 292588)
@@ -1,3 +1,20 @@
+2022-04-07  Chris Dumez  <cdu...@apple.com>
+
+        Add PAL::TextEncoding() constructor that takes in a StringView
+        https://bugs.webkit.org/show_bug.cgi?id=238905
+
+        Reviewed by Darin Adler.
+
+        This allows some call sites to be a bit more efficient.
+
+        * pal/text/TextEncoding.cpp:
+        (PAL::TextEncoding::TextEncoding):
+        * pal/text/TextEncoding.h:
+        (PAL::TextEncoding::TextEncoding):
+        * pal/text/TextEncodingRegistry.cpp:
+        (PAL::atomCanonicalTextEncodingName):
+        * pal/text/TextEncodingRegistry.h:
+
 2022-04-06  Chris Dumez  <cdu...@apple.com>
 
         Start replacing String(const char*) constructor with a String::fromLatin1(const char*) function

Modified: trunk/Source/WebCore/PAL/pal/text/TextEncoding.cpp (292587 => 292588)


--- trunk/Source/WebCore/PAL/pal/text/TextEncoding.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/PAL/pal/text/TextEncoding.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -49,7 +49,7 @@
 {
 }
 
-TextEncoding::TextEncoding(const String& name)
+TextEncoding::TextEncoding(StringView name)
     : m_name(atomCanonicalTextEncodingName(name))
     , m_backslashAsCurrencySymbol(backslashAsCurrencySymbol())
 {

Modified: trunk/Source/WebCore/PAL/pal/text/TextEncoding.h (292587 => 292588)


--- trunk/Source/WebCore/PAL/pal/text/TextEncoding.h	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/PAL/pal/text/TextEncoding.h	2022-04-08 02:30:33 UTC (rev 292588)
@@ -37,8 +37,13 @@
 public:
     TextEncoding() = default;
     PAL_EXPORT TextEncoding(const char* name);
-    PAL_EXPORT TextEncoding(const String& name);
+    PAL_EXPORT TextEncoding(StringView name);
 
+    TextEncoding(const String& name)
+        : TextEncoding(StringView { name })
+    {
+    }
+
     bool isValid() const { return m_name; }
     const char* name() const { return m_name; }
     PAL_EXPORT const char* domName() const; // name exposed via DOM

Modified: trunk/Source/WebCore/PAL/pal/text/TextEncodingRegistry.cpp (292587 => 292588)


--- trunk/Source/WebCore/PAL/pal/text/TextEncodingRegistry.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/PAL/pal/text/TextEncodingRegistry.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -292,7 +292,7 @@
     return atomCanonicalTextEncodingName(buffer);
 }
 
-const char* atomCanonicalTextEncodingName(const String& alias)
+const char* atomCanonicalTextEncodingName(StringView alias)
 {
     if (alias.isEmpty() || !alias.isAllASCII())
         return nullptr;

Modified: trunk/Source/WebCore/PAL/pal/text/TextEncodingRegistry.h (292587 => 292588)


--- trunk/Source/WebCore/PAL/pal/text/TextEncodingRegistry.h	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/PAL/pal/text/TextEncodingRegistry.h	2022-04-08 02:30:33 UTC (rev 292588)
@@ -43,7 +43,7 @@
 
 // Only TextEncoding should use the following functions directly.
 const char* atomCanonicalTextEncodingName(const char* alias);
-const char* atomCanonicalTextEncodingName(const String&);
+const char* atomCanonicalTextEncodingName(StringView);
 bool noExtendedTextEncodingNameUsed();
 bool isJapaneseEncoding(const char* canonicalEncodingName);
 bool shouldShowBackslashAsCurrencySymbolIn(const char* canonicalEncodingName);

Modified: trunk/Source/WebCore/fileapi/FileReaderLoader.cpp (292587 => 292588)


--- trunk/Source/WebCore/fileapi/FileReaderLoader.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/fileapi/FileReaderLoader.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -362,7 +362,7 @@
     return m_bytesLoaded == m_totalBytes;
 }
 
-void FileReaderLoader::setEncoding(const String& encoding)
+void FileReaderLoader::setEncoding(StringView encoding)
 {
     if (!encoding.isEmpty())
         m_encoding = PAL::TextEncoding(encoding);

Modified: trunk/Source/WebCore/fileapi/FileReaderLoader.h (292587 => 292588)


--- trunk/Source/WebCore/fileapi/FileReaderLoader.h	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/fileapi/FileReaderLoader.h	2022-04-08 02:30:33 UTC (rev 292588)
@@ -82,7 +82,7 @@
     unsigned totalBytes() const { return m_totalBytes; }
     std::optional<ExceptionCode> errorCode() const { return m_errorCode; }
 
-    void setEncoding(const String&);
+    void setEncoding(StringView);
     void setDataType(const String& dataType) { m_dataType = dataType; }
 
     const URL& url() { return m_urlForReading; }

Modified: trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp (292587 => 292588)


--- trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -121,7 +121,7 @@
     }
 
     if (mode == Charset || (mode == Pragma && gotPragma))
-        return PAL::TextEncoding(stripLeadingAndTrailingHTMLSpaces(charset.toStringWithoutCopying()));
+        return PAL::TextEncoding(charset.stripLeadingAndTrailingMatchedCharacters(isHTMLSpace<UChar>));
 
     return PAL::TextEncoding();
 }

Modified: trunk/Source/WebCore/loader/FormSubmission.cpp (292587 => 292588)


--- trunk/Source/WebCore/loader/FormSubmission.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/loader/FormSubmission.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -158,7 +158,7 @@
     String normalizedAcceptCharset = acceptCharset;
     normalizedAcceptCharset.replace(',', ' ');
 
-    for (auto& charset : normalizedAcceptCharset.split(' ')) {
+    for (auto charset : StringView { normalizedAcceptCharset }.split(' ')) {
         PAL::TextEncoding encoding(charset);
         if (encoding.isValid())
             return encoding;

Modified: trunk/Source/WebCore/loader/soup/ResourceLoaderSoup.cpp (292587 => 292588)


--- trunk/Source/WebCore/loader/soup/ResourceLoaderSoup.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/loader/soup/ResourceLoaderSoup.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -65,7 +65,7 @@
         GUniquePtr<char> fileName(g_path_get_basename(url.path().utf8().data()));
         GUniquePtr<char> contentType(g_content_type_guess(fileName.get(), data, dataSize, nullptr));
         String contentTypeString { contentType.get() };
-        ResourceResponse response { url, extractMIMETypeFromMediaType(contentTypeString), static_cast<long long>(dataSize), extractCharsetFromMediaType(contentTypeString) };
+        ResourceResponse response { url, extractMIMETypeFromMediaType(contentTypeString), static_cast<long long>(dataSize), extractCharsetFromMediaType(contentTypeString).toString() };
         response.setHTTPStatusCode(200);
         response.setHTTPStatusText("OK"_s);
         response.setHTTPHeaderField(HTTPHeaderName::ContentType, contentTypeString);

Modified: trunk/Source/WebCore/platform/network/HTTPParsers.cpp (292587 => 292588)


--- trunk/Source/WebCore/platform/network/HTTPParsers.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -394,7 +394,7 @@
     return mediaType.substring(typeStart, typeEnd - typeStart);
 }
 
-String extractCharsetFromMediaType(const String& mediaType)
+StringView extractCharsetFromMediaType(StringView mediaType)
 {
     unsigned charsetPos = 0, charsetLen = 0;
     size_t pos = 0;
@@ -408,7 +408,7 @@
         }
 
         // is what we found a beginning of a word?
-        if (mediaType[pos-1] > ' ' && mediaType[pos-1] != ';') {
+        if (mediaType[pos - 1] > ' ' && mediaType[pos - 1] != ';') {
             pos += 7;
             continue;
         }
@@ -416,18 +416,21 @@
         pos += 7;
 
         // skip whitespace
-        while (pos != length && mediaType[pos] <= ' ')
+        while (pos < length && mediaType[pos] <= ' ')
             ++pos;
 
+        if (pos >= length)
+            break;
+
         if (mediaType[pos++] != '=') // this "charset" substring wasn't a parameter name, but there may be others
             continue;
 
-        while (pos != length && (mediaType[pos] <= ' ' || mediaType[pos] == '"' || mediaType[pos] == '\''))
+        while (pos < length && (mediaType[pos] <= ' ' || mediaType[pos] == '"' || mediaType[pos] == '\''))
             ++pos;
 
         // we don't handle spaces within quoted parameter values, because charset names cannot have any
         unsigned endpos = pos;
-        while (pos != length && mediaType[endpos] > ' ' && mediaType[endpos] != '"' && mediaType[endpos] != '\'' && mediaType[endpos] != ';')
+        while (endpos < length && mediaType[endpos] > ' ' && mediaType[endpos] != '"' && mediaType[endpos] != '\'' && mediaType[endpos] != ';')
             ++endpos;
 
         charsetPos = pos;

Modified: trunk/Source/WebCore/platform/network/HTTPParsers.h (292587 => 292588)


--- trunk/Source/WebCore/platform/network/HTTPParsers.h	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.h	2022-04-08 02:30:33 UTC (rev 292588)
@@ -81,7 +81,7 @@
 std::optional<WallTime> parseHTTPDate(const String&);
 String filenameFromHTTPContentDisposition(StringView);
 WEBCORE_EXPORT String extractMIMETypeFromMediaType(const String&);
-String extractCharsetFromMediaType(const String&);
+StringView extractCharsetFromMediaType(StringView);
 XSSProtectionDisposition parseXSSProtectionHeader(const String& header, String& failureReason, unsigned& failurePosition, String& reportURL);
 AtomString extractReasonPhraseFromHTTPStatusLine(const String&);
 WEBCORE_EXPORT XFrameOptionsDisposition parseXFrameOptionsHeader(StringView);

Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (292587 => 292588)


--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -118,7 +118,7 @@
     response.setURL(data.url);
     response.setMimeType(data.mimeType);
     response.setExpectedContentLength(data.expectedContentLength);
-    response.setTextEncodingName(data.textEncodingName);
+    response.setTextEncodingName(WTFMove(data.textEncodingName));
 
     response.setHTTPStatusCode(data.httpStatusCode);
     response.setHTTPStatusText(data.httpStatusText);
@@ -273,13 +273,13 @@
     return m_textEncodingName;
 }
 
-void ResourceResponseBase::setTextEncodingName(const String& encodingName)
+void ResourceResponseBase::setTextEncodingName(String&& encodingName)
 {
     lazyInit(CommonFieldsOnly);
     m_isNull = false;
 
     // FIXME: Text encoding is determined by HTTP Content-Type header. We should update the header, so that it doesn't disagree with m_textEncodingName.
-    m_textEncodingName = encodingName;
+    m_textEncodingName = WTFMove(encodingName);
 
     // FIXME: Should invalidate or update platform response if present.
 }

Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.h (292587 => 292588)


--- trunk/Source/WebCore/platform/network/ResourceResponseBase.h	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.h	2022-04-08 02:30:33 UTC (rev 292588)
@@ -100,7 +100,7 @@
     WEBCORE_EXPORT void setExpectedContentLength(long long expectedContentLength);
 
     WEBCORE_EXPORT const String& textEncodingName() const;
-    WEBCORE_EXPORT void setTextEncodingName(const String& name);
+    WEBCORE_EXPORT void setTextEncodingName(String&&);
 
     WEBCORE_EXPORT int httpStatusCode() const;
     WEBCORE_EXPORT void setHTTPStatusCode(int);

Modified: trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp (292587 => 292588)


--- trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -199,7 +199,7 @@
     response.setExpectedContentLength(contentLength); // -1 on parse error or null
 
     response.setMimeType(extractMIMETypeFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType)));
-    response.setTextEncodingName(extractCharsetFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType)));
+    response.setTextEncodingName(extractCharsetFromMediaType(response.httpHeaderField(HTTPHeaderName::ContentType)).toString());
 }
 
 void CurlCacheEntry::didFail()

Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp (292587 => 292588)


--- trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -538,7 +538,7 @@
         mediaType = "text/plain"_s;
 
     String mimeType = extractMIMETypeFromMediaType(mediaType);
-    String charset = extractCharsetFromMediaType(mediaType);
+    StringView charset = extractCharsetFromMediaType(mediaType);
 
     if (charset.isEmpty())
         charset = "US-ASCII"_s;
@@ -545,7 +545,7 @@
 
     ResourceResponse response;
     response.setMimeType(mimeType);
-    response.setTextEncodingName(charset);
+    response.setTextEncodingName(charset.toString());
     response.setURL(d->m_firstRequest.url());
 
     if (base64) {

Modified: trunk/Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp (292587 => 292588)


--- trunk/Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -103,7 +103,7 @@
     }
 
     setMimeType(extractMIMETypeFromMediaType(httpHeaderField(HTTPHeaderName::ContentType)).convertToASCIILowercase());
-    setTextEncodingName(extractCharsetFromMediaType(httpHeaderField(HTTPHeaderName::ContentType)));
+    setTextEncodingName(extractCharsetFromMediaType(httpHeaderField(HTTPHeaderName::ContentType)).toString());
     setSource(ResourceResponse::Source::Network);
 }
 

Modified: trunk/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp (292587 => 292588)


--- trunk/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -72,7 +72,7 @@
     setMimeType(extractMIMETypeFromMediaType(contentType));
     if (m_mimeType.isEmpty() && m_httpStatusCode != SOUP_STATUS_NOT_MODIFIED)
         setMimeType(MIMETypeRegistry::mimeTypeForPath(m_url.path().toString()));
-    setTextEncodingName(extractCharsetFromMediaType(contentType));
+    setTextEncodingName(extractCharsetFromMediaType(contentType).toString());
 
     setExpectedContentLength(soup_message_headers_get_content_length(responseHeaders));
 }

Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (292587 => 292588)


--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -994,9 +994,9 @@
 // https://xhr.spec.whatwg.org/#final-charset
 PAL::TextEncoding XMLHttpRequest::finalResponseCharset() const
 {
-    String label = m_responseEncoding;
+    StringView label = m_responseEncoding;
 
-    String overrideResponseCharset = extractCharsetFromMediaType(m_mimeTypeOverride);
+    StringView overrideResponseCharset = extractCharsetFromMediaType(label);
     if (!overrideResponseCharset.isEmpty())
         label = overrideResponseCharset;
 
@@ -1046,7 +1046,7 @@
         changeState(HEADERS_RECEIVED);
 
     if (!m_mimeTypeOverride.isEmpty())
-        m_responseEncoding = extractCharsetFromMediaType(m_mimeTypeOverride);
+        m_responseEncoding = extractCharsetFromMediaType(m_mimeTypeOverride).toString();
     if (m_responseEncoding.isEmpty())
         m_responseEncoding = m_response.textEncodingName();
 

Modified: trunk/Source/WebKit/ChangeLog (292587 => 292588)


--- trunk/Source/WebKit/ChangeLog	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebKit/ChangeLog	2022-04-08 02:30:33 UTC (rev 292588)
@@ -1,5 +1,20 @@
 2022-04-07  Chris Dumez  <cdu...@apple.com>
 
+        Add PAL::TextEncoding() constructor that takes in a StringView
+        https://bugs.webkit.org/show_bug.cgi?id=238905
+
+        Reviewed by Darin Adler.
+
+        This allows some call sites to be a bit more efficient.
+
+        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+        (WebKit::NetworkDataTaskSoup::didRequestNextPart):
+        (WebKit::NetworkDataTaskSoup::didGetFileInfo):
+        * UIProcess/API/glib/WebKitURISchemeRequest.cpp:
+        (webkitURISchemeRequestReadCallback):
+
+2022-04-07  Chris Dumez  <cdu...@apple.com>
+
         Replace deprecated String(const char*) with String::fromLatin1() in more places
         https://bugs.webkit.org/show_bug.cgi?id=238925
 

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp (292587 => 292588)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -1129,7 +1129,7 @@
     auto* headers = soup_multipart_input_stream_get_headers(m_multipartInputStream.get());
     String contentType { soup_message_headers_get_one(headers, "Content-Type") };
     m_response = ResourceResponse(m_firstRequest.url(), extractMIMETypeFromMediaType(contentType),
-        soup_message_headers_get_content_length(headers), extractCharsetFromMediaType(contentType));
+        soup_message_headers_get_content_length(headers), extractCharsetFromMediaType(contentType).toString());
     m_response.updateFromSoupMessageHeaders(headers);
     dispatchDidReceiveResponse();
 }
@@ -1693,7 +1693,7 @@
     } else {
         String contentType { g_file_info_get_content_type(info) };
         m_response.setMimeType(extractMIMETypeFromMediaType(contentType));
-        m_response.setTextEncodingName(extractCharsetFromMediaType(contentType));
+        m_response.setTextEncodingName(extractCharsetFromMediaType(contentType).toString());
         if (m_response.mimeType().isEmpty())
             m_response.setMimeType(MIMETypeRegistry::mimeTypeForPath(m_response.url().path().toString()));
         m_response.setExpectedContentLength(g_file_info_get_size(info));

Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp (292587 => 292588)


--- trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp	2022-04-08 02:21:13 UTC (rev 292587)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp	2022-04-08 02:30:33 UTC (rev 292588)
@@ -224,7 +224,7 @@
     if (!priv->bytesRead) {
         String contentType { webKitURISchemeResponseGetContentType(resp).data() };
         ResourceResponse response(priv->task->request().url(), extractMIMETypeFromMediaType(contentType), webKitURISchemeResponseGetStreamLength(resp), emptyString());
-        response.setTextEncodingName(extractCharsetFromMediaType(contentType));
+        response.setTextEncodingName(extractCharsetFromMediaType(contentType).toString());
         const CString& statusMessage = webKitURISchemeResponseGetStatusMessage(resp);
         if (statusMessage.isNull()) {
             response.setHTTPStatusCode(200);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to