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

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

Issue 1141883003: Enable `as` based priorities for <link rel=preload> (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 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
OLDNEW
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 rights reserved. 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ 6 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 case Resource::Raw: 81 case Resource::Raw:
82 case Resource::TextTrack: 82 case Resource::TextTrack:
83 case Resource::Media: 83 case Resource::Media:
84 return new RawResource(request, type); 84 return new RawResource(request, type);
85 case Resource::XSLStyleSheet: 85 case Resource::XSLStyleSheet:
86 return new XSLStyleSheetResource(request, charset); 86 return new XSLStyleSheetResource(request, charset);
87 case Resource::LinkPrefetch: 87 case Resource::LinkPrefetch:
88 return new Resource(request, Resource::LinkPrefetch); 88 return new Resource(request, Resource::LinkPrefetch);
89 case Resource::LinkSubresource: 89 case Resource::LinkSubresource:
90 return new Resource(request, Resource::LinkSubresource); 90 return new Resource(request, Resource::LinkSubresource);
91 case Resource::LinkPreload:
92 return new Resource(request, Resource::LinkPreload);
91 case Resource::ImportResource: 93 case Resource::ImportResource:
92 return new RawResource(request, type); 94 return new RawResource(request, type);
93 } 95 }
94 96
95 ASSERT_NOT_REACHED(); 97 ASSERT_NOT_REACHED();
96 return 0; 98 return 0;
97 } 99 }
98 100
99 static ResourceLoadPriority loadPriority(Resource::Type type, const FetchRequest & request) 101 ResourceLoadPriority ResourceFetcher::loadPriority(Resource::Type type, const Fe tchRequest& request)
100 { 102 {
103 // TODO(yoav): Change it here so that priority can be changed even after it was resolved.
101 if (request.priority() != ResourceLoadPriorityUnresolved) 104 if (request.priority() != ResourceLoadPriorityUnresolved)
102 return request.priority(); 105 return request.priority();
103 106
104 switch (type) { 107 switch (type) {
105 case Resource::MainResource: 108 case Resource::MainResource:
106 return ResourceLoadPriorityVeryHigh; 109 return ResourceLoadPriorityVeryHigh;
107 case Resource::CSSStyleSheet: 110 case Resource::CSSStyleSheet:
108 return ResourceLoadPriorityHigh; 111 return ResourceLoadPriorityHigh;
109 case Resource::Raw: 112 case Resource::Raw:
110 return request.options().synchronousPolicy == RequestSynchronously ? Res ourceLoadPriorityVeryHigh : ResourceLoadPriorityMedium; 113 return request.options().synchronousPolicy == RequestSynchronously ? Res ourceLoadPriorityVeryHigh : ResourceLoadPriorityMedium;
(...skipping 11 matching lines...) Expand all
122 // speed-index by ~5% on average, ~14% at the 99th percentile. 125 // speed-index by ~5% on average, ~14% at the 99th percentile.
123 return ResourceLoadPriorityVeryLow; 126 return ResourceLoadPriorityVeryLow;
124 case Resource::Media: 127 case Resource::Media:
125 return ResourceLoadPriorityLow; 128 return ResourceLoadPriorityLow;
126 case Resource::XSLStyleSheet: 129 case Resource::XSLStyleSheet:
127 ASSERT(RuntimeEnabledFeatures::xsltEnabled()); 130 ASSERT(RuntimeEnabledFeatures::xsltEnabled());
128 return ResourceLoadPriorityHigh; 131 return ResourceLoadPriorityHigh;
129 case Resource::SVGDocument: 132 case Resource::SVGDocument:
130 return ResourceLoadPriorityLow; 133 return ResourceLoadPriorityLow;
131 case Resource::LinkPrefetch: 134 case Resource::LinkPrefetch:
135 case Resource::LinkPreload:
132 return ResourceLoadPriorityVeryLow; 136 return ResourceLoadPriorityVeryLow;
133 case Resource::LinkSubresource: 137 case Resource::LinkSubresource:
134 return ResourceLoadPriorityLow; 138 return ResourceLoadPriorityLow;
135 case Resource::TextTrack: 139 case Resource::TextTrack:
136 return ResourceLoadPriorityLow; 140 return ResourceLoadPriorityLow;
137 } 141 }
138 ASSERT_NOT_REACHED(); 142 ASSERT_NOT_REACHED();
139 return ResourceLoadPriorityUnresolved; 143 return ResourceLoadPriorityUnresolved;
140 } 144 }
141 145
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 case Resource::Image: 197 case Resource::Image:
194 return WebURLRequest::RequestContextImage; 198 return WebURLRequest::RequestContextImage;
195 case Resource::Raw: 199 case Resource::Raw:
196 return WebURLRequest::RequestContextSubresource; 200 return WebURLRequest::RequestContextSubresource;
197 case Resource::ImportResource: 201 case Resource::ImportResource:
198 return WebURLRequest::RequestContextImport; 202 return WebURLRequest::RequestContextImport;
199 case Resource::LinkPrefetch: 203 case Resource::LinkPrefetch:
200 return WebURLRequest::RequestContextPrefetch; 204 return WebURLRequest::RequestContextPrefetch;
201 case Resource::LinkSubresource: 205 case Resource::LinkSubresource:
202 return WebURLRequest::RequestContextSubresource; 206 return WebURLRequest::RequestContextSubresource;
207 case Resource::LinkPreload:
208 // TODO(yoav): Should we give preload its own context?
Mike West 2015/05/19 06:37:29 *shrug* Talk to Anne. It's not clear to me how it
209 return WebURLRequest::RequestContextSubresource;
203 case Resource::TextTrack: 210 case Resource::TextTrack:
204 return WebURLRequest::RequestContextTrack; 211 return WebURLRequest::RequestContextTrack;
205 case Resource::SVGDocument: 212 case Resource::SVGDocument:
206 return WebURLRequest::RequestContextImage; 213 return WebURLRequest::RequestContextImage;
207 case Resource::Media: // TODO: Split this. 214 case Resource::Media: // TODO: Split this.
208 return WebURLRequest::RequestContextVideo; 215 return WebURLRequest::RequestContextVideo;
209 } 216 }
210 ASSERT_NOT_REACHED(); 217 ASSERT_NOT_REACHED();
211 return WebURLRequest::RequestContextSubresource; 218 return WebURLRequest::RequestContextSubresource;
212 } 219 }
(...skipping 1089 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 ResourceLoaderHost::trace(visitor); 1309 ResourceLoaderHost::trace(visitor);
1303 } 1310 }
1304 1311
1305 ResourceFetcher* ResourceFetcher::toResourceFetcher(ResourceLoaderHost* host) 1312 ResourceFetcher* ResourceFetcher::toResourceFetcher(ResourceLoaderHost* host)
1306 { 1313 {
1307 ASSERT(host->objectType() == ResourceLoaderHost::ResourceFetcherType); 1314 ASSERT(host->objectType() == ResourceLoaderHost::ResourceFetcherType);
1308 return static_cast<ResourceFetcher*>(host); 1315 return static_cast<ResourceFetcher*>(host);
1309 } 1316 }
1310 1317
1311 } 1318 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698