- roll out the fix for 4040321, since it is still pending CCC review.
authorvicki <vicki@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2005 23:50:14 +0000 (23:50 +0000)
committervicki <vicki@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2005 23:50:14 +0000 (23:50 +0000)
commit22381317696beddfbda140d8c43336e3128fe396
tree4c0d51cf0e72ddf6fcba8b4880a0f9028c801eea
parentad8e623925c4b5d49e5d0bd834bc10a8a3166362
- roll out the fix for 4040321, since it is still pending CCC review.

    2005-03-10  Richard Williamson   <rjw@apple.com>

        Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance

        Reviewed by Darin.

        If a delegate returns a mutated applewebdata: request in it's willSendRequest:
        method, we don't load using the WebDataRequest.  Instead we do a normal load.
        Unfortunately, if the request they return is mutated *copy* of the applewebdata:
        request it will hold the applewebdata: special properties.  These properties
        will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
        request, by removing the special properties from the request.

        Note that we had to dig into the private guts of NSURLRequest because there is
        no public mechanism to remove properties from a request, see 4046775.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
        * WebView.subproj/WebDataProtocol.h:
        * WebView.subproj/WebDataProtocol.m:
        (-[NSURLRequest _webDataRequestExternalRequest]):
        (-[NSURLRequest _webDataRequestSanitize]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/ChangeLog
WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
WebKit/WebView.subproj/WebDataProtocol.h
WebKit/WebView.subproj/WebDataProtocol.m
WebKit/WebView.subproj/WebLoader.m