Diff
Modified: trunk/Source/WebKit/CMakeLists.txt (225357 => 225358)
--- trunk/Source/WebKit/CMakeLists.txt 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/CMakeLists.txt 2017-11-30 23:16:19 UTC (rev 225358)
@@ -184,6 +184,7 @@
Shared/SharedStringHashTableReadOnly.cpp
Shared/SharedStringHashTable.cpp
Shared/StatisticsData.cpp
+ Shared/URLSchemeTaskParameters.cpp
Shared/UpdateInfo.cpp
Shared/UserData.cpp
Shared/WebBackForwardListItem.cpp
Modified: trunk/Source/WebKit/ChangeLog (225357 => 225358)
--- trunk/Source/WebKit/ChangeLog 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/ChangeLog 2017-11-30 23:16:19 UTC (rev 225358)
@@ -1,3 +1,31 @@
+2017-11-30 Alex Christensen <achristen...@webkit.org>
+
+ WKURLSchemeHandler.request should include HTTPBody
+ https://bugs.webkit.org/show_bug.cgi?id=180220
+
+ Reviewed by Brady Eidson.
+
+ * Shared/URLSchemeTaskParameters.cpp: Added.
+ (WebKit::URLSchemeTaskParameters::encode const):
+ (WebKit::URLSchemeTaskParameters::decode):
+ * Shared/URLSchemeTaskParameters.h: Added.
+ * UIProcess/API/Cocoa/WKURLSchemeTask.mm:
+ (-[WKURLSchemeTaskImpl request]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::startURLSchemeTask):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebURLSchemeHandler.cpp:
+ (WebKit::WebURLSchemeHandler::startTask):
+ * UIProcess/WebURLSchemeHandler.h:
+ * UIProcess/WebURLSchemeTask.cpp:
+ (WebKit::WebURLSchemeTask::create):
+ (WebKit::WebURLSchemeTask::WebURLSchemeTask):
+ * UIProcess/WebURLSchemeTask.h:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
+ (WebKit::WebURLSchemeTaskProxy::startLoading):
+
2017-11-30 Darin Adler <da...@apple.com>
[Mac] remove unneeded RetainPtr use introduced in r225142
Added: trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp (0 => 225358)
--- trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp (rev 0)
+++ trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp 2017-11-30 23:16:19 UTC (rev 225358)
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "URLSchemeTaskParameters.h"
+
+#include "Decoder.h"
+#include "Encoder.h"
+#include "WebCoreArgumentCoders.h"
+
+namespace WebKit {
+
+void URLSchemeTaskParameters::encode(IPC::Encoder& encoder) const
+{
+ encoder << handlerIdentifier;
+ encoder << taskIdentifier;
+ encoder << request;
+ if (request.httpBody()) {
+ encoder << true;
+ request.httpBody()->encode(encoder);
+ } else
+ encoder << false;
+}
+
+std::optional<URLSchemeTaskParameters> URLSchemeTaskParameters::decode(IPC::Decoder& decoder)
+{
+ std::optional<uint64_t> handlerIdentifier;
+ decoder >> handlerIdentifier;
+ if (!handlerIdentifier)
+ return std::nullopt;
+
+ std::optional<uint64_t> taskIdentifier;
+ decoder >> taskIdentifier;
+ if (!taskIdentifier)
+ return std::nullopt;
+
+ WebCore::ResourceRequest request;
+ if (!decoder.decode(request))
+ return std::nullopt;
+
+ std::optional<bool> hasHTTPBody;
+ decoder >> hasHTTPBody;
+ if (!hasHTTPBody)
+ return std::nullopt;
+ if (*hasHTTPBody) {
+ RefPtr<WebCore::FormData> formData = WebCore::FormData::decode(decoder);
+ if (!formData)
+ return std::nullopt;
+ request.setHTTPBody(WTFMove(formData));
+ }
+
+ return {{ WTFMove(*handlerIdentifier), WTFMove(*taskIdentifier), WTFMove(request) }};
+}
+
+} // namespace WebKit
Added: trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h (0 => 225358)
--- trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h (rev 0)
+++ trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h 2017-11-30 23:16:19 UTC (rev 225358)
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <WebCore/ResourceRequest.h>
+
+namespace IPC {
+class Encoder;
+class Decoder;
+}
+
+namespace WebKit {
+
+struct URLSchemeTaskParameters {
+ uint64_t handlerIdentifier { 0 };
+ uint64_t taskIdentifier { 0 };
+ WebCore::ResourceRequest request;
+
+ void encode(IPC::Encoder&) const;
+ static std::optional<URLSchemeTaskParameters> decode(IPC::Decoder&);
+};
+
+} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.mm (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.mm 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.mm 2017-11-30 23:16:19 UTC (rev 225358)
@@ -71,7 +71,7 @@
- (NSURLRequest *)request
{
- return _urlSchemeTask->task().request().nsURLRequest(DoNotUpdateHTTPBody);
+ return _urlSchemeTask->task().request().nsURLRequest(UpdateHTTPBody);
}
- (void)didReceiveResponse:(NSURLResponse *)response
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2017-11-30 23:16:19 UTC (rev 225358)
@@ -76,6 +76,7 @@
#include "PrintInfo.h"
#include "TextChecker.h"
#include "TextCheckerState.h"
+#include "URLSchemeTaskParameters.h"
#include "UserMediaPermissionRequestProxy.h"
#include "UserMediaProcessManager.h"
#include "WKContextPrivate.h"
@@ -7124,12 +7125,12 @@
return m_urlSchemeHandlersByScheme.get(scheme);
}
-void WebPageProxy::startURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceRequest& request)
+void WebPageProxy::startURLSchemeTask(URLSchemeTaskParameters&& parameters)
{
- auto iterator = m_urlSchemeHandlersByIdentifier.find(handlerIdentifier);
+ auto iterator = m_urlSchemeHandlersByIdentifier.find(parameters.handlerIdentifier);
MESSAGE_CHECK(iterator != m_urlSchemeHandlersByIdentifier.end());
- iterator->value->startTask(*this, taskIdentifier, request);
+ iterator->value->startTask(*this, parameters.taskIdentifier, WTFMove(parameters.request));
}
void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2017-11-30 23:16:19 UTC (rev 225358)
@@ -233,6 +233,7 @@
struct PlatformPopupMenuData;
struct PrintInfo;
struct WebPopupItem;
+struct URLSchemeTaskParameters;
#if USE(QUICK_LOOK)
class QuickLookDocumentData;
@@ -1636,7 +1637,7 @@
#endif
#endif
- void startURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceRequest&);
+ void startURLSchemeTask(URLSchemeTaskParameters&&);
void stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier);
void handleAutoFillButtonClick(const UserData&);
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2017-11-30 23:16:19 UTC (rev 225358)
@@ -498,7 +498,7 @@
SetIsUsingHighPerformanceWebGL(bool isUsingHighPerformanceWebGL)
- StartURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceRequest request)
+ StartURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters)
StopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
RequestStorageAccess(String subFrameHost, String topFrameHost, uint64_t contextID)
Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp 2017-11-30 23:16:19 UTC (rev 225358)
@@ -49,9 +49,9 @@
ASSERT(m_tasks.isEmpty());
}
-void WebURLSchemeHandler::startTask(WebPageProxy& page, uint64_t taskIdentifier, const ResourceRequest& request)
+void WebURLSchemeHandler::startTask(WebPageProxy& page, uint64_t taskIdentifier, ResourceRequest&& request)
{
- auto result = m_tasks.add(taskIdentifier, WebURLSchemeTask::create(*this, page, taskIdentifier, request));
+ auto result = m_tasks.add(taskIdentifier, WebURLSchemeTask::create(*this, page, taskIdentifier, WTFMove(request)));
ASSERT(result.isNewEntry);
auto pageEntry = m_tasksByPageIdentifier.add(page.pageID(), HashSet<uint64_t>());
Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h 2017-11-30 23:16:19 UTC (rev 225358)
@@ -46,7 +46,7 @@
uint64_t identifier() const { return m_identifier; }
- void startTask(WebPageProxy&, uint64_t taskIdentifier, const WebCore::ResourceRequest&);
+ void startTask(WebPageProxy&, uint64_t taskIdentifier, WebCore::ResourceRequest&&);
void stopTask(WebPageProxy&, uint64_t taskIdentifier);
void stopAllTasksForPage(WebPageProxy&);
void taskCompleted(WebURLSchemeTask&);
Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeTask.cpp (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebURLSchemeTask.cpp 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeTask.cpp 2017-11-30 23:16:19 UTC (rev 225358)
@@ -35,17 +35,17 @@
namespace WebKit {
-Ref<WebURLSchemeTask> WebURLSchemeTask::create(WebURLSchemeHandler& handler, WebPageProxy& page, uint64_t resourceIdentifier, const ResourceRequest& request)
+Ref<WebURLSchemeTask> WebURLSchemeTask::create(WebURLSchemeHandler& handler, WebPageProxy& page, uint64_t resourceIdentifier, ResourceRequest&& request)
{
- return adoptRef(*new WebURLSchemeTask(handler, page, resourceIdentifier, request));
+ return adoptRef(*new WebURLSchemeTask(handler, page, resourceIdentifier, WTFMove(request)));
}
-WebURLSchemeTask::WebURLSchemeTask(WebURLSchemeHandler& handler, WebPageProxy& page, uint64_t resourceIdentifier, const ResourceRequest& request)
+WebURLSchemeTask::WebURLSchemeTask(WebURLSchemeHandler& handler, WebPageProxy& page, uint64_t resourceIdentifier, ResourceRequest&& request)
: m_urlSchemeHandler(handler)
, m_page(&page)
, m_identifier(resourceIdentifier)
, m_pageIdentifier(page.pageID())
- , m_request(request)
+ , m_request(WTFMove(request))
{
}
Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h (225357 => 225358)
--- trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h 2017-11-30 23:16:19 UTC (rev 225358)
@@ -44,7 +44,7 @@
class WebURLSchemeTask : public RefCounted<WebURLSchemeTask>, public InstanceCounted<WebURLSchemeTask> {
WTF_MAKE_NONCOPYABLE(WebURLSchemeTask);
public:
- static Ref<WebURLSchemeTask> create(WebURLSchemeHandler&, WebPageProxy&, uint64_t identifier, const WebCore::ResourceRequest&);
+ static Ref<WebURLSchemeTask> create(WebURLSchemeHandler&, WebPageProxy&, uint64_t identifier, WebCore::ResourceRequest&&);
uint64_t identifier() const { return m_identifier; }
uint64_t pageID() const { return m_pageIdentifier; }
@@ -68,7 +68,7 @@
void pageDestroyed();
private:
- WebURLSchemeTask(WebURLSchemeHandler&, WebPageProxy&, uint64_t identifier, const WebCore::ResourceRequest&);
+ WebURLSchemeTask(WebURLSchemeHandler&, WebPageProxy&, uint64_t identifier, WebCore::ResourceRequest&&);
Ref<WebURLSchemeHandler> m_urlSchemeHandler;
WebPageProxy* m_page;
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (225357 => 225358)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2017-11-30 23:16:19 UTC (rev 225358)
@@ -1196,6 +1196,8 @@
5C1427131C23F89E00D41183 /* DownloadCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C1427091C23F86900D41183 /* DownloadCocoa.mm */; };
5C1427181C23F8B700D41183 /* LegacyCustomProtocolManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C1427141C23F8B000D41183 /* LegacyCustomProtocolManager.h */; };
5C14271D1C23F8CF00D41183 /* LegacyCustomProtocolManagerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C14271B1C23F8CC00D41183 /* LegacyCustomProtocolManagerCocoa.mm */; };
+ 5C19A5201FD0B29500EEA323 /* URLSchemeTaskParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C19A51F1FD0B14700EEA323 /* URLSchemeTaskParameters.h */; };
+ 5C19A5211FD0B29A00EEA323 /* URLSchemeTaskParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C19A51E1FD0B14600EEA323 /* URLSchemeTaskParameters.cpp */; };
5C20CB9D1BB0DCFA00895BB1 /* NetworkSessionCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C20CB9B1BB0DCD200895BB1 /* NetworkSessionCocoa.mm */; };
5C20CBA01BB1ECD800895BB1 /* NetworkSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C20CB9E1BB0DD1800895BB1 /* NetworkSession.h */; };
5C298DA01C3DF02100470AFE /* PendingDownload.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C298D9E1C3DEF2900470AFE /* PendingDownload.h */; };
@@ -3574,6 +3576,8 @@
5C1427141C23F8B000D41183 /* LegacyCustomProtocolManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LegacyCustomProtocolManager.h; path = NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h; sourceTree = "<group>"; };
5C1427151C23F8B000D41183 /* LegacyCustomProtocolManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LegacyCustomProtocolManager.messages.in; path = NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.messages.in; sourceTree = "<group>"; };
5C14271B1C23F8CC00D41183 /* LegacyCustomProtocolManagerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = LegacyCustomProtocolManagerCocoa.mm; path = NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm; sourceTree = "<group>"; };
+ 5C19A51E1FD0B14600EEA323 /* URLSchemeTaskParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = URLSchemeTaskParameters.cpp; sourceTree = "<group>"; };
+ 5C19A51F1FD0B14700EEA323 /* URLSchemeTaskParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = URLSchemeTaskParameters.h; sourceTree = "<group>"; };
5C20CB9B1BB0DCD200895BB1 /* NetworkSessionCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NetworkSessionCocoa.mm; path = NetworkProcess/cocoa/NetworkSessionCocoa.mm; sourceTree = "<group>"; };
5C20CB9E1BB0DD1800895BB1 /* NetworkSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkSession.h; path = NetworkProcess/NetworkSession.h; sourceTree = "<group>"; };
5C298D9E1C3DEF2900470AFE /* PendingDownload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PendingDownload.h; path = NetworkProcess/Downloads/PendingDownload.h; sourceTree = "<group>"; };
@@ -5124,6 +5128,8 @@
1A5E4DA312D3BD3D0099A2BB /* TextCheckerState.h */,
1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */,
1A64245C12DE29A100CAAE2C /* UpdateInfo.h */,
+ 5C19A51E1FD0B14600EEA323 /* URLSchemeTaskParameters.cpp */,
+ 5C19A51F1FD0B14700EEA323 /* URLSchemeTaskParameters.h */,
1AC1336518565B5700F3EC05 /* UserData.cpp */,
1AC1336618565B5700F3EC05 /* UserData.h */,
2684054A18B866FF0022C38B /* VisibleContentRectUpdateInfo.cpp */,
@@ -8934,6 +8940,7 @@
515BE1A91D55293400DD7C68 /* UIGamepadProvider.h in Headers */,
CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */,
1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */,
+ 5C19A5201FD0B29500EEA323 /* URLSchemeTaskParameters.h in Headers */,
1AC1336818565B5700F3EC05 /* UserData.h in Headers */,
CD491B081E70D05F00009066 /* UserMediaCaptureManager.h in Headers */,
CD491B0E1E732E4D00009066 /* UserMediaCaptureManagerMessages.h in Headers */,
@@ -10543,6 +10550,7 @@
51E949971D76211300EC9EB9 /* UIGamepadProviderIOS.mm in Sources */,
515BE1B71D5A94FD00DD7C68 /* UIGamepadProviderMac.mm in Sources */,
1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */,
+ 5C19A5211FD0B29A00EEA323 /* URLSchemeTaskParameters.cpp in Sources */,
1AC1336718565B5700F3EC05 /* UserData.cpp in Sources */,
CD491B071E70D05F00009066 /* UserMediaCaptureManager.cpp in Sources */,
CD491B0D1E732E4D00009066 /* UserMediaCaptureManagerMessageReceiver.cpp in Sources */,
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp (225357 => 225358)
--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp 2017-11-30 23:16:19 UTC (rev 225358)
@@ -26,6 +26,7 @@
#include "config.h"
#include "WebURLSchemeTaskProxy.h"
+#include "URLSchemeTaskParameters.h"
#include "WebCoreArgumentCoders.h"
#include "WebPage.h"
#include "WebPageProxyMessages.h"
@@ -51,7 +52,7 @@
void WebURLSchemeTaskProxy::startLoading()
{
ASSERT(m_coreLoader);
- m_urlSchemeHandler.page().send(Messages::WebPageProxy::StartURLSchemeTask(m_urlSchemeHandler.identifier(), m_coreLoader->identifier(), m_request));
+ m_urlSchemeHandler.page().send(Messages::WebPageProxy::StartURLSchemeTask({m_urlSchemeHandler.identifier(), m_coreLoader->identifier(), m_request}));
}
void WebURLSchemeTaskProxy::stopLoading()
Modified: trunk/Tools/ChangeLog (225357 => 225358)
--- trunk/Tools/ChangeLog 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Tools/ChangeLog 2017-11-30 23:16:19 UTC (rev 225358)
@@ -1,3 +1,13 @@
+2017-11-30 Alex Christensen <achristen...@webkit.org>
+
+ WKURLSchemeHandler.request should include HTTPBody
+ https://bugs.webkit.org/show_bug.cgi?id=180220
+
+ Reviewed by Brady Eidson.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
+ (-[FormSubmissionDelegate webView:startURLSchemeTask:]):
+
2017-11-30 Carlos Alberto Lopez Perez <clo...@igalia.com>
Add a script for automatically running the buildbot configurations on a test environment.
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm (225357 => 225358)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm 2017-11-30 23:10:26 UTC (rev 225357)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm 2017-11-30 23:16:19 UTC (rev 225358)
@@ -45,7 +45,9 @@
{
EXPECT_TRUE(willSubmitFormValuesCalled);
EXPECT_STREQ(task.request.URL.absoluteString.UTF8String, "test:///formtarget");
- EXPECT_NULL(task.request.HTTPBody);
+ EXPECT_NOT_NULL(task.request.HTTPBody);
+ EXPECT_EQ(task.request.HTTPBody.length, 62u);
+ EXPECT_STREQ(static_cast<const char*>(task.request.HTTPBody.bytes), "testname1=testvalue1&testname2=testvalue2&testname3=testvalue3");
done = true;
}