COMMIT_MESSAGE

 12009-05-06 Adam Barth <abarth@webkit.org>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 Hook MIME sniffer into network stack. The sniffer still doesn't
 6 do anything yet.
 7
 8 * GNUmakefile.am:
 9 * WebCore.pro:
 10 * WebCore.vcproj/WebCore.vcproj:
 11 * WebCore.xcodeproj/project.pbxproj:
 12 * WebCoreSources.bkl:
 13 * platform/network/MIMESnifferResourceHandleClient.cpp: Added.
 14 (WebCore::MIMESnifferResourceHandleClient::MIMESnifferResourceHandleClient):
 15 (WebCore::MIMESnifferResourceHandleClient::willSendRequest):
 16 (WebCore::MIMESnifferResourceHandleClient::didSendData):
 17 (WebCore::MIMESnifferResourceHandleClient::didReceiveResponse):
 18 (WebCore::MIMESnifferResourceHandleClient::didReceiveData):
 19 (WebCore::MIMESnifferResourceHandleClient::didFinishLoading):
 20 (WebCore::MIMESnifferResourceHandleClient::didFail):
 21 (WebCore::MIMESnifferResourceHandleClient::wasBlocked):
 22 (WebCore::MIMESnifferResourceHandleClient::cannotShowURL):
 23 (WebCore::MIMESnifferResourceHandleClient::willCacheResponse):
 24 (WebCore::MIMESnifferResourceHandleClient::shouldUseCredentialStorage):
 25 (WebCore::MIMESnifferResourceHandleClient::didReceiveAuthenticationChallenge):
 26 (WebCore::MIMESnifferResourceHandleClient::didCancelAuthenticationChallenge):
 27 (WebCore::MIMESnifferResourceHandleClient::receivedCancellation):
 28 (WebCore::MIMESnifferResourceHandleClient::willStopBufferingData):
 29 (WebCore::MIMESnifferResourceHandleClient::shouldCacheResponse):
 30 * platform/network/MIMESnifferResourceHandleClient.h: Added.
 31 (WebCore::MIMESnifferResourceHandleClient::client):
 32 (WebCore::MIMESnifferResourceHandleClient::setClient):
 33 * platform/network/ResourceHandle.cpp:
 34 (WebCore::ResourceHandle::clearMIMESniffer):
 35 (WebCore::ResourceHandle::setClient):
 36 * platform/network/ResourceHandle.h:
 37 * platform/network/ResourceHandleInternal.h:
 38 (WebCore::ResourceHandleInternal::ResourceHandleInternal):

WebCore/ChangeLog

22
33 Reviewed by NOBODY (OOPS!).
44
 5 Hook MIME sniffer into network stack. The sniffer still doesn't
 6 do anything yet.
 7
 8 * GNUmakefile.am:
 9 * WebCore.pro:
 10 * WebCore.vcproj/WebCore.vcproj:
 11 * WebCore.xcodeproj/project.pbxproj:
 12 * WebCoreSources.bkl:
 13 * platform/network/MIMESnifferResourceHandleClient.cpp: Added.
 14 (WebCore::MIMESnifferResourceHandleClient::MIMESnifferResourceHandleClient):
 15 (WebCore::MIMESnifferResourceHandleClient::willSendRequest):
 16 (WebCore::MIMESnifferResourceHandleClient::didSendData):
 17 (WebCore::MIMESnifferResourceHandleClient::didReceiveResponse):
 18 (WebCore::MIMESnifferResourceHandleClient::didReceiveData):
 19 (WebCore::MIMESnifferResourceHandleClient::didFinishLoading):
 20 (WebCore::MIMESnifferResourceHandleClient::didFail):
 21 (WebCore::MIMESnifferResourceHandleClient::wasBlocked):
 22 (WebCore::MIMESnifferResourceHandleClient::cannotShowURL):
 23 (WebCore::MIMESnifferResourceHandleClient::willCacheResponse):
 24 (WebCore::MIMESnifferResourceHandleClient::shouldUseCredentialStorage):
 25 (WebCore::MIMESnifferResourceHandleClient::didReceiveAuthenticationChallenge):
 26 (WebCore::MIMESnifferResourceHandleClient::didCancelAuthenticationChallenge):
 27 (WebCore::MIMESnifferResourceHandleClient::receivedCancellation):
 28 (WebCore::MIMESnifferResourceHandleClient::willStopBufferingData):
 29 (WebCore::MIMESnifferResourceHandleClient::shouldCacheResponse):
 30 * platform/network/MIMESnifferResourceHandleClient.h: Added.
 31 (WebCore::MIMESnifferResourceHandleClient::client):
 32 (WebCore::MIMESnifferResourceHandleClient::setClient):
 33 * platform/network/ResourceHandle.cpp:
 34 (WebCore::ResourceHandle::clearMIMESniffer):
 35 (WebCore::ResourceHandle::setClient):
 36 * platform/network/ResourceHandle.h:
 37 * platform/network/ResourceHandleInternal.h:
 38 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
 39
 402009-05-06 Adam Barth <abarth@webkit.org>
 41
 42 Reviewed by NOBODY (OOPS!).
 43
