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)