OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/loader/LinkLoader.h" | 5 #include "core/loader/LinkLoader.h" |
6 | 6 |
7 #include "core/fetch/MemoryCache.h" | 7 #include "core/fetch/MemoryCache.h" |
8 #include "core/fetch/ResourceFetcher.h" | 8 #include "core/fetch/ResourceFetcher.h" |
9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
10 #include "core/html/LinkRelAttribute.h" | 10 #include "core/html/LinkRelAttribute.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 } cases[] = { | 100 } cases[] = { |
101 {"http://example.test/cat.jpg", "image", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextImage, true, true}, | 101 {"http://example.test/cat.jpg", "image", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextImage, true, true}, |
102 {"http://example.test/cat.js", "script", "", "", ResourceLoadPriorityHig
h, WebURLRequest::RequestContextScript, true, true}, | 102 {"http://example.test/cat.js", "script", "", "", ResourceLoadPriorityHig
h, WebURLRequest::RequestContextScript, true, true}, |
103 {"http://example.test/cat.css", "style", "", "", ResourceLoadPriorityVer
yHigh, WebURLRequest::RequestContextStyle, true, true}, | 103 {"http://example.test/cat.css", "style", "", "", ResourceLoadPriorityVer
yHigh, WebURLRequest::RequestContextStyle, true, true}, |
104 // TODO(yoav): It doesn't seem like the audio context is ever used. That
should probably be fixed (or we can consolidate audio and video). | 104 // TODO(yoav): It doesn't seem like the audio context is ever used. That
should probably be fixed (or we can consolidate audio and video). |
105 {"http://example.test/cat.wav", "media", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextVideo, true, true}, | 105 {"http://example.test/cat.wav", "media", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextVideo, true, true}, |
106 {"http://example.test/cat.mp4", "media", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextVideo, true, true}, | 106 {"http://example.test/cat.mp4", "media", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextVideo, true, true}, |
107 {"http://example.test/cat.vtt", "track", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextTrack, true, true}, | 107 {"http://example.test/cat.vtt", "track", "", "", ResourceLoadPriorityLow
, WebURLRequest::RequestContextTrack, true, true}, |
108 {"http://example.test/cat.woff", "font", "", "", ResourceLoadPriorityVer
yHigh, WebURLRequest::RequestContextFont, true, true}, | 108 {"http://example.test/cat.woff", "font", "", "", ResourceLoadPriorityVer
yHigh, WebURLRequest::RequestContextFont, true, true}, |
109 // TODO(yoav): subresource should be *very* low priority (rather than lo
w). | 109 // TODO(yoav): subresource should be *very* low priority (rather than lo
w). |
110 {"http://example.test/cat.empty", "", "", "", ResourceLoadPriorityLow, W
ebURLRequest::RequestContextSubresource, true, true}, | 110 {"http://example.test/cat.empty", "", "", "", ResourceLoadPriorityHigh,
WebURLRequest::RequestContextSubresource, true, true}, |
111 {"http://example.test/cat.blob", "blabla", "", "", ResourceLoadPriorityL
ow, WebURLRequest::RequestContextSubresource, false, false}, | 111 {"http://example.test/cat.blob", "blabla", "", "", ResourceLoadPriorityL
ow, WebURLRequest::RequestContextSubresource, false, false}, |
112 {"bla://example.test/cat.gif", "image", "", "", ResourceLoadPriorityUnre
solved, WebURLRequest::RequestContextImage, false, false}, | 112 {"bla://example.test/cat.gif", "image", "", "", ResourceLoadPriorityUnre
solved, WebURLRequest::RequestContextImage, false, false}, |
113 // MIME type tests | 113 // MIME type tests |
114 {"http://example.test/cat.webp", "image", "image/webp", "", ResourceLoad
PriorityLow, WebURLRequest::RequestContextImage, true, true}, | 114 {"http://example.test/cat.webp", "image", "image/webp", "", ResourceLoad
PriorityLow, WebURLRequest::RequestContextImage, true, true}, |
115 {"http://example.test/cat.svg", "image", "image/svg+xml", "", ResourceLo
adPriorityLow, WebURLRequest::RequestContextImage, true, true}, | 115 {"http://example.test/cat.svg", "image", "image/svg+xml", "", ResourceLo
adPriorityLow, WebURLRequest::RequestContextImage, true, true}, |
116 {"http://example.test/cat.jxr", "image", "image/jxr", "", ResourceLoadPr
iorityUnresolved, WebURLRequest::RequestContextImage, false, false}, | 116 {"http://example.test/cat.jxr", "image", "image/jxr", "", ResourceLoadPr
iorityUnresolved, WebURLRequest::RequestContextImage, false, false}, |
117 {"http://example.test/cat.js", "script", "text/javascript", "", Resource
LoadPriorityHigh, WebURLRequest::RequestContextScript, true, true}, | 117 {"http://example.test/cat.js", "script", "text/javascript", "", Resource
LoadPriorityHigh, WebURLRequest::RequestContextScript, true, true}, |
118 {"http://example.test/cat.js", "script", "text/coffeescript", "", Resour
ceLoadPriorityUnresolved, WebURLRequest::RequestContextScript, false, false}, | 118 {"http://example.test/cat.js", "script", "text/coffeescript", "", Resour
ceLoadPriorityUnresolved, WebURLRequest::RequestContextScript, false, false}, |
119 {"http://example.test/cat.css", "style", "text/css", "", ResourceLoadPri
orityVeryHigh, WebURLRequest::RequestContextStyle, true, true}, | 119 {"http://example.test/cat.css", "style", "text/css", "", ResourceLoadPri
orityVeryHigh, WebURLRequest::RequestContextStyle, true, true}, |
120 {"http://example.test/cat.css", "style", "text/sass", "", ResourceLoadPr
iorityUnresolved, WebURLRequest::RequestContextStyle, false, false}, | 120 {"http://example.test/cat.css", "style", "text/sass", "", ResourceLoadPr
iorityUnresolved, WebURLRequest::RequestContextStyle, false, false}, |
121 {"http://example.test/cat.wav", "media", "audio/wav", "", ResourceLoadPr
iorityLow, WebURLRequest::RequestContextVideo, true, true}, | 121 {"http://example.test/cat.wav", "media", "audio/wav", "", ResourceLoadPr
iorityLow, WebURLRequest::RequestContextVideo, true, true}, |
122 {"http://example.test/cat.wav", "media", "audio/mp57", "", ResourceLoadP
riorityUnresolved, WebURLRequest::RequestContextVideo, false, false}, | 122 {"http://example.test/cat.wav", "media", "audio/mp57", "", ResourceLoadP
riorityUnresolved, WebURLRequest::RequestContextVideo, false, false}, |
123 {"http://example.test/cat.webm", "media", "video/webm", "", ResourceLoad
PriorityLow, WebURLRequest::RequestContextVideo, true, true}, | 123 {"http://example.test/cat.webm", "media", "video/webm", "", ResourceLoad
PriorityLow, WebURLRequest::RequestContextVideo, true, true}, |
124 {"http://example.test/cat.mp199", "media", "video/mp199", "", ResourceLo
adPriorityUnresolved, WebURLRequest::RequestContextVideo, false, false}, | 124 {"http://example.test/cat.mp199", "media", "video/mp199", "", ResourceLo
adPriorityUnresolved, WebURLRequest::RequestContextVideo, false, false}, |
125 {"http://example.test/cat.vtt", "track", "text/vtt", "", ResourceLoadPri
orityLow, WebURLRequest::RequestContextTrack, true, true}, | 125 {"http://example.test/cat.vtt", "track", "text/vtt", "", ResourceLoadPri
orityLow, WebURLRequest::RequestContextTrack, true, true}, |
126 {"http://example.test/cat.vtt", "track", "text/subtitlething", "", Resou
rceLoadPriorityUnresolved, WebURLRequest::RequestContextTrack, false, false}, | 126 {"http://example.test/cat.vtt", "track", "text/subtitlething", "", Resou
rceLoadPriorityUnresolved, WebURLRequest::RequestContextTrack, false, false}, |
127 {"http://example.test/cat.woff", "font", "font/woff2", "", ResourceLoadP
riorityVeryHigh, WebURLRequest::RequestContextFont, true, true}, | 127 {"http://example.test/cat.woff", "font", "font/woff2", "", ResourceLoadP
riorityVeryHigh, WebURLRequest::RequestContextFont, true, true}, |
128 {"http://example.test/cat.woff", "font", "font/woff84", "", ResourceLoad
PriorityUnresolved, WebURLRequest::RequestContextFont, false, false}, | 128 {"http://example.test/cat.woff", "font", "font/woff84", "", ResourceLoad
PriorityUnresolved, WebURLRequest::RequestContextFont, false, false}, |
129 {"http://example.test/cat.empty", "", "foo/bar", "", ResourceLoadPriorit
yLow, WebURLRequest::RequestContextSubresource, true, true}, | 129 {"http://example.test/cat.empty", "", "foo/bar", "", ResourceLoadPriorit
yHigh, WebURLRequest::RequestContextSubresource, true, true}, |
130 {"http://example.test/cat.blob", "blabla", "foo/bar", "", ResourceLoadPr
iorityLow, WebURLRequest::RequestContextSubresource, false, false}, | 130 {"http://example.test/cat.blob", "blabla", "foo/bar", "", ResourceLoadPr
iorityLow, WebURLRequest::RequestContextSubresource, false, false}, |
131 // Media tests | 131 // Media tests |
132 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px
)", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true}, | 132 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px
)", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, true, true}, |
133 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 400px
)", ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true, fa
lse}, | 133 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 400px
)", ResourceLoadPriorityUnresolved, WebURLRequest::RequestContextImage, true, fa
lse}, |
134 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px
)", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, false, false}, | 134 {"http://example.test/cat.gif", "image", "image/gif", "(max-width: 600px
)", ResourceLoadPriorityLow, WebURLRequest::RequestContextImage, false, false}, |
135 }; | 135 }; |
136 | 136 |
137 // Test the cases with a single header | 137 // Test the cases with a single header |
138 for (const auto& testCase : cases) { | 138 for (const auto& testCase : cases) { |
139 std::unique_ptr<DummyPageHolder> dummyPageHolder = DummyPageHolder::crea
te(IntSize(500, 500)); | 139 std::unique_ptr<DummyPageHolder> dummyPageHolder = DummyPageHolder::crea
te(IntSize(500, 500)); |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 hrefURL, | 241 hrefURL, |
242 dummyPageHolder->document(), | 242 dummyPageHolder->document(), |
243 networkHints); | 243 networkHints); |
244 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); | 244 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); |
245 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); | 245 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); |
246 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); | 246 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); |
247 } | 247 } |
248 } | 248 } |
249 | 249 |
250 } // namespace blink | 250 } // namespace blink |
OLD | NEW |