Title: [164280] releases/WebKitGTK/webkit-2.2/Source/WebKit2
Revision
164280
Author
carlo...@webkit.org
Date
2014-02-18 03:10:27 -0800 (Tue, 18 Feb 2014)

Log Message

[GTK] webkit_web_view_load_html reads UTF8 css files as UTF16
https://bugs.webkit.org/show_bug.cgi?id=127481

Patch by Sami Wagiaalla <swagi...@redhat.com> on 2014-02-18
Reviewed by Carlos Garcia Campos.

Partial merge of r160572.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadString):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
* WebProcess/WebPage/WebPage.h:

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog (164279 => 164280)


--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog	2014-02-18 10:22:21 UTC (rev 164279)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/ChangeLog	2014-02-18 11:10:27 UTC (rev 164280)
@@ -1,3 +1,20 @@
+2014-02-18  Sami Wagiaalla  <swagi...@redhat.com>
+
+        [GTK] webkit_web_view_load_html reads UTF8 css files as UTF16
+        https://bugs.webkit.org/show_bug.cgi?id=127481
+
+        Reviewed by Carlos Garcia Campos.
+
+        Partial merge of r160572.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::loadString):
+        (WebKit::WebPage::loadHTMLString):
+        (WebKit::WebPage::loadAlternateHTMLString):
+        (WebKit::WebPage::loadPlainTextString):
+        (WebKit::WebPage::loadWebArchiveData):
+        * WebProcess/WebPage/WebPage.h:
+
 2014-01-27  Carlos Garcia Campos  <cgar...@igalia.com>
 
         [SOUP] WebProcess sometimes crashes when a download is cancelled

Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (164279 => 164280)


--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-02-18 10:22:21 UTC (rev 164279)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-02-18 11:10:27 UTC (rev 164280)
@@ -941,6 +941,17 @@
     m_mainFrame->coreFrame()->loader().load(FrameLoadRequest(m_mainFrame->coreFrame(), request, substituteData));
 }
 
+void WebPage::loadString(const String& htmlString, const String& MIMEType, const KURL& baseURL, const KURL& unreachableURL, CoreIPC::MessageDecoder& decoder)
+{
+    if (htmlString.is8Bit()) {
+        RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters8()), htmlString.length() * sizeof(LChar));
+        loadDataImpl(sharedBuffer, MIMEType, ASCIILiteral("utf-8"), baseURL, unreachableURL, decoder);
+    } else {
+        RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters16()), htmlString.length() * sizeof(UChar));
+        loadDataImpl(sharedBuffer, MIMEType, ASCIILiteral("utf-16"), baseURL, unreachableURL, decoder);
+    }
+}
+
 void WebPage::loadData(const CoreIPC::DataReference& data, const String& MIMEType, const String& encodingName, const String& baseURLString, CoreIPC::MessageDecoder& decoder)
 {
     RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(data.data()), data.size());
@@ -950,29 +961,26 @@
 
 void WebPage::loadHTMLString(const String& htmlString, const String& baseURLString, CoreIPC::MessageDecoder& decoder)
 {
-    RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters()), htmlString.length() * sizeof(UChar));
     KURL baseURL = baseURLString.isEmpty() ? blankURL() : KURL(KURL(), baseURLString);
-    loadDataImpl(sharedBuffer, "text/html", "utf-16", baseURL, KURL(), decoder);
+    loadString(htmlString, ASCIILiteral("text/html"), baseURL, KURL(), decoder);
 }
 
 void WebPage::loadAlternateHTMLString(const String& htmlString, const String& baseURLString, const String& unreachableURLString, CoreIPC::MessageDecoder& decoder)
 {
-    RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters()), htmlString.length() * sizeof(UChar));
     KURL baseURL = baseURLString.isEmpty() ? blankURL() : KURL(KURL(), baseURLString);
     KURL unreachableURL = unreachableURLString.isEmpty() ? KURL() : KURL(KURL(), unreachableURLString);
-    loadDataImpl(sharedBuffer, "text/html", "utf-16", baseURL, unreachableURL, decoder);
+    loadString(htmlString, ASCIILiteral("text/html"), baseURL, unreachableURL, decoder); 
 }
 
 void WebPage::loadPlainTextString(const String& string, CoreIPC::MessageDecoder& decoder)
 {
-    RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(string.characters()), string.length() * sizeof(UChar));
-    loadDataImpl(sharedBuffer, "text/plain", "utf-16", blankURL(), KURL(), decoder);
+    loadString(string, ASCIILiteral("text/plain"), blankURL(), KURL(), decoder);
 }
 
 void WebPage::loadWebArchiveData(const CoreIPC::DataReference& webArchiveData, CoreIPC::MessageDecoder& decoder)
 {
     RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(webArchiveData.data()), webArchiveData.size() * sizeof(uint8_t));
-    loadDataImpl(sharedBuffer, "application/x-webarchive", "utf-16", blankURL(), KURL(), decoder);
+    loadDataImpl(sharedBuffer, ASCIILiteral("application/x-webarchive"), ASCIILiteral("utf-16"), blankURL(), KURL(), decoder);
 }
 
 void WebPage::linkClicked(const String& url, const WebMouseEvent& event)

Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit2/WebProcess/WebPage/WebPage.h (164279 => 164280)


--- releases/WebKitGTK/webkit-2.2/Source/WebKit2/WebProcess/WebPage/WebPage.h	2014-02-18 10:22:21 UTC (rev 164279)
+++ releases/WebKitGTK/webkit-2.2/Source/WebKit2/WebProcess/WebPage/WebPage.h	2014-02-18 11:10:27 UTC (rev 164280)
@@ -700,6 +700,7 @@
     void loadPlainTextString(const String&, CoreIPC::MessageDecoder&);
     void loadWebArchiveData(const CoreIPC::DataReference&, CoreIPC::MessageDecoder&);
     void linkClicked(const String& url, const WebMouseEvent&);
+    void loadString(const String&, const String& MIMEType, const WebCore::KURL& baseURL, const WebCore::KURL& failingURL, CoreIPC::MessageDecoder&);
     void reload(bool reloadFromOrigin, const SandboxExtension::Handle&);
     void goForward(uint64_t);
     void goBack(uint64_t);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to