Changeset 203847 in webkit


Ignore:
Timestamp:
Jul 28, 2016 3:21:03 PM (8 years ago)
Author:
andersca@apple.com
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.

Location:
trunk/Source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r203846 r203847  
     12016-07-28  Anders Carlsson  <andersca@apple.com>
     2
     3        Move a Mail.app workaround closer to where it's actually needed
     4        https://bugs.webkit.org/show_bug.cgi?id=160317
     5
     6        Reviewed by Tim Horton.
     7
     8        * loader/FrameLoader.cpp:
     9        (WebCore::FrameLoader::loadArchive):
     10        * platform/network/cf/ResourceRequest.h:
     11        * platform/network/cocoa/ResourceRequestCocoa.mm:
     12        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Deleted.
     13        * platform/network/mac/ResourceRequestMac.mm:
     14        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Deleted.
     15
    1162016-07-28  Chris Dumez  <cdumez@apple.com>
    217
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r203337 r203847  
    912912   
    913913    ResourceRequest request(mainResource->url());
    914 #if PLATFORM(MAC)
    915     request.applyWebArchiveHackForMail();
    916 #endif
    917914
    918915    RefPtr<DocumentLoader> documentLoader = m_client.createDocumentLoader(request, substituteData);
  • trunk/Source/WebCore/platform/network/cf/ResourceRequest.h

    r201623 r203847  
    8484    WEBCORE_EXPORT void updateFromDelegatePreservingOldProperties(const ResourceRequest&);
    8585
    86 #if PLATFORM(MAC)
    87     void applyWebArchiveHackForMail();
    88 #endif
    8986#if PLATFORM(COCOA)
    9087#if USE(CFNETWORK)
  • trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm

    r195450 r203847  
    209209}
    210210
    211 #if !PLATFORM(IOS)
    212 void ResourceRequest::applyWebArchiveHackForMail()
    213 {
    214     // Hack because Mail checks for this property to detect data / archive loads
    215     [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)nsURLRequest(DoNotUpdateHTTPBody)];
    216 }
    217 #endif
    218 
    219211void ResourceRequest::setStorageSession(CFURLStorageSessionRef storageSession)
    220212{
  • trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm

    r175055 r203847  
    5353}
    5454
    55 void ResourceRequest::applyWebArchiveHackForMail()
    56 {
    57     // Hack because Mail checks for this property to detect data / archive loads
    58     _CFURLRequestSetProtocolProperty(cfURLRequest(DoNotUpdateHTTPBody), CFSTR("WebDataRequest"), CFSTR(""));
    59 }
    60 
    6155#endif
    6256
  • trunk/Source/WebKit/mac/ChangeLog

    r203841 r203847  
     12016-07-28  Anders Carlsson  <andersca@apple.com>
     2
     3        Move a Mail.app workaround closer to where it's actually needed
     4        https://bugs.webkit.org/show_bug.cgi?id=160317
     5
     6        Reviewed by Tim Horton.
     7
     8        * WebCoreSupport/WebFrameLoaderClient.mm:
     9        (WebFrameLoaderClient::dispatchWillSendRequest):
     10        * WebView/WebFrame.mm:
     11        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Deleted.
     12
    1132016-07-28  Anders Carlsson  <andersca@apple.com>
    214
  • trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

    r203841 r203847  
    114114#import <WebCore/ResourceHandle.h>
    115115#import <WebCore/ResourceRequest.h>
     116#import <WebCore/RuntimeApplicationChecks.h>
    116117#import <WebCore/ScriptController.h>
    117118#import <WebCore/SharedBuffer.h>
     
    150151#import <WebCore/NSFileManagerSPI.h>
    151152#import <WebCore/QuickLook.h>
    152 #import <WebCore/RuntimeApplicationChecks.h>
    153153#endif
    154154
     
    358358
    359359    NSURLRequest *currentURLRequest = request.nsURLRequest(UpdateHTTPBody);
     360
     361#if PLATFORM(MAC)
     362    if (MacApplication::isAppleMail() && loader->substituteData().isValid()) {
     363        // Mail.app checks for this property to detect data / archive loads.
     364        [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)currentURLRequest];
     365    }
     366#endif
     367
    360368    NSURLRequest *newURLRequest = currentURLRequest;
    361369#if PLATFORM(IOS)
  • trunk/Source/WebKit/mac/WebView/WebFrame.mm

    r203085 r203847  
    25262526    ResourceRequest request(baseURL);
    25272527
    2528 #if PLATFORM(MAC)
    2529     // hack because Mail checks for this property to detect data / archive loads
    2530     [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)request.nsURLRequest(UpdateHTTPBody)];
    2531 #endif
    2532 
    25332528    ResourceResponse response(responseURL, MIMEType, [data length], encodingName);
    25342529    SubstituteData substituteData(WebCore::SharedBuffer::wrapNSData(data), [unreachableURL absoluteURL], response, SubstituteData::SessionHistoryVisibility::Hidden);
Note: See TracChangeset for help on using the changeset viewer.