544 Added entry points for MIME sniffer.
645
746 * GNUmakefile.am:

WebCore/GNUmakefile.am

@@webcore_sources += \
14571457 WebCore/platform/network/HTTPParsers.h \
14581458 WebCore/platform/network/MIMESniffer.cpp \
14591459 WebCore/platform/network/MIMESniffer.h \
 1460 WebCore/platform/network/MIMESnifferResourceHandleClient.cpp \
 1461 WebCore/platform/network/MIMESnifferResourceHandleClient.h \
14601462 WebCore/platform/network/NetworkStateNotifier.cpp \
14611463 WebCore/platform/network/NetworkStateNotifier.h \
14621464 WebCore/platform/network/ProtectionSpace.cpp \

WebCore/WebCore.pro

@@SOURCES += \
962962 platform/network/HTTPHeaderMap.cpp \
963963 platform/network/HTTPParsers.cpp \
964964 platform/network/MIMESniffer.cpp \
 965 platform/network/MIMESnifferResourceHandleClient.cpp \
965966 platform/network/NetworkStateNotifier.cpp \
966967 platform/network/ProtectionSpace.cpp \
967968 platform/network/ResourceErrorBase.cpp \

WebCore/WebCore.vcproj/WebCore.vcproj

51575157 >
51585158 </File>
51595159 <File
 5160 RelativePath="..\platform\network\MIMESnifferResourceHandleClient.cpp"
 5161 >
 5162 </File>
 5163 <File
 5164 RelativePath="..\platform\network\MIMESnifferResourceHandleClient.h"
 5165 >
 5166 </File>
 5167 <File
51605168 RelativePath="..\platform\network\NetworkStateNotifier.cpp"
51615169 >
51625170 </File>

WebCore/WebCore.xcodeproj/project.pbxproj

21212121 93F9B7A00BA6032600854064 /* JSCDATASection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93F9B79E0BA6032600854064 /* JSCDATASection.cpp */; };
21222122 93F9B7A10BA6032600854064 /* JSCDATASection.h in Headers */ = {isa = PBXBuildFile; fileRef = 93F9B79F0BA6032600854064 /* JSCDATASection.h */; };
21232123 93FDAFCA0B11307400E2746F /* EditorInsertAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FDAFC90B11307400E2746F /* EditorInsertAction.h */; settings = {ATTRIBUTES = (Private, ); }; };
 2124 971C9A280FB2564300218545 /* MIMESnifferResourceHandleClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 971C9A260FB2564300218545 /* MIMESnifferResourceHandleClient.cpp */; };
 2125 971C9A290FB2564300218545 /* MIMESnifferResourceHandleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 971C9A270FB2564300218545 /* MIMESnifferResourceHandleClient.h */; };
21242126 97EAF2C70FB2445E00DB449F /* MIMESniffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97EAF2C50FB2445D00DB449F /* MIMESniffer.cpp */; };
21252127 97EAF2C80FB2445E00DB449F /* MIMESniffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 97EAF2C60FB2445E00DB449F /* MIMESniffer.h */; };
21262128 A17C81220F2A5CF7005DAAEB /* HTMLElementFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */; };

70207022 93F9B79E0BA6032600854064 /* JSCDATASection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCDATASection.cpp; sourceTree = "<group>"; };
70217023 93F9B79F0BA6032600854064 /* JSCDATASection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCDATASection.h; sourceTree = "<group>"; };
70227024 93FDAFC90B11307400E2746F /* EditorInsertAction.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EditorInsertAction.h; sourceTree = "<group>"; };
 7025 971C9A260FB2564300218545 /* MIMESnifferResourceHandleClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MIMESnifferResourceHandleClient.cpp; sourceTree = "<group>"; };
 7026 971C9A270FB2564300218545 /* MIMESnifferResourceHandleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MIMESnifferResourceHandleClient.h; sourceTree = "<group>"; };
70237027 97EAF2C50FB2445D00DB449F /* MIMESniffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MIMESniffer.cpp; sourceTree = "<group>"; };
70247028 97EAF2C60FB2445E00DB449F /* MIMESniffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MIMESniffer.h; sourceTree = "<group>"; };
70257029 A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLElementFactory.cpp; sourceTree = "<group>"; };

1010810112 1A7FA6180DDA3B3A0028F8A5 /* NetworkStateNotifier.h */,
1010910113 97EAF2C50FB2445D00DB449F /* MIMESniffer.cpp */,
1011010114 97EAF2C60FB2445E00DB449F /* MIMESniffer.h */,
 10115 971C9A260FB2564300218545 /* MIMESnifferResourceHandleClient.cpp */,
 10116 971C9A270FB2564300218545 /* MIMESnifferResourceHandleClient.h */,
