Title: [235384] tags/Safari-607.1.3.2/Source/WebKit

Diff

Modified: tags/Safari-607.1.3.2/Source/WebKit/ChangeLog (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/ChangeLog	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/ChangeLog	2018-08-27 17:42:41 UTC (rev 235384)
@@ -1,5 +1,9 @@
 2018-08-27  Babak Shafiei  <bshaf...@apple.com>
 
+        Revert r234985. rdar://problem/43703115
+
+2018-08-27  Babak Shafiei  <bshaf...@apple.com>
+
         Revert r234989. rdar://problem/43703115
 
 2018-08-23  Kocsen Chung  <kocsen_ch...@apple.com>

Modified: tags/Safari-607.1.3.2/Source/WebKit/Shared/LoadParameters.cpp (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/Shared/LoadParameters.cpp	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/Shared/LoadParameters.cpp	2018-08-27 17:42:41 UTC (rev 235384)
@@ -41,6 +41,7 @@
 
     encoder << sandboxExtensionHandle;
     encoder << data;
+    encoder << string;
     encoder << MIMEType;
     encoder << encodingName;
     encoder << baseURLString;
@@ -82,6 +83,9 @@
     if (!decoder.decode(data.data))
         return false;
 
+    if (!decoder.decode(data.string))
+        return false;
+
     if (!decoder.decode(data.MIMEType))
         return false;
 

Modified: tags/Safari-607.1.3.2/Source/WebKit/Shared/LoadParameters.h (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/Shared/LoadParameters.h	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/Shared/LoadParameters.h	2018-08-27 17:42:41 UTC (rev 235384)
@@ -23,7 +23,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#pragma once
+#ifndef LoadParameters_h
+#define LoadParameters_h
 
 #include "DataReference.h"
 #include "SandboxExtension.h"
@@ -52,6 +53,7 @@
     SandboxExtension::Handle sandboxExtensionHandle;
 
     IPC::DataReference data;
+    String string;
     String MIMEType;
     String encodingName;
 
@@ -70,3 +72,5 @@
 };
 
 } // namespace WebKit
+
+#endif // LoadParameters_h

Modified: tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/C/WKPage.cpp (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/C/WKPage.cpp	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/C/WKPage.cpp	2018-08-27 17:42:41 UTC (rev 235384)
@@ -199,24 +199,19 @@
     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);
-    toImpl(pageRef)->loadData(dataFrom(string), mimeType, encodingOf(string), baseURL, toImpl(userDataRef));
+    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));
 }
 
 void WKPageLoadHTMLString(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef)
@@ -231,13 +226,12 @@
 
 void WKPageLoadAlternateHTMLString(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef, WKURLRef unreachableURLRef)
 {
-    WKPageLoadAlternateHTMLStringWithUserData(pageRef, htmlStringRef, baseURLRef, unreachableURLRef, nullptr);
+    toImpl(pageRef)->loadAlternateHTMLString(toWTFString(htmlStringRef), URL(URL(), toWTFString(baseURLRef)), URL(URL(), toWTFString(unreachableURLRef)));
 }
 
 void WKPageLoadAlternateHTMLStringWithUserData(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef, WKURLRef unreachableURLRef, WKTypeRef userDataRef)
 {
-    String string = toWTFString(htmlStringRef);
-    toImpl(pageRef)->loadAlternateHTML(dataFrom(string), encodingOf(string), URL(URL(), toWTFString(baseURLRef)), URL(URL(), toWTFString(unreachableURLRef)), toImpl(userDataRef));
+    toImpl(pageRef)->loadAlternateHTMLString(toWTFString(htmlStringRef), URL(URL(), toWTFString(baseURLRef)), URL(URL(), toWTFString(unreachableURLRef)), toImpl(userDataRef));
 }
 
 void WKPageLoadPlainTextString(WKPageRef pageRef, WKStringRef plainTextStringRef)

Modified: tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm	2018-08-27 17:42:41 UTC (rev 235384)
@@ -159,8 +159,7 @@
 
 - (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL
 {
-    NSData *data = "" dataUsingEncoding:NSUTF8StringEncoding];
-    _page->loadAlternateHTML({ static_cast<const uint8_t*>(data.bytes), data.length }, "UTF-8"_s, baseURL, unreachableURL);
+    _page->loadAlternateHTMLString(string, baseURL, unreachableURL);
 }
 
 - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL

