Title: [235058] releases/WebKitGTK/webkit-2.22/Source/WebKit
Revision
235058
Author
carlo...@webkit.org
Date
2018-08-20 05:53:04 -0700 (Mon, 20 Aug 2018)

Log Message

Merge r234985 - Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML
https://bugs.webkit.org/show_bug.cgi?id=188679

Reviewed by Carlos Garcia Campos.

* Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
* Shared/LoadParameters.h:
* UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
(loadString):
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadAlternateHTMLString): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/ChangeLog (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/ChangeLog	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/ChangeLog	2018-08-20 12:53:04 UTC (rev 235058)
@@ -1,3 +1,31 @@
+2018-08-17  Alex Christensen  <achristen...@webkit.org>
+
+        Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML
+        https://bugs.webkit.org/show_bug.cgi?id=188679
+
+        Reviewed by Carlos Garcia Campos.
+
+        * Shared/LoadParameters.cpp:
+        (WebKit::LoadParameters::encode const):
+        (WebKit::LoadParameters::decode):
+        * Shared/LoadParameters.h:
+        * UIProcess/API/C/WKPage.cpp:
+        (encodingOf):
+        (dataFrom):
+        (loadString):
+        (WKPageLoadAlternateHTMLString):
+        (WKPageLoadAlternateHTMLStringWithUserData):
+        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
+        (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::loadAlternateHTML):
+        (WebKit::WebPageProxy::loadAlternateHTMLString): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::loadAlternateHTMLString):
+
 2018-08-16  Sihui Liu  <sihui_...@apple.com>
 
         Remove unused parentProcessName from NetworkProcessCreationParameters

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/LoadParameters.cpp (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/LoadParameters.cpp	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/LoadParameters.cpp	2018-08-20 12:53:04 UTC (rev 235058)
@@ -41,7 +41,6 @@
 
     encoder << sandboxExtensionHandle;
     encoder << data;
-    encoder << string;
     encoder << MIMEType;
     encoder << encodingName;
     encoder << baseURLString;
@@ -82,9 +81,6 @@
     if (!decoder.decode(data.data))
         return false;
 
-    if (!decoder.decode(data.string))
-        return false;
-
     if (!decoder.decode(data.MIMEType))
         return false;
 

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/LoadParameters.h (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/LoadParameters.h	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/LoadParameters.h	2018-08-20 12:53:04 UTC (rev 235058)
@@ -23,8 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LoadParameters_h
-#define LoadParameters_h
+#pragma once
 
 #include "DataReference.h"
 #include "SandboxExtension.h"
@@ -53,7 +52,6 @@
     SandboxExtension::Handle sandboxExtensionHandle;
 
     IPC::DataReference data;
-    String string;
     String MIMEType;
     String encodingName;
 
@@ -71,5 +69,3 @@
 };
 
 } // namespace WebKit
-
-#endif // LoadParameters_h

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/C/WKPage.cpp (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/C/WKPage.cpp	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/C/WKPage.cpp	2018-08-20 12:53:04 UTC (rev 235058)
@@ -199,19 +199,24 @@
     toImpl(pageRef)->loadData(toImpl(dataRef)->dataReference(), toWTFString(MIMETypeRef), toWTFString(encodingRef), toWTFString(baseURLRef), toImpl(userDataRef));
 }
 
+static String encodingOf(const String& string)
+{
+    if (string.isNull() || string.is8Bit())
+        "latin1"_s;
+    return "utf-16"_s;
+}
+
+static IPC::DataReference dataFrom(const String& string)
+{
+    if (string.isNull() || string.is8Bit())
+        return { reinterpret_cast<const uint8_t*>(string.characters8()), string.length() * sizeof(LChar) };
+    return { reinterpret_cast<const uint8_t*>(string.characters16()), string.length() * sizeof(UChar) };
+}
+
 static void loadString(WKPageRef pageRef, WKStringRef stringRef, const String& mimeType, const String& baseURL, WKTypeRef userDataRef)
 {
     String string = toWTFString(stringRef);
-    String encoding;
-    IPC::DataReference data;
-    if (string.isNull() || string.is8Bit()) {
-        encoding = "latin1"_s;
-        data = { reinterpret_cast<const uint8_t*>(string.characters8()), string.length() * sizeof(LChar) };
-    } else {
-        encoding = "utf-16"_s;
-        data = { reinterpret_cast<const uint8_t*>(string.characters16()), string.length() * sizeof(UChar) };
-    }
-    toImpl(pageRef)->loadData(data, mimeType, encoding, baseURL, toImpl(userDataRef));
+    toImpl(pageRef)->loadData(dataFrom(string), mimeType, encodingOf(string), baseURL, toImpl(userDataRef));
 }
 
 void WKPageLoadHTMLString(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef)