1011110117 514C765F0CE923A1007EF3CD /* ProtectionSpace.cpp */,
1011210118 514C76600CE923A1007EF3CD /* ProtectionSpace.h */,
1011310119 934F713D0D5A6F2800018D69 /* ResourceErrorBase.cpp */,

1688716893 5D15E3AC0F9E6AC1009E0E3F /* XMLTokenizerScope.h in Headers */,
1688816894 3774ABA50FA21EB400AD7DE9 /* OverlapTestRequestClient.h in Headers */,
1688916895 97EAF2C80FB2445E00DB449F /* MIMESniffer.h in Headers */,
 16896 971C9A290FB2564300218545 /* MIMESnifferResourceHandleClient.h in Headers */,
1689016897 );
1689116898 runOnlyForDeploymentPostprocessing = 0;
1689216899 };

1890518912 7A674BDB0F9EBF4E006CF099 /* PageGroupLoadDeferrer.cpp in Sources */,
1890618913 5D15E3AB0F9E6AC1009E0E3F /* XMLTokenizerScope.cpp in Sources */,
1890718914 97EAF2C70FB2445E00DB449F /* MIMESniffer.cpp in Sources */,
 18915 971C9A280FB2564300218545 /* MIMESnifferResourceHandleClient.cpp in Sources */,
1890818916 );
1890918917 runOnlyForDeploymentPostprocessing = 0;
1891018918 };

WebCore/WebCoreSources.bkl

@@This file contains the list of files needed to build WebCore.
826826 platform/network/FormData.cpp
827827 platform/network/FormDataBuilder.cpp
828828 platform/network/MIMESniffer.cpp
 829 platform/network/MIMESnifferResourceHandleClient.cpp
829830 platform/network/NetworkStateNotifier.cpp
830831 platform/network/ProtectionSpace.cpp
831832 platform/network/ResourceErrorBase.cpp

