OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) | 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) |
3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) | 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) |
4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) | 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) |
5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
6 rights reserved. | 6 rights reserved. |
7 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ | 7 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ |
8 | 8 |
9 This library is free software; you can redistribute it and/or | 9 This library is free software; you can redistribute it and/or |
10 modify it under the terms of the GNU Library General Public | 10 modify it under the terms of the GNU Library General Public |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 } | 201 } |
202 | 202 |
203 static void populateTimingInfo(ResourceTimingInfo* info, Resource* resource) { | 203 static void populateTimingInfo(ResourceTimingInfo* info, Resource* resource) { |
204 KURL initialURL = resource->response().redirectResponses().isEmpty() | 204 KURL initialURL = resource->response().redirectResponses().isEmpty() |
205 ? resource->resourceRequest().url() | 205 ? resource->resourceRequest().url() |
206 : resource->response().redirectResponses()[0].url(); | 206 : resource->response().redirectResponses()[0].url(); |
207 info->setInitialURL(initialURL); | 207 info->setInitialURL(initialURL); |
208 info->setFinalResponse(resource->response()); | 208 info->setFinalResponse(resource->response()); |
209 } | 209 } |
210 | 210 |
211 static WebURLRequest::RequestContext requestContextFromType( | 211 WebURLRequest::RequestContext ResourceFetcher::determineRequestContext( |
212 bool isMainFrame, | 212 Resource::Type type, |
213 Resource::Type type) { | 213 bool isMainFrame) { |
214 switch (type) { | 214 switch (type) { |
215 case Resource::MainResource: | 215 case Resource::MainResource: |
216 if (!isMainFrame) | 216 if (!isMainFrame) |
217 return WebURLRequest::RequestContextIframe; | 217 return WebURLRequest::RequestContextIframe; |
218 // FIXME: Change this to a context frame type (once we introduce them): | 218 // FIXME: Change this to a context frame type (once we introduce them): |
219 // http://fetch.spec.whatwg.org/#concept-request-context-frame-type | 219 // http://fetch.spec.whatwg.org/#concept-request-context-frame-type |
220 return WebURLRequest::RequestContextHyperlink; | 220 return WebURLRequest::RequestContextHyperlink; |
221 case Resource::XSLStyleSheet: | 221 case Resource::XSLStyleSheet: |
222 DCHECK(RuntimeEnabledFeatures::xsltEnabled()); | 222 DCHECK(RuntimeEnabledFeatures::xsltEnabled()); |
223 case Resource::CSSStyleSheet: | 223 case Resource::CSSStyleSheet: |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 } | 630 } |
631 | 631 |
632 void ResourceFetcher::resourceTimingReportTimerFired(TimerBase* timer) { | 632 void ResourceFetcher::resourceTimingReportTimerFired(TimerBase* timer) { |
633 DCHECK_EQ(timer, &m_resourceTimingReportTimer); | 633 DCHECK_EQ(timer, &m_resourceTimingReportTimer); |
634 Vector<std::unique_ptr<ResourceTimingInfo>> timingReports; | 634 Vector<std::unique_ptr<ResourceTimingInfo>> timingReports; |
635 timingReports.swap(m_scheduledResourceTimingReports); | 635 timingReports.swap(m_scheduledResourceTimingReports); |
636 for (const auto& timingInfo : timingReports) | 636 for (const auto& timingInfo : timingReports) |
637 context().addResourceTiming(*timingInfo); | 637 context().addResourceTiming(*timingInfo); |
638 } | 638 } |
639 | 639 |
640 void ResourceFetcher::determineRequestContext(ResourceRequest& request, | 640 WebURLRequest::RequestContext ResourceFetcher::determineRequestContext( |
641 Resource::Type type, | 641 Resource::Type type) const { |
642 bool isMainFrame) { | 642 return determineRequestContext(type, context().isMainFrame()); |
643 WebURLRequest::RequestContext requestContext = | |
644 requestContextFromType(isMainFrame, type); | |
645 request.setRequestContext(requestContext); | |
646 } | |
647 | |
648 void ResourceFetcher::determineRequestContext(ResourceRequest& request, | |
649 Resource::Type type) { | |
650 determineRequestContext(request, type, context().isMainFrame()); | |
651 } | 643 } |
652 | 644 |
653 void ResourceFetcher::initializeResourceRequest( | 645 void ResourceFetcher::initializeResourceRequest( |
654 ResourceRequest& request, | 646 ResourceRequest& request, |
655 Resource::Type type, | 647 Resource::Type type, |
656 FetchRequest::DeferOption defer) { | 648 FetchRequest::DeferOption defer) { |
657 if (request.getCachePolicy() == WebCachePolicy::UseProtocolCachePolicy) { | 649 if (request.getCachePolicy() == WebCachePolicy::UseProtocolCachePolicy) { |
658 request.setCachePolicy( | 650 request.setCachePolicy( |
659 context().resourceRequestCachePolicy(request, type, defer)); | 651 context().resourceRequestCachePolicy(request, type, defer)); |
660 } | 652 } |
661 if (request.requestContext() == WebURLRequest::RequestContextUnspecified) | 653 if (request.requestContext() == WebURLRequest::RequestContextUnspecified) |
662 determineRequestContext(request, type); | 654 request.setRequestContext(determineRequestContext(type)); |
663 if (type == Resource::LinkPrefetch) | 655 if (type == Resource::LinkPrefetch) |
664 request.setHTTPHeaderField(HTTPNames::Purpose, "prefetch"); | 656 request.setHTTPHeaderField(HTTPNames::Purpose, "prefetch"); |
665 | 657 |
666 context().addAdditionalRequestHeaders( | 658 context().addAdditionalRequestHeaders( |
667 request, | 659 request, |
668 (type == Resource::MainResource) ? FetchMainResource : FetchSubresource); | 660 (type == Resource::MainResource) ? FetchMainResource : FetchSubresource); |
669 } | 661 } |
670 | 662 |
671 void ResourceFetcher::initializeRevalidation( | 663 void ResourceFetcher::initializeRevalidation( |
672 ResourceRequest& revalidatingRequest, | 664 ResourceRequest& revalidatingRequest, |
(...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1552 visitor->trace(m_context); | 1544 visitor->trace(m_context); |
1553 visitor->trace(m_archive); | 1545 visitor->trace(m_archive); |
1554 visitor->trace(m_loaders); | 1546 visitor->trace(m_loaders); |
1555 visitor->trace(m_nonBlockingLoaders); | 1547 visitor->trace(m_nonBlockingLoaders); |
1556 visitor->trace(m_documentResources); | 1548 visitor->trace(m_documentResources); |
1557 visitor->trace(m_preloads); | 1549 visitor->trace(m_preloads); |
1558 visitor->trace(m_resourceTimingInfoMap); | 1550 visitor->trace(m_resourceTimingInfoMap); |
1559 } | 1551 } |
1560 | 1552 |
1561 } // namespace blink | 1553 } // namespace blink |
OLD | NEW |