| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 | 50 |
| 51 void FrameFetchContext::reportLocalLoadFailed(const KURL& url) | 51 void FrameFetchContext::reportLocalLoadFailed(const KURL& url) |
| 52 { | 52 { |
| 53 FrameLoader::reportLocalLoadFailed(m_frame, url.elidedString()); | 53 FrameLoader::reportLocalLoadFailed(m_frame, url.elidedString()); |
| 54 } | 54 } |
| 55 | 55 |
| 56 void FrameFetchContext::addAdditionalRequestHeaders(Document& document, Resource
Request& request, Resource::Type type) | 56 void FrameFetchContext::addAdditionalRequestHeaders(Document& document, Resource
Request& request, Resource::Type type) |
| 57 { | 57 { |
| 58 bool isMainResource = type == Resource::MainResource; | 58 bool isMainResource = type == Resource::MainResource; |
| 59 | 59 |
| 60 FrameLoader* frameLoader = m_frame->loader(); | 60 FrameLoader& frameLoader = m_frame->loader(); |
| 61 | 61 |
| 62 if (!isMainResource) { | 62 if (!isMainResource) { |
| 63 String outgoingReferrer; | 63 String outgoingReferrer; |
| 64 String outgoingOrigin; | 64 String outgoingOrigin; |
| 65 if (request.httpReferrer().isNull()) { | 65 if (request.httpReferrer().isNull()) { |
| 66 outgoingReferrer = frameLoader->outgoingReferrer(); | 66 outgoingReferrer = frameLoader.outgoingReferrer(); |
| 67 outgoingOrigin = frameLoader->outgoingOrigin(); | 67 outgoingOrigin = frameLoader.outgoingOrigin(); |
| 68 } else { | 68 } else { |
| 69 outgoingReferrer = request.httpReferrer(); | 69 outgoingReferrer = request.httpReferrer(); |
| 70 outgoingOrigin = SecurityOrigin::createFromString(outgoingReferrer)-
>toString(); | 70 outgoingOrigin = SecurityOrigin::createFromString(outgoingReferrer)-
>toString(); |
| 71 } | 71 } |
| 72 | 72 |
| 73 outgoingReferrer = SecurityPolicy::generateReferrerHeader(document.refer
rerPolicy(), request.url(), outgoingReferrer); | 73 outgoingReferrer = SecurityPolicy::generateReferrerHeader(document.refer
rerPolicy(), request.url(), outgoingReferrer); |
| 74 if (outgoingReferrer.isEmpty()) | 74 if (outgoingReferrer.isEmpty()) |
| 75 request.clearHTTPReferrer(); | 75 request.clearHTTPReferrer(); |
| 76 else if (!request.httpReferrer()) | 76 else if (!request.httpReferrer()) |
| 77 request.setHTTPReferrer(outgoingReferrer); | 77 request.setHTTPReferrer(outgoingReferrer); |
| 78 | 78 |
| 79 FrameLoader::addHTTPOriginIfNeeded(request, outgoingOrigin); | 79 FrameLoader::addHTTPOriginIfNeeded(request, outgoingOrigin); |
| 80 } | 80 } |
| 81 | 81 |
| 82 frameLoader->addExtraFieldsToRequest(request); | 82 frameLoader.addExtraFieldsToRequest(request); |
| 83 } | 83 } |
| 84 | 84 |
| 85 CachePolicy FrameFetchContext::cachePolicy(Resource::Type type) const | 85 CachePolicy FrameFetchContext::cachePolicy(Resource::Type type) const |
| 86 { | 86 { |
| 87 if (type != Resource::MainResource) | 87 if (type != Resource::MainResource) |
| 88 return m_frame->loader()->subresourceCachePolicy(); | 88 return m_frame->loader().subresourceCachePolicy(); |
| 89 | 89 |
| 90 if (m_frame->loader()->loadType() == FrameLoadTypeReloadFromOrigin || m_fram
e->loader()->loadType() == FrameLoadTypeReload) | 90 if (m_frame->loader().loadType() == FrameLoadTypeReloadFromOrigin || m_frame
->loader().loadType() == FrameLoadTypeReload) |
| 91 return CachePolicyReload; | 91 return CachePolicyReload; |
| 92 return CachePolicyVerify; | 92 return CachePolicyVerify; |
| 93 | 93 |
| 94 } | 94 } |
| 95 | 95 |
| 96 // FIXME(http://crbug.com/274173): | 96 // FIXME(http://crbug.com/274173): |
| 97 // |loader| can be null if the resource is loaded from imported document. | 97 // |loader| can be null if the resource is loaded from imported document. |
| 98 // This means inspector, which uses DocumentLoader as an grouping entity, | 98 // This means inspector, which uses DocumentLoader as an grouping entity, |
| 99 // cannot see imported documents. | 99 // cannot see imported documents. |
| 100 inline DocumentLoader* FrameFetchContext::ensureLoader(DocumentLoader* loader) | 100 inline DocumentLoader* FrameFetchContext::ensureLoader(DocumentLoader* loader) |
| 101 { | 101 { |
| 102 return loader ? loader : m_frame->loader()->activeDocumentLoader(); | 102 return loader ? loader : m_frame->loader().activeDocumentLoader(); |
| 103 } | 103 } |
| 104 | 104 |
| 105 void FrameFetchContext::dispatchDidChangeResourcePriority(unsigned long identifi
er, ResourceLoadPriority loadPriority) | 105 void FrameFetchContext::dispatchDidChangeResourcePriority(unsigned long identifi
er, ResourceLoadPriority loadPriority) |
| 106 { | 106 { |
| 107 m_frame->loader()->client()->dispatchDidChangeResourcePriority(identifier, l
oadPriority); | 107 m_frame->loader().client()->dispatchDidChangeResourcePriority(identifier, lo
adPriority); |
| 108 } | 108 } |
| 109 | 109 |
| 110 void FrameFetchContext::dispatchWillSendRequest(DocumentLoader* loader, unsigned
long identifier, ResourceRequest& request, const ResourceResponse& redirectResp
onse, const FetchInitiatorInfo& initiatorInfo) | 110 void FrameFetchContext::dispatchWillSendRequest(DocumentLoader* loader, unsigned
long identifier, ResourceRequest& request, const ResourceResponse& redirectResp
onse, const FetchInitiatorInfo& initiatorInfo) |
| 111 { | 111 { |
| 112 m_frame->loader()->applyUserAgent(request); | 112 m_frame->loader().applyUserAgent(request); |
| 113 m_frame->loader()->client()->dispatchWillSendRequest(loader, identifier, req
uest, redirectResponse); | 113 m_frame->loader().client()->dispatchWillSendRequest(loader, identifier, requ
est, redirectResponse); |
| 114 InspectorInstrumentation::willSendRequest(m_frame, identifier, ensureLoader(
loader), request, redirectResponse, initiatorInfo); | 114 InspectorInstrumentation::willSendRequest(m_frame, identifier, ensureLoader(
loader), request, redirectResponse, initiatorInfo); |
| 115 } | 115 } |
| 116 | 116 |
| 117 void FrameFetchContext::dispatchDidLoadResourceFromMemoryCache(const ResourceReq
uest& request, const ResourceResponse& response) | 117 void FrameFetchContext::dispatchDidLoadResourceFromMemoryCache(const ResourceReq
uest& request, const ResourceResponse& response) |
| 118 { | 118 { |
| 119 m_frame->loader()->client()->dispatchDidLoadResourceFromMemoryCache(request,
response); | 119 m_frame->loader().client()->dispatchDidLoadResourceFromMemoryCache(request,
response); |
| 120 } | 120 } |
| 121 | 121 |
| 122 void FrameFetchContext::dispatchDidReceiveResponse(DocumentLoader* loader, unsig
ned long identifier, const ResourceResponse& r, ResourceLoader* resourceLoader) | 122 void FrameFetchContext::dispatchDidReceiveResponse(DocumentLoader* loader, unsig
ned long identifier, const ResourceResponse& r, ResourceLoader* resourceLoader) |
| 123 { | 123 { |
| 124 if (Page* page = m_frame->page()) | 124 if (Page* page = m_frame->page()) |
| 125 page->progress().incrementProgress(identifier, r); | 125 page->progress().incrementProgress(identifier, r); |
| 126 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willReceiv
eResourceResponse(m_frame, identifier, r); | 126 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willReceiv
eResourceResponse(m_frame, identifier, r); |
| 127 m_frame->loader()->client()->dispatchDidReceiveResponse(loader, identifier,
r); | 127 m_frame->loader().client()->dispatchDidReceiveResponse(loader, identifier, r
); |
| 128 InspectorInstrumentation::didReceiveResourceResponse(cookie, identifier, ens
ureLoader(loader), r, resourceLoader); | 128 InspectorInstrumentation::didReceiveResourceResponse(cookie, identifier, ens
ureLoader(loader), r, resourceLoader); |
| 129 } | 129 } |
| 130 | 130 |
| 131 void FrameFetchContext::dispatchDidReceiveData(DocumentLoader*, unsigned long id
entifier, const char* data, int dataLength, int encodedDataLength) | 131 void FrameFetchContext::dispatchDidReceiveData(DocumentLoader*, unsigned long id
entifier, const char* data, int dataLength, int encodedDataLength) |
| 132 { | 132 { |
| 133 if (Page* page = m_frame->page()) | 133 if (Page* page = m_frame->page()) |
| 134 page->progress().incrementProgress(identifier, data, dataLength); | 134 page->progress().incrementProgress(identifier, data, dataLength); |
| 135 InspectorInstrumentation::didReceiveData(m_frame, identifier, data, dataLeng
th, encodedDataLength); | 135 InspectorInstrumentation::didReceiveData(m_frame, identifier, data, dataLeng
th, encodedDataLength); |
| 136 } | 136 } |
| 137 | 137 |
| 138 void FrameFetchContext::dispatchDidFinishLoading(DocumentLoader* loader, unsigne
d long identifier, double finishTime) | 138 void FrameFetchContext::dispatchDidFinishLoading(DocumentLoader* loader, unsigne
d long identifier, double finishTime) |
| 139 { | 139 { |
| 140 if (Page* page = m_frame->page()) | 140 if (Page* page = m_frame->page()) |
| 141 page->progress().completeProgress(identifier); | 141 page->progress().completeProgress(identifier); |
| 142 m_frame->loader()->client()->dispatchDidFinishLoading(loader, identifier); | 142 m_frame->loader().client()->dispatchDidFinishLoading(loader, identifier); |
| 143 | 143 |
| 144 InspectorInstrumentation::didFinishLoading(m_frame, identifier, ensureLoader
(loader), finishTime); | 144 InspectorInstrumentation::didFinishLoading(m_frame, identifier, ensureLoader
(loader), finishTime); |
| 145 } | 145 } |
| 146 | 146 |
| 147 void FrameFetchContext::dispatchDidFail(DocumentLoader* loader, unsigned long id
entifier, const ResourceError& error) | 147 void FrameFetchContext::dispatchDidFail(DocumentLoader* loader, unsigned long id
entifier, const ResourceError& error) |
| 148 { | 148 { |
| 149 if (Page* page = m_frame->page()) | 149 if (Page* page = m_frame->page()) |
| 150 page->progress().completeProgress(identifier); | 150 page->progress().completeProgress(identifier); |
| 151 InspectorInstrumentation::didFailLoading(m_frame, identifier, ensureLoader(l
oader), error); | 151 InspectorInstrumentation::didFailLoading(m_frame, identifier, ensureLoader(l
oader), error); |
| 152 } | 152 } |
| 153 | 153 |
| 154 void FrameFetchContext::sendRemainingDelegateMessages(DocumentLoader* loader, un
signed long identifier, const ResourceResponse& response, const char* data, int
dataLength, int encodedDataLength, const ResourceError& error) | 154 void FrameFetchContext::sendRemainingDelegateMessages(DocumentLoader* loader, un
signed long identifier, const ResourceResponse& response, const char* data, int
dataLength, int encodedDataLength, const ResourceError& error) |
| 155 { | 155 { |
| 156 if (!response.isNull()) | 156 if (!response.isNull()) |
| 157 dispatchDidReceiveResponse(ensureLoader(loader), identifier, response); | 157 dispatchDidReceiveResponse(ensureLoader(loader), identifier, response); |
| 158 | 158 |
| 159 if (dataLength > 0) | 159 if (dataLength > 0) |
| 160 dispatchDidReceiveData(ensureLoader(loader), identifier, data, dataLengt
h, encodedDataLength); | 160 dispatchDidReceiveData(ensureLoader(loader), identifier, data, dataLengt
h, encodedDataLength); |
| 161 | 161 |
| 162 if (error.isNull()) | 162 if (error.isNull()) |
| 163 dispatchDidFinishLoading(ensureLoader(loader), identifier, 0); | 163 dispatchDidFinishLoading(ensureLoader(loader), identifier, 0); |
| 164 else | 164 else |
| 165 dispatchDidFail(ensureLoader(loader), identifier, error); | 165 dispatchDidFail(ensureLoader(loader), identifier, error); |
| 166 } | 166 } |
| 167 | 167 |
| 168 } // namespace WebCore | 168 } // namespace WebCore |
| OLD | NEW |