WebCore/platform/network/MIMESnifferResourceHandleClient.cpp

 1/*
 2 * Copyright (C) 2009 Adam Barth. All rights reserved.
 3 *
 4 * Redistribution and use in source and binary forms, with or without
 5 * modification, are permitted provided that the following conditions
 6 * are met:
 7 * 1. Redistributions of source code must retain the above copyright
 8 * notice, this list of conditions and the following disclaimer.
 9 * 2. Redistributions in binary form must reproduce the above copyright
 10 * notice, this list of conditions and the following disclaimer in the
 11 * documentation and/or other materials provided with the distribution.
 12 *
 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 24 */
 25
 26#include "config.h"
 27#include "MIMESnifferResourceHandleClient.h"
 28
 29#include "MIMESniffer.h"
 30
 31namespace WebCore {
 32
 33MIMESnifferResourceHandleClient::MIMESnifferResourceHandleClient(ResourceHandleClient* client)
 34 : m_client(client)
 35{
 36}
 37
 38void MIMESnifferResourceHandleClient::willSendRequest(ResourceHandle* handle, ResourceRequest& request, const ResourceResponse& response)
 39{
 40 if (m_client)
 41 m_client->willSendRequest(handle, request, response);
 42}
 43
 44void MIMESnifferResourceHandleClient::didSendData(ResourceHandle* handle, unsigned long long bytesSent, unsigned long long totalBytesToBeSent)
 45{
 46 if (m_client)
 47 m_client->didSendData(handle, bytesSent, totalBytesToBeSent);
 48}
 49
 50void MIMESnifferResourceHandleClient::didReceiveResponse(ResourceHandle* handle, const ResourceResponse& response)
 51{
 52 if (m_client)
 53 m_client->didRecieveResponse(handle, response);
 54
 55 if (!shouldSniffMIMEType(response.url(), response.mimeType())) {
 56 handle->clearMIMESniffer();
 57 // WARNING: We are probably deleted at this point.
 58 }
 59}
 60
 61void MIMESnifferResourceHandleClient::didReceiveData(ResourceHandle* handle, const char* data, int length, int lengthReceived)
 62{
 63 if (m_client)
 64 m_client->didReceiveData(handle, data, length, lengthReceived);
 65}
 66
 67void MIMESnifferResourceHandleClient::didFinishLoading(ResourceHandle* handle)
 68{
 69 if (m_client)
 70 m_client->didFinishLoading(handle);
 71}
 72
 73void MIMESnifferResourceHandleClient::didFail(ResourceHandle* handle, const ResourceError& error)
 74{
 75 if (m_client)
 76 m_client->didFail(handle, error);
 77}
 78
 79void MIMESnifferResourceHandleClient::wasBlocked(ResourceHandle* handle)
 80{
 81 if (m_client)
 82 m_client->wasBlocked(handle);
 83}
 84
 85void MIMESnifferResourceHandleClient::cannotShowURL(ResourceHandle* handle)
 86{
 87 if (m_client)
 88 m_client->cannotShowURL(handle);
 89}
 90
 91void MIMESnifferResourceHandleClient::willCacheResponse(ResourceHandle* handle, CacheStoragePolicy& policy)
 92{
 93 if (m_client)
 94 m_client->willCacheResponse(handle, policy);
 95}
 96
 97bool MIMESnifferResourceHandleClient::shouldUseCredentialStorage(ResourceHandle*handle)
 98{
 99 if (m_client)
 100 return m_client->shouldUseCredentialStorage(handle);
 101
 102 return false;
 103}
 104
 105void MIMESnifferResourceHandleClient::didReceiveAuthenticationChallenge(ResourceHandle* handle, const AuthenticationChallenge& challenge)
 106{
 107 if (m_client)
 108 m_client->didReceiveAuthenticationChallenge(handle, challenge);
 109}
 110
 111void MIMESnifferResourceHandleClient::didCancelAuthenticationChallenge(ResourceHandle* handle, const AuthenticationChallenge& challenge)
 112{
 113 if (m_client)
 114 m_client->didCancelAuthenticationChallenge(handle, challenge);
 115}
 116
 117void MIMESnifferResourceHandleClient::receivedCancellation(ResourceHandle* handle, const AuthenticationChallenge& challenge)
 118{
 119 if (m_client)
 120 m_client->receviedCancellation(handle, challenge);
 121}
 122
 123#if PLATFORM(MAC)
 124NSCachedURLResponse* MIMESnifferResourceHandleClient::willCacheResponse(ResourceHandle* handle, NSCachedURLResponse* response)
 125{
 126 if (m_client)
 127 return m_client->willCacheResponse(handle, response);
 128
 129 return response;
 130}
 131
 132void MIMESnifferResourceHandleClient::willStopBufferingData(ResourceHandle* handle, const char* data, int length)
 133{
 134 if (m_client)
 135 m_client->willStopBufferingData(handle, data, length);
 136}
 137#endif
 138
 139#if USE(CFNETWORK)
 140bool MIMESnifferResourceHandleClient::shouldCacheResponse(ResourceHandle*, CFCachedURLResponseRef response)
 141{
 142 if (m_client)
 143 return m_client->shouldCacheResponse(handle, response);
 144
 145 reutrn true;
 146}
 147#endif
 148
 149} // namespace WebCore
 150

