Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: Source/core/fetch/ResourceLoader.cpp

Issue 199733008: Revert of HTML Imports: Send credentials for same origin requests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/ResourceLoader.h ('k') | Source/core/html/HTMLLinkElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved.
3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com) 3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 m_deferredRequest = ResourceRequest(); 114 m_deferredRequest = ResourceRequest();
115 } 115 }
116 116
117 void ResourceLoader::init(const ResourceRequest& passedRequest) 117 void ResourceLoader::init(const ResourceRequest& passedRequest)
118 { 118 {
119 ResourceRequest request(passedRequest); 119 ResourceRequest request(passedRequest);
120 m_host->willSendRequest(m_resource->identifier(), request, ResourceResponse( ), m_options.initiatorInfo); 120 m_host->willSendRequest(m_resource->identifier(), request, ResourceResponse( ), m_options.initiatorInfo);
121 request.setReportLoadTiming(true); 121 request.setReportLoadTiming(true);
122 ASSERT(m_state != Terminated); 122 ASSERT(m_state != Terminated);
123 ASSERT(!request.isNull()); 123 ASSERT(!request.isNull());
124 m_originalRequest = m_request = applyOptions(request); 124 m_originalRequest = m_request = request;
125 m_resource->updateRequest(request); 125 m_resource->updateRequest(request);
126 m_host->didInitializeResourceLoader(this); 126 m_host->didInitializeResourceLoader(this);
127 } 127 }
128 128
129 void ResourceLoader::start() 129 void ResourceLoader::start()
130 { 130 {
131 ASSERT(!m_loader); 131 ASSERT(!m_loader);
132 ASSERT(!m_request.isNull()); 132 ASSERT(!m_request.isNull());
133 ASSERT(m_deferredRequest.isNull()); 133 ASSERT(m_deferredRequest.isNull());
134 134
(...skipping 11 matching lines...) Expand all
146 146
147 if (m_state == Terminated) 147 if (m_state == Terminated)
148 return; 148 return;
149 149
150 RELEASE_ASSERT(m_connectionState == ConnectionStateNew); 150 RELEASE_ASSERT(m_connectionState == ConnectionStateNew);
151 m_connectionState = ConnectionStateStarted; 151 m_connectionState = ConnectionStateStarted;
152 152
153 m_loader = adoptPtr(blink::Platform::current()->createURLLoader()); 153 m_loader = adoptPtr(blink::Platform::current()->createURLLoader());
154 ASSERT(m_loader); 154 ASSERT(m_loader);
155 blink::WrappedResourceRequest wrappedRequest(m_request); 155 blink::WrappedResourceRequest wrappedRequest(m_request);
156 wrappedRequest.setAllowStoredCredentials(m_options.allowCredentials == Allow StoredCredentials);
156 m_loader->loadAsynchronously(wrappedRequest, this); 157 m_loader->loadAsynchronously(wrappedRequest, this);
157 } 158 }
158 159
159 void ResourceLoader::changeToSynchronous() 160 void ResourceLoader::changeToSynchronous()
160 { 161 {
161 ASSERT(m_options.synchronousPolicy == RequestAsynchronously); 162 ASSERT(m_options.synchronousPolicy == RequestAsynchronously);
162 ASSERT(m_loader); 163 ASSERT(m_loader);
163 m_loader->cancel(); 164 m_loader->cancel();
164 m_loader.clear(); 165 m_loader.clear();
165 m_request.setPriority(ResourceLoadPriorityHighest); 166 m_request.setPriority(ResourceLoadPriorityHighest);
166 m_connectionState = ConnectionStateNew; 167 m_connectionState = ConnectionStateNew;
167 requestSynchronously(); 168 requestSynchronously();
168 } 169 }
169 170
170 void ResourceLoader::setDefersLoading(bool defers) 171 void ResourceLoader::setDefersLoading(bool defers)
171 { 172 {
172 m_defersLoading = defers; 173 m_defersLoading = defers;
173 if (m_loader) 174 if (m_loader)
174 m_loader->setDefersLoading(defers); 175 m_loader->setDefersLoading(defers);
175 if (!defers && !m_deferredRequest.isNull()) { 176 if (!defers && !m_deferredRequest.isNull()) {
176 m_request = applyOptions(m_deferredRequest); 177 m_request = m_deferredRequest;
177 m_deferredRequest = ResourceRequest(); 178 m_deferredRequest = ResourceRequest();
178 start(); 179 start();
179 } 180 }
180 } 181 }
181 182
182 void ResourceLoader::didDownloadData(blink::WebURLLoader*, int length, int encod edDataLength) 183 void ResourceLoader::didDownloadData(blink::WebURLLoader*, int length, int encod edDataLength)
183 { 184 {
184 RefPtr<ResourceLoader> protect(this); 185 RefPtr<ResourceLoader> protect(this);
185 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse); 186 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse);
186 m_host->didDownloadData(m_resource, length, encodedDataLength); 187 m_host->didDownloadData(m_resource, length, encodedDataLength);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 if (m_state == Finishing) 256 if (m_state == Finishing)
256 m_resource->error(Resource::LoadError); 257 m_resource->error(Resource::LoadError);
257 if (m_state != Terminated) 258 if (m_state != Terminated)
258 releaseResources(); 259 releaseResources();
259 } 260 }
260 261
261 void ResourceLoader::willSendRequest(blink::WebURLLoader*, blink::WebURLRequest& passedRequest, const blink::WebURLResponse& passedRedirectResponse) 262 void ResourceLoader::willSendRequest(blink::WebURLLoader*, blink::WebURLRequest& passedRequest, const blink::WebURLResponse& passedRedirectResponse)
262 { 263 {
263 RefPtr<ResourceLoader> protect(this); 264 RefPtr<ResourceLoader> protect(this);
264 265
265 ResourceRequest& request(applyOptions(passedRequest.toMutableResourceRequest ())); 266 ResourceRequest& request(passedRequest.toMutableResourceRequest());
266 ASSERT(!request.isNull()); 267 ASSERT(!request.isNull());
267 const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceRe sponse()); 268 const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceRe sponse());
268 ASSERT(!redirectResponse.isNull()); 269 ASSERT(!redirectResponse.isNull());
269 if (!m_host->canAccessRedirect(m_resource, request, redirectResponse, m_opti ons)) { 270 if (!m_host->canAccessRedirect(m_resource, request, redirectResponse, m_opti ons)) {
270 cancel(); 271 cancel();
271 return; 272 return;
272 } 273 }
273 274
274 applyOptions(request); // canAccessRedirect() can modify m_options so we sho uld re-apply it.
275 m_host->redirectReceived(m_resource, redirectResponse); 275 m_host->redirectReceived(m_resource, redirectResponse);
276 m_resource->willSendRequest(request, redirectResponse); 276 m_resource->willSendRequest(request, redirectResponse);
277 if (request.isNull() || m_state == Terminated) 277 if (request.isNull() || m_state == Terminated)
278 return; 278 return;
279 279
280 m_host->willSendRequest(m_resource->identifier(), request, redirectResponse, m_options.initiatorInfo); 280 m_host->willSendRequest(m_resource->identifier(), request, redirectResponse, m_options.initiatorInfo);
281 request.setReportLoadTiming(true); 281 request.setReportLoadTiming(true);
282 ASSERT(!request.isNull()); 282 ASSERT(!request.isNull());
283 m_resource->updateRequest(request); 283 m_resource->updateRequest(request);
284 m_request = request; 284 m_request = request;
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 ASSERT(loader); 449 ASSERT(loader);
450 450
451 RefPtr<ResourceLoader> protect(this); 451 RefPtr<ResourceLoader> protect(this);
452 RefPtr<ResourceLoaderHost> protectHost(m_host); 452 RefPtr<ResourceLoaderHost> protectHost(m_host);
453 ResourcePtr<Resource> protectResource(m_resource); 453 ResourcePtr<Resource> protectResource(m_resource);
454 454
455 RELEASE_ASSERT(m_connectionState == ConnectionStateNew); 455 RELEASE_ASSERT(m_connectionState == ConnectionStateNew);
456 m_connectionState = ConnectionStateStarted; 456 m_connectionState = ConnectionStateStarted;
457 457
458 blink::WrappedResourceRequest requestIn(m_request); 458 blink::WrappedResourceRequest requestIn(m_request);
459 requestIn.setAllowStoredCredentials(m_options.allowCredentials == AllowStore dCredentials);
459 blink::WebURLResponse responseOut; 460 blink::WebURLResponse responseOut;
460 responseOut.initialize(); 461 responseOut.initialize();
461 blink::WebURLError errorOut; 462 blink::WebURLError errorOut;
462 blink::WebData dataOut; 463 blink::WebData dataOut;
463 loader->loadSynchronously(requestIn, responseOut, errorOut, dataOut); 464 loader->loadSynchronously(requestIn, responseOut, errorOut, dataOut);
464 if (errorOut.reason) { 465 if (errorOut.reason) {
465 didFail(0, errorOut); 466 didFail(0, errorOut);
466 return; 467 return;
467 } 468 }
468 didReceiveResponse(0, responseOut); 469 didReceiveResponse(0, responseOut);
469 if (m_state == Terminated) 470 if (m_state == Terminated)
470 return; 471 return;
471 RefPtr<ResourceLoadInfo> resourceLoadInfo = responseOut.toResourceResponse() .resourceLoadInfo(); 472 RefPtr<ResourceLoadInfo> resourceLoadInfo = responseOut.toResourceResponse() .resourceLoadInfo();
472 int64 encodedDataLength = resourceLoadInfo ? resourceLoadInfo->encodedDataLe ngth : blink::WebURLLoaderClient::kUnknownEncodedDataLength; 473 int64 encodedDataLength = resourceLoadInfo ? resourceLoadInfo->encodedDataLe ngth : blink::WebURLLoaderClient::kUnknownEncodedDataLength;
473 m_host->didReceiveData(m_resource, dataOut.data(), dataOut.size(), encodedDa taLength); 474 m_host->didReceiveData(m_resource, dataOut.data(), dataOut.size(), encodedDa taLength);
474 m_resource->setResourceBuffer(dataOut); 475 m_resource->setResourceBuffer(dataOut);
475 didFinishLoading(0, monotonicallyIncreasingTime(), encodedDataLength); 476 didFinishLoading(0, monotonicallyIncreasingTime(), encodedDataLength);
476 } 477 }
477 478
478 ResourceRequest& ResourceLoader::applyOptions(ResourceRequest& request) const
479 {
480 request.setAllowStoredCredentials(m_options.allowCredentials == AllowStoredC redentials);
481 return request;
482 } 479 }
483
484 }
OLDNEW
« no previous file with comments | « Source/core/fetch/ResourceLoader.h ('k') | Source/core/html/HTMLLinkElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698