Diff
Modified: trunk/Source/WebCore/ChangeLog (203846 => 203847)
--- trunk/Source/WebCore/ChangeLog 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebCore/ChangeLog 2016-07-28 22:21:03 UTC (rev 203847)
@@ -1,3 +1,18 @@
+2016-07-28 Anders Carlsson <[email protected]>
+
+ Move a Mail.app workaround closer to where it's actually needed
+ https://bugs.webkit.org/show_bug.cgi?id=160317
+
+ Reviewed by Tim Horton.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadArchive):
+ * platform/network/cf/ResourceRequest.h:
+ * platform/network/cocoa/ResourceRequestCocoa.mm:
+ (WebCore::ResourceRequest::applyWebArchiveHackForMail): Deleted.
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::applyWebArchiveHackForMail): Deleted.
+
2016-07-28 Chris Dumez <[email protected]>
2 first parameters to window.postMessage() should be mandatory
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (203846 => 203847)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2016-07-28 22:21:03 UTC (rev 203847)
@@ -911,9 +911,6 @@
SubstituteData substituteData(&mainResource->data(), URL(), response, SubstituteData::SessionHistoryVisibility::Hidden);
ResourceRequest request(mainResource->url());
-#if PLATFORM(MAC)
- request.applyWebArchiveHackForMail();
-#endif
RefPtr<DocumentLoader> documentLoader = m_client.createDocumentLoader(request, substituteData);
documentLoader->setArchive(archive.get());
Modified: trunk/Source/WebCore/platform/network/cf/ResourceRequest.h (203846 => 203847)
--- trunk/Source/WebCore/platform/network/cf/ResourceRequest.h 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebCore/platform/network/cf/ResourceRequest.h 2016-07-28 22:21:03 UTC (rev 203847)
@@ -83,9 +83,6 @@
WEBCORE_EXPORT void updateFromDelegatePreservingOldProperties(const ResourceRequest&);
-#if PLATFORM(MAC)
- void applyWebArchiveHackForMail();
-#endif
#if PLATFORM(COCOA)
#if USE(CFNETWORK)
bool encodingRequiresPlatformData() const { return m_httpBody || m_cfRequest; }
Modified: trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm (203846 => 203847)
--- trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm 2016-07-28 22:21:03 UTC (rev 203847)
@@ -208,14 +208,6 @@
m_nsRequest = adoptNS(nsRequest);
}
-#if !PLATFORM(IOS)
-void ResourceRequest::applyWebArchiveHackForMail()
-{
- // Hack because Mail checks for this property to detect data / archive loads
- [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)nsURLRequest(DoNotUpdateHTTPBody)];
-}
-#endif
-
void ResourceRequest::setStorageSession(CFURLStorageSessionRef storageSession)
{
updatePlatformRequest();
Modified: trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm (203846 => 203847)
--- trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm 2016-07-28 22:21:03 UTC (rev 203847)
@@ -52,12 +52,6 @@
m_nsRequest = adoptNS([[NSURLRequest alloc] _initWithCFURLRequest:m_cfRequest.get()]);
}
-void ResourceRequest::applyWebArchiveHackForMail()
-{
- // Hack because Mail checks for this property to detect data / archive loads
- _CFURLRequestSetProtocolProperty(cfURLRequest(DoNotUpdateHTTPBody), CFSTR("WebDataRequest"), CFSTR(""));
-}
-
#endif
} // namespace WebCore
Modified: trunk/Source/WebKit/mac/ChangeLog (203846 => 203847)
--- trunk/Source/WebKit/mac/ChangeLog 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebKit/mac/ChangeLog 2016-07-28 22:21:03 UTC (rev 203847)
@@ -1,5 +1,17 @@
2016-07-28 Anders Carlsson <[email protected]>
+ Move a Mail.app workaround closer to where it's actually needed
+ https://bugs.webkit.org/show_bug.cgi?id=160317
+
+ Reviewed by Tim Horton.
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::dispatchWillSendRequest):
+ * WebView/WebFrame.mm:
+ (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Deleted.
+
+2016-07-28 Anders Carlsson <[email protected]>
+
Use a RetainPtr in WebFrameLoaderClient::assignIdentifierToInitialRequest
https://bugs.webkit.org/show_bug.cgi?id=160315
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (203846 => 203847)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm 2016-07-28 22:21:03 UTC (rev 203847)
@@ -113,6 +113,7 @@
#import <WebCore/ResourceError.h>
#import <WebCore/ResourceHandle.h>
#import <WebCore/ResourceRequest.h>
+#import <WebCore/RuntimeApplicationChecks.h>
#import <WebCore/ScriptController.h>
#import <WebCore/SharedBuffer.h>
#import <WebCore/SubresourceLoader.h>
@@ -149,7 +150,6 @@
#import <WebCore/FileSystemIOS.h>
#import <WebCore/NSFileManagerSPI.h>
#import <WebCore/QuickLook.h>
-#import <WebCore/RuntimeApplicationChecks.h>
#endif
#if HAVE(APP_LINKS)
@@ -357,6 +357,14 @@
static_cast<WebDocumentLoaderMac*>(loader)->increaseLoadCount(identifier);
NSURLRequest *currentURLRequest = request.nsURLRequest(UpdateHTTPBody);
+
+#if PLATFORM(MAC)
+ if (MacApplication::isAppleMail() && loader->substituteData().isValid()) {
+ // Mail.app checks for this property to detect data / archive loads.
+ [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)currentURLRequest];
+ }
+#endif
+
NSURLRequest *newURLRequest = currentURLRequest;
#if PLATFORM(IOS)
if (implementations->webThreadWillSendRequestFunc) {
Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (203846 => 203847)
--- trunk/Source/WebKit/mac/WebView/WebFrame.mm 2016-07-28 22:17:49 UTC (rev 203846)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm 2016-07-28 22:21:03 UTC (rev 203847)
@@ -2525,11 +2525,6 @@
ResourceRequest request(baseURL);
-#if PLATFORM(MAC)
- // hack because Mail checks for this property to detect data / archive loads
- [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)request.nsURLRequest(UpdateHTTPBody)];
-#endif
-
ResourceResponse response(responseURL, MIMEType, [data length], encodingName);
SubstituteData substituteData(WebCore::SharedBuffer::wrapNSData(data), [unreachableURL absoluteURL], response, SubstituteData::SessionHistoryVisibility::Hidden);