OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 {"spanning disabled", false, false, false, false}, | 158 {"spanning disabled", false, false, false, false}, |
159 {"split disabled", true, false, false, false}, | 159 {"split disabled", true, false, false, false}, |
160 {"spanning enabled", false, true, false, true}, | 160 {"spanning enabled", false, true, false, true}, |
161 {"split enabled", true, true, true, true}, | 161 {"split enabled", true, true, true, true}, |
162 }; | 162 }; |
163 | 163 |
164 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { | 164 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { |
165 scoped_refptr<Extension> extension = | 165 scoped_refptr<Extension> extension = |
166 CreateTestExtension(cases[i].name, cases[i].incognito_split_mode); | 166 CreateTestExtension(cases[i].name, cases[i].incognito_split_mode); |
167 extension_info_map_->AddExtension( | 167 extension_info_map_->AddExtension( |
168 extension.get(), base::Time::Now(), cases[i].incognito_enabled); | 168 extension.get(), base::Time::Now(), cases[i].incognito_enabled, false); |
169 | 169 |
170 // First test a main frame request. | 170 // First test a main frame request. |
171 { | 171 { |
172 // It doesn't matter that the resource doesn't exist. If the resource | 172 // It doesn't matter that the resource doesn't exist. If the resource |
173 // is blocked, we should see ADDRESS_UNREACHABLE. Otherwise, the request | 173 // is blocked, we should see ADDRESS_UNREACHABLE. Otherwise, the request |
174 // should just fail because the file doesn't exist. | 174 // should just fail because the file doesn't exist. |
175 net::URLRequest request(extension->GetResourceURL("404.html"), | 175 net::URLRequest request(extension->GetResourceURL("404.html"), |
176 net::DEFAULT_PRIORITY, | 176 net::DEFAULT_PRIORITY, |
177 &test_delegate_, | 177 &test_delegate_, |
178 resource_context_.GetRequestContext()); | 178 resource_context_.GetRequestContext()); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 EXPECT_GT(length_value, 0); | 218 EXPECT_GT(length_value, 0); |
219 } | 219 } |
220 | 220 |
221 // Tests getting a resource for a component extension works correctly, both when | 221 // Tests getting a resource for a component extension works correctly, both when |
222 // the extension is enabled and when it is disabled. | 222 // the extension is enabled and when it is disabled. |
223 TEST_F(ExtensionProtocolTest, ComponentResourceRequest) { | 223 TEST_F(ExtensionProtocolTest, ComponentResourceRequest) { |
224 // Register a non-incognito extension protocol handler. | 224 // Register a non-incognito extension protocol handler. |
225 SetProtocolHandler(false); | 225 SetProtocolHandler(false); |
226 | 226 |
227 scoped_refptr<Extension> extension = CreateWebStoreExtension(); | 227 scoped_refptr<Extension> extension = CreateWebStoreExtension(); |
228 extension_info_map_->AddExtension(extension.get(), base::Time::Now(), false); | 228 extension_info_map_->AddExtension(extension.get(), |
| 229 base::Time::Now(), |
| 230 false, |
| 231 false); |
229 | 232 |
230 // First test it with the extension enabled. | 233 // First test it with the extension enabled. |
231 { | 234 { |
232 net::URLRequest request(extension->GetResourceURL("webstore_icon_16.png"), | 235 net::URLRequest request(extension->GetResourceURL("webstore_icon_16.png"), |
233 net::DEFAULT_PRIORITY, | 236 net::DEFAULT_PRIORITY, |
234 &test_delegate_, | 237 &test_delegate_, |
235 resource_context_.GetRequestContext()); | 238 resource_context_.GetRequestContext()); |
236 StartRequest(&request, ResourceType::MEDIA); | 239 StartRequest(&request, ResourceType::MEDIA); |
237 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); | 240 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); |
238 CheckForContentLengthHeader(&request); | 241 CheckForContentLengthHeader(&request); |
(...skipping 13 matching lines...) Expand all Loading... |
252 } | 255 } |
253 } | 256 } |
254 | 257 |
255 // Tests that a URL request for resource from an extension returns a few | 258 // Tests that a URL request for resource from an extension returns a few |
256 // expected response headers. | 259 // expected response headers. |
257 TEST_F(ExtensionProtocolTest, ResourceRequestResponseHeaders) { | 260 TEST_F(ExtensionProtocolTest, ResourceRequestResponseHeaders) { |
258 // Register a non-incognito extension protocol handler. | 261 // Register a non-incognito extension protocol handler. |
259 SetProtocolHandler(false); | 262 SetProtocolHandler(false); |
260 | 263 |
261 scoped_refptr<Extension> extension = CreateTestResponseHeaderExtension(); | 264 scoped_refptr<Extension> extension = CreateTestResponseHeaderExtension(); |
262 extension_info_map_->AddExtension(extension.get(), base::Time::Now(), false); | 265 extension_info_map_->AddExtension(extension.get(), |
| 266 base::Time::Now(), |
| 267 false, |
| 268 false); |
263 | 269 |
264 { | 270 { |
265 net::URLRequest request(extension->GetResourceURL("test.dat"), | 271 net::URLRequest request(extension->GetResourceURL("test.dat"), |
266 net::DEFAULT_PRIORITY, | 272 net::DEFAULT_PRIORITY, |
267 &test_delegate_, | 273 &test_delegate_, |
268 resource_context_.GetRequestContext()); | 274 resource_context_.GetRequestContext()); |
269 StartRequest(&request, ResourceType::MEDIA); | 275 StartRequest(&request, ResourceType::MEDIA); |
270 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); | 276 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); |
271 | 277 |
272 // Check that cache-related headers are set. | 278 // Check that cache-related headers are set. |
(...skipping 14 matching lines...) Expand all Loading... |
287 } | 293 } |
288 } | 294 } |
289 | 295 |
290 // Tests that a URL request for main frame or subframe from an extension | 296 // Tests that a URL request for main frame or subframe from an extension |
291 // succeeds, but subresources fail. See http://crbug.com/312269. | 297 // succeeds, but subresources fail. See http://crbug.com/312269. |
292 TEST_F(ExtensionProtocolTest, AllowFrameRequests) { | 298 TEST_F(ExtensionProtocolTest, AllowFrameRequests) { |
293 // Register a non-incognito extension protocol handler. | 299 // Register a non-incognito extension protocol handler. |
294 SetProtocolHandler(false); | 300 SetProtocolHandler(false); |
295 | 301 |
296 scoped_refptr<Extension> extension = CreateTestExtension("foo", false); | 302 scoped_refptr<Extension> extension = CreateTestExtension("foo", false); |
297 extension_info_map_->AddExtension(extension.get(), base::Time::Now(), false); | 303 extension_info_map_->AddExtension(extension.get(), |
| 304 base::Time::Now(), |
| 305 false, |
| 306 false); |
298 | 307 |
299 // All MAIN_FRAME and SUB_FRAME requests should succeed. | 308 // All MAIN_FRAME and SUB_FRAME requests should succeed. |
300 { | 309 { |
301 net::URLRequest request(extension->GetResourceURL("test.dat"), | 310 net::URLRequest request(extension->GetResourceURL("test.dat"), |
302 net::DEFAULT_PRIORITY, | 311 net::DEFAULT_PRIORITY, |
303 &test_delegate_, | 312 &test_delegate_, |
304 resource_context_.GetRequestContext()); | 313 resource_context_.GetRequestContext()); |
305 StartRequest(&request, ResourceType::MAIN_FRAME); | 314 StartRequest(&request, ResourceType::MAIN_FRAME); |
306 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); | 315 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); |
307 } | 316 } |
(...skipping 11 matching lines...) Expand all Loading... |
319 net::URLRequest request(extension->GetResourceURL("test.dat"), | 328 net::URLRequest request(extension->GetResourceURL("test.dat"), |
320 net::DEFAULT_PRIORITY, | 329 net::DEFAULT_PRIORITY, |
321 &test_delegate_, | 330 &test_delegate_, |
322 resource_context_.GetRequestContext()); | 331 resource_context_.GetRequestContext()); |
323 StartRequest(&request, ResourceType::MEDIA); | 332 StartRequest(&request, ResourceType::MEDIA); |
324 EXPECT_EQ(net::URLRequestStatus::FAILED, request.status().status()); | 333 EXPECT_EQ(net::URLRequestStatus::FAILED, request.status().status()); |
325 } | 334 } |
326 } | 335 } |
327 | 336 |
328 } // namespace extensions | 337 } // namespace extensions |
OLD | NEW |