WebCore/platform/network/MIMESnifferResourceHandleClient.h

 1/*
 2 * Copyright (C) 2009 Adam Barth. All rights reserved.
 3 *
 4 * Redistribution and use in source and binary forms, with or without
 5 * modification, are permitted provided that the following conditions
 6 * are met:
 7 * 1. Redistributions of source code must retain the above copyright
 8 * notice, this list of conditions and the following disclaimer.
 9 * 2. Redistributions in binary form must reproduce the above copyright
 10 * notice, this list of conditions and the following disclaimer in the
 11 * documentation and/or other materials provided with the distribution.
 12 *
 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 24 */
 25
 26#ifndef MIMESnifferResourceHandleClient_h
 27#define MIMESnifferResourceHandleClient_h
 28
 29#include "ResourceHandleClient.h"
 30
 31namespace WebCore {
 32
 33 class MIMESnifferResourceHandleClient : public ResourceHandleClient {
 34 public:
 35 // This class will forward all events to |client|.
 36 MIMESnifferResourceHandleClient(ResourceHandleClient* client);
 37
 38 ResourceHandleClient* client() const { return m_client; }
 39 void setClient(ResourceHandleClient* client) { m_client = client; }
 40
 41 // ResourceHandleClient methods.
 42 virtual void willSendRequest(ResourceHandle*, ResourceRequest&, const ResourceResponse&);
 43 virtual void didSendData(ResourceHandle*, unsigned long long, unsigned long long);
 44 virtual void didReceiveResponse(ResourceHandle*, const ResourceResponse&);
 45 virtual void didReceiveData(ResourceHandle*, const char*, int, int);
 46 virtual void didFinishLoading(ResourceHandle*);
 47 virtual void didFail(ResourceHandle*, const ResourceError&);
 48 virtual void wasBlocked(ResourceHandle*);
 49 virtual void cannotShowURL(ResourceHandle*);
 50 virtual void willCacheResponse(ResourceHandle*, CacheStoragePolicy&);
 51 virtual bool shouldUseCredentialStorage(ResourceHandle*);
 52 virtual void didReceiveAuthenticationChallenge(ResourceHandle*, const AuthenticationChallenge&);
 53 virtual void didCancelAuthenticationChallenge(ResourceHandle*, const AuthenticationChallenge&);
 54 virtual void receivedCancellation(ResourceHandle*, const AuthenticationChallenge&);
 55#if PLATFORM(MAC)
 56 virtual NSCachedURLResponse* willCacheResponse(ResourceHandle*, NSCachedURLResponse*);
 57 virtual void willStopBufferingData(ResourceHandle*, const char*, int);
 58#endif
 59#if USE(CFNETWORK)
 60 virtual bool shouldCacheResponse(ResourceHandle*, CFCachedURLResponseRef response);
 61#endif
 62
 63 private:
 64 ResourceHandleClient* m_client;
 65 };
 66
 67} // namespace WebCore
 68
 69#endif // MIMESnifferResourceHandleClient_h

WebCore/platform/network/ResourceHandle.cpp

@@void ResourceHandle::fireFailure(Timer<ResourceHandle>*)
8686 ASSERT_NOT_REACHED();
8787}
8888
 89void ResourceHandle::clearMIMESniffer() {
 90 d->m_client = d->m_mimeSniffer->client();
 91 d->m_mimeSniffer = 0;
 92}
 93
8994ResourceHandleClient* ResourceHandle::client() const
9095{
9196 return d->m_client;

@@ResourceHandleClient* ResourceHandle::client() const
9398
9499void ResourceHandle::setClient(ResourceHandleClient* client)
95100{
96  d->m_client = client;
 101 if (d->m_mimeSniffer)
 102 d->m_mimeSniffer->setClient(client);
 103 else
 104 d->m_client = client;
97105}
98106
99107const ResourceRequest& ResourceHandle::request() const

WebCore/platform/network/ResourceHandle.h

@@public:
175175 void clearAuthentication();
176176 void cancel();
177177
 178 void clearMIMESniffer();
 179
178180 // The client may be 0, in which case no callbacks will be made.
179181 ResourceHandleClient* client() const;
180182 void setClient(ResourceHandleClient*);

WebCore/platform/network/ResourceHandleInternal.h

2626#ifndef ResourceHandleInternal_h
2727#define ResourceHandleInternal_h
2828
 29#include "MIMESnifferResourceHandleClient.h"
2930#include "ResourceHandle.h"
3031#include "ResourceRequest.h"
3132#include "AuthenticationChallenge.h"

@@class NSURLConnection;
7374// WebCoreResourceLoaderImp which avoids doing work in dealloc).
7475
7576namespace WebCore {
76  class ResourceHandleClient;
7777
7878 class ResourceHandleInternal : Noncopyable {
7979 public:
8080 ResourceHandleInternal(ResourceHandle* loader, const ResourceRequest& request, ResourceHandleClient* c, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle)
81  : m_client(c)
82  , m_request(request)
 81 : m_request(request)
8382 , status(0)
8483 , m_defersLoading(defersLoading)
8584 , m_shouldContentSniff(shouldContentSniff)

@@namespace WebCore {
133132#endif
134133 , m_failureTimer(loader, &ResourceHandle::fireFailure)
135134 {
 135 m_mimeSniffer = new MIMESnifferResourceHandleClient(c);
 136 m_client = m_mimeSniffer.get();
 137
136138 const KURL& url = m_request.url();
137139 m_user = url.user();
138140 m_pass = url.pass();

@@namespace WebCore {
149151 // Suggested credentials for the current redirection step.
150152 String m_user;
151153 String m_pass;
152 
 154
 155 OwnPtr<MIMESnifferResourceHandleClient> m_mimeSniffer;
 156
153157 int status;
154158
155159 bool m_defersLoading;