| 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 |