@@ -226,12 +231,13 @@
 
 void WKPageLoadAlternateHTMLString(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef, WKURLRef unreachableURLRef)
 {
-    toImpl(pageRef)->loadAlternateHTMLString(toWTFString(htmlStringRef), URL(URL(), toWTFString(baseURLRef)), URL(URL(), toWTFString(unreachableURLRef)));
+    WKPageLoadAlternateHTMLStringWithUserData(pageRef, htmlStringRef, baseURLRef, unreachableURLRef, nullptr);
 }
 
 void WKPageLoadAlternateHTMLStringWithUserData(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef, WKURLRef unreachableURLRef, WKTypeRef userDataRef)
 {
-    toImpl(pageRef)->loadAlternateHTMLString(toWTFString(htmlStringRef), URL(URL(), toWTFString(baseURLRef)), URL(URL(), toWTFString(unreachableURLRef)), toImpl(userDataRef));
+    String string = toWTFString(htmlStringRef);
+    toImpl(pageRef)->loadAlternateHTML(dataFrom(string), encodingOf(string), URL(URL(), toWTFString(baseURLRef)), URL(URL(), toWTFString(unreachableURLRef)), toImpl(userDataRef));
 }
 
 void WKPageLoadPlainTextString(WKPageRef pageRef, WKStringRef plainTextStringRef)

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm	2018-08-20 12:53:04 UTC (rev 235058)
@@ -159,7 +159,8 @@
 
 - (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL
 {
-    _page->loadAlternateHTMLString(string, baseURL, unreachableURL);
+    NSData *data = "" dataUsingEncoding:NSUTF8StringEncoding];
+    _page->loadAlternateHTML({ static_cast<const uint8_t*>(data.bytes), data.length }, "UTF-8"_s, baseURL, unreachableURL);
 }
 
 - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-08-20 12:53:04 UTC (rev 235058)
@@ -4232,7 +4232,8 @@
 
 - (void)_loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL
 {
-    _page->loadAlternateHTMLString(string, baseURL, unreachableURL);
+    NSData *data = "" dataUsingEncoding:NSUTF8StringEncoding];
+    _page->loadAlternateHTML({ static_cast<const uint8_t*>(data.bytes), data.length }, "UTF-8"_s, baseURL, unreachableURL);
 }
 
 - (WKNavigation *)_loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL userData:(id)userData

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp	2018-08-20 12:53:04 UTC (rev 235058)
@@ -2606,7 +2606,7 @@
     g_return_if_fail(content);
     g_return_if_fail(contentURI);
 
