Title: [203847] trunk/Source
Revision
203847
Author
[email protected]
Date
2016-07-28 15:21:03 -0700 (Thu, 28 Jul 2016)

Log Message

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.

Source/WebCore:

* 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.

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Deleted.

Modified Paths

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);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to