Modified: tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-08-27 17:42:41 UTC (rev 235384)
@@ -4187,8 +4187,7 @@
 
 - (void)_loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL
 {
-    NSData *data = "" dataUsingEncoding:NSUTF8StringEncoding];
-    _page->loadAlternateHTML({ static_cast<const uint8_t*>(data.bytes), data.length }, "UTF-8"_s, baseURL, unreachableURL);
+    _page->loadAlternateHTMLString(string, baseURL, unreachableURL);
 }
 
 - (WKNavigation *)_loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL userData:(id)userData

Modified: tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp	2018-08-27 17:42:41 UTC (rev 235384)
@@ -2606,7 +2606,7 @@
     g_return_if_fail(content);
     g_return_if_fail(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)));
+    getPage(webView).loadAlternateHTMLString(String::fromUTF8(content), URL(URL(), String::fromUTF8(baseURI)), URL(URL(), String::fromUTF8(contentURI)));
 }
 
 /**

Modified: tags/Safari-607.1.3.2/Source/WebKit/UIProcess/WebPageProxy.cpp (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-08-27 17:42:41 UTC (rev 235384)
@@ -1080,7 +1080,7 @@
     return WTFMove(navigation);
 }
 
-void WebPageProxy::loadAlternateHTML(const IPC::DataReference& htmlData, const String& encoding, const WebCore::URL& baseURL, const WebCore::URL& unreachableURL, API::Object* userData, bool forSafeBrowsing)
+void WebPageProxy::loadAlternateHTMLString(const String& htmlString, 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
@@ -1104,9 +1104,7 @@
 
     LoadParameters loadParameters;
     loadParameters.navigationID = 0;
-    loadParameters.data = ""
-    loadParameters.MIMEType = "text/html"_s;
-    loadParameters.encodingName = encoding;
+    loadParameters.string = htmlString;
     loadParameters.baseURLString = baseURL;
     loadParameters.unreachableURLString = unreachableURL;
     loadParameters.provisionalLoadErrorURLString = m_failingProvisionalLoadURL;
@@ -1116,7 +1114,7 @@
 
     m_process->assumeReadAccessToBaseURL(baseURL);
     m_process->assumeReadAccessToBaseURL(unreachableURL);
-    m_process->send(Messages::WebPage::LoadAlternateHTML(loadParameters), m_pageID);
+    m_process->send(Messages::WebPage::LoadAlternateHTMLString(loadParameters), m_pageID);
     m_process->responsivenessTimer().start();
 }
 

Modified: tags/Safari-607.1.3.2/Source/WebKit/UIProcess/WebPageProxy.h (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/UIProcess/WebPageProxy.h	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/UIProcess/WebPageProxy.h	2018-08-27 17:42:41 UTC (rev 235384)
@@ -453,7 +453,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 loadAlternateHTML(const IPC::DataReference&, const String& encoding, const WebCore::URL& baseURL, const WebCore::URL& unreachableURL, API::Object* userData = nullptr, bool forSafeBrowsing = false);
+    void loadAlternateHTMLString(const String& htmlString, 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: tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.cpp (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-08-27 17:42:41 UTC (rev 235384)
@@ -1315,7 +1315,7 @@
     loadDataImpl(loadParameters.navigationID, WTFMove(sharedBuffer), loadParameters.MIMEType, loadParameters.encodingName, baseURL, URL(), loadParameters.userData);
 }
 
-void WebPage::loadAlternateHTML(const LoadParameters& loadParameters)
+void WebPage::loadAlternateHTMLString(const LoadParameters& loadParameters)
 {
     platformDidReceiveLoadParameters(loadParameters);
 
@@ -1322,9 +1322,16 @@
     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);
-    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(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);
+    }
     m_mainFrame->coreFrame()->loader().setProvisionalLoadErrorBeingHandledURL({ });
 }
 

Modified: tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.h (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.h	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.h	2018-08-27 17:42:41 UTC (rev 235384)
@@ -1162,7 +1162,7 @@
     void platformDidReceiveLoadParameters(const LoadParameters&);
     void loadRequest(LoadParameters&&);
     void loadData(LoadParameters&&);
-    void loadAlternateHTML(const LoadParameters&);
+    void loadAlternateHTMLString(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: tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (235383 => 235384)


--- tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2018-08-27 17:42:35 UTC (rev 235383)
+++ tags/Safari-607.1.3.2/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2018-08-27 17:42:41 UTC (rev 235384)
@@ -146,7 +146,7 @@
     LoadURLInFrame(WebCore::URL url, uint64_t frameID)
     LoadRequest(struct WebKit::LoadParameters loadParameters)
     LoadData(struct WebKit::LoadParameters loadParameters)
-    LoadAlternateHTML(struct WebKit::LoadParameters loadParameters)
+    LoadAlternateHTMLString(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