-    getPage(webView).loadAlternateHTMLString(String::fromUTF8(content), URL(URL(), String::fromUTF8(baseURI)), URL(URL(), String::fromUTF8(contentURI)));
+    getPage(webView).loadAlternateHTML({ reinterpret_cast<const uint8_t*>(content), content ? strlen(content) : 0 }, "UTF-8"_s, URL(URL(), String::fromUTF8(baseURI)), URL(URL(), String::fromUTF8(contentURI)));
 }
 
 /**

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/WebPageProxy.cpp (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-08-20 12:53:04 UTC (rev 235058)
@@ -1079,7 +1079,7 @@
     return WTFMove(navigation);
 }
 
-void WebPageProxy::loadAlternateHTMLString(const String& htmlString, const WebCore::URL& baseURL, const WebCore::URL& unreachableURL, API::Object* userData)
+void WebPageProxy::loadAlternateHTML(const IPC::DataReference& htmlData, const String& encoding, const WebCore::URL& baseURL, const WebCore::URL& unreachableURL, API::Object* userData)
 {
     // When the UIProcess is in the process of handling a failing provisional load, do not attempt to
     // start a second alternative HTML load as this will prevent the page load state from being
@@ -1103,7 +1103,9 @@
 
     LoadParameters loadParameters;
     loadParameters.navigationID = 0;
-    loadParameters.string = htmlString;
+    loadParameters.data = ""
+    loadParameters.MIMEType = "text/html"_s;
+    loadParameters.encodingName = encoding;
     loadParameters.baseURLString = baseURL;
     loadParameters.unreachableURLString = unreachableURL;
     loadParameters.provisionalLoadErrorURLString = m_failingProvisionalLoadURL;
@@ -1112,7 +1114,7 @@
 
     m_process->assumeReadAccessToBaseURL(baseURL);
     m_process->assumeReadAccessToBaseURL(unreachableURL);
-    m_process->send(Messages::WebPage::LoadAlternateHTMLString(loadParameters), m_pageID);
+    m_process->send(Messages::WebPage::LoadAlternateHTML(loadParameters), m_pageID);
     m_process->responsivenessTimer().start();
 }
 

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/WebPageProxy.h (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/WebPageProxy.h	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/UIProcess/WebPageProxy.h	2018-08-20 12:53:04 UTC (rev 235058)
@@ -457,7 +457,7 @@
     RefPtr<API::Navigation> loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemes, API::Object* userData = nullptr);
     RefPtr<API::Navigation> loadFile(const String& fileURL, const String& resourceDirectoryURL, API::Object* userData = nullptr);
     RefPtr<API::Navigation> loadData(const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData = nullptr);
-    void loadAlternateHTMLString(const String& htmlString, const WebCore::URL& baseURL, const WebCore::URL& unreachableURL, API::Object* userData = nullptr);
+    void loadAlternateHTML(const IPC::DataReference&, const String& encoding, const WebCore::URL& baseURL, const WebCore::URL& unreachableURL, API::Object* userData = nullptr);
     void loadWebArchiveData(API::Data*, API::Object* userData = nullptr);
     void navigateToPDFLinkWithSimulatedClick(const String& url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint);
 

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.cpp (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-08-20 12:53:04 UTC (rev 235058)
@@ -1312,7 +1312,7 @@
     loadDataImpl(loadParameters.navigationID, WTFMove(sharedBuffer), loadParameters.MIMEType, loadParameters.encodingName, baseURL, URL(), loadParameters.userData);
 }
 
-void WebPage::loadAlternateHTMLString(const LoadParameters& loadParameters)
+void WebPage::loadAlternateHTML(const LoadParameters& loadParameters)
 {
     platformDidReceiveLoadParameters(loadParameters);
 
@@ -1319,16 +1319,9 @@
     URL baseURL = loadParameters.baseURLString.isEmpty() ? blankURL() : URL(URL(), loadParameters.baseURLString);
     URL unreachableURL = loadParameters.unreachableURLString.isEmpty() ? URL() : URL(URL(), loadParameters.unreachableURLString);
     URL provisionalLoadErrorURL = loadParameters.provisionalLoadErrorURLString.isEmpty() ? URL() : URL(URL(), loadParameters.provisionalLoadErrorURLString);
-    m_mainFrame->coreFrame()->loader().setProvisionalLoadErrorBeingHandledURL(provisionalLoadErrorURL);
-    
-    const String& htmlString = loadParameters.string;
-    if (!htmlString.isNull() && htmlString.is8Bit()) {
-        auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters8()), htmlString.length() * sizeof(LChar));
-        loadDataImpl(0, WTFMove(sharedBuffer), "text/html"_s, "latin1"_s, baseURL, unreachableURL, loadParameters.userData);
-    } else {
-        auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters16()), htmlString.length() * sizeof(UChar));
-        loadDataImpl(0, WTFMove(sharedBuffer), "text/html"_s, "utf-16"_s, baseURL, unreachableURL, loadParameters.userData);
-    }
+    auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(loadParameters.data.data()), loadParameters.data.size());
+    m_mainFrame->coreFrame()->loader().setProvisionalLoadErrorBeingHandledURL(provisionalLoadErrorURL);    
+    loadDataImpl(loadParameters.navigationID, WTFMove(sharedBuffer), loadParameters.MIMEType, loadParameters.encodingName, baseURL, unreachableURL, loadParameters.userData);
     m_mainFrame->coreFrame()->loader().setProvisionalLoadErrorBeingHandledURL({ });
 }
 

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.h (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.h	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.h	2018-08-20 12:53:04 UTC (rev 235058)
@@ -1161,7 +1161,7 @@
     void platformDidReceiveLoadParameters(const LoadParameters&);
     void loadRequest(LoadParameters&&);
     void loadData(LoadParameters&&);
-    void loadAlternateHTMLString(const LoadParameters&);
+    void loadAlternateHTML(const LoadParameters&);
     void navigateToPDFLinkWithSimulatedClick(const String& url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint);
     void reload(uint64_t navigationID, uint32_t reloadOptions, SandboxExtension::Handle&&);
     void goToBackForwardItem(uint64_t navigationID, const WebCore::BackForwardItemIdentifier&, WebCore::FrameLoadType, WebCore::ShouldTreatAsContinuingLoad);

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (235057 => 235058)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2018-08-20 12:52:54 UTC (rev 235057)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2018-08-20 12:53:04 UTC (rev 235058)
@@ -146,7 +146,7 @@
     LoadURLInFrame(WebCore::URL url, uint64_t frameID)
     LoadRequest(struct WebKit::LoadParameters loadParameters)
     LoadData(struct WebKit::LoadParameters loadParameters)
-    LoadAlternateHTMLString(struct WebKit::LoadParameters loadParameters)
+    LoadAlternateHTML(struct WebKit::LoadParameters loadParameters)
 
     NavigateToPDFLinkWithSimulatedClick(String url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint)
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to