| 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 <queue> | 5 #include <queue> |
| 6 #include <map> | 6 #include <map> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| 11 #include "base/json/json_string_value_serializer.h" | 11 #include "base/json/json_string_value_serializer.h" |
| 12 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
| 13 #include "base/message_loop.h" |
| 13 #include "base/path_service.h" | 14 #include "base/path_service.h" |
| 14 #include "base/stl_util.h" | 15 #include "base/stl_util.h" |
| 15 #include "base/utf_string_conversions.h" | 16 #include "base/utf_string_conversions.h" |
| 17 #include "chrome/browser/content_settings/cookie_settings.h" |
| 16 #include "chrome/browser/extensions/api/webrequest/webrequest_api.h" | 18 #include "chrome/browser/extensions/api/webrequest/webrequest_api.h" |
| 17 #include "chrome/browser/extensions/api/webrequest/webrequest_api_constants.h" | 19 #include "chrome/browser/extensions/api/webrequest/webrequest_api_constants.h" |
| 18 #include "chrome/browser/extensions/api/webrequest/webrequest_api_helpers.h" | 20 #include "chrome/browser/extensions/api/webrequest/webrequest_api_helpers.h" |
| 19 #include "chrome/browser/extensions/extension_event_router_forwarder.h" | 21 #include "chrome/browser/extensions/extension_event_router_forwarder.h" |
| 20 #include "chrome/browser/net/chrome_network_delegate.h" | 22 #include "chrome/browser/net/chrome_network_delegate.h" |
| 21 #include "chrome/browser/prefs/pref_member.h" | 23 #include "chrome/browser/prefs/pref_member.h" |
| 22 #include "chrome/common/extensions/extension_messages.h" | 24 #include "chrome/common/extensions/extension_messages.h" |
| 23 #include "chrome/common/pref_names.h" | 25 #include "chrome/common/pref_names.h" |
| 24 #include "chrome/test/base/testing_browser_process.h" | 26 #include "chrome/test/base/testing_browser_process.h" |
| 25 #include "chrome/test/base/testing_pref_service.h" | 27 #include "chrome/test/base/testing_pref_service.h" |
| 26 #include "chrome/test/base/testing_profile.h" | 28 #include "chrome/test/base/testing_profile.h" |
| 29 #include "content/test/test_browser_thread.h" |
| 27 #include "net/base/auth.h" | 30 #include "net/base/auth.h" |
| 28 #include "net/base/net_util.h" | 31 #include "net/base/net_util.h" |
| 29 #include "net/url_request/url_request_test_util.h" | 32 #include "net/url_request/url_request_test_util.h" |
| 30 #include "testing/gtest/include/gtest/gtest.h" | 33 #include "testing/gtest/include/gtest/gtest.h" |
| 31 | 34 |
| 32 namespace helpers = extension_webrequest_api_helpers; | 35 namespace helpers = extension_webrequest_api_helpers; |
| 33 namespace keys = extension_webrequest_api_constants; | 36 namespace keys = extension_webrequest_api_constants; |
| 34 | 37 |
| 35 namespace { | 38 namespace { |
| 36 static void EventHandledOnIOThread( | 39 static void EventHandledOnIOThread( |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 | 91 |
| 89 sent_messages_.push_back(linked_ptr<IPC::Message>(message)); | 92 sent_messages_.push_back(linked_ptr<IPC::Message>(message)); |
| 90 return true; | 93 return true; |
| 91 } | 94 } |
| 92 | 95 |
| 93 std::queue<base::Closure> task_queue_; | 96 std::queue<base::Closure> task_queue_; |
| 94 SentMessages sent_messages_; | 97 SentMessages sent_messages_; |
| 95 }; | 98 }; |
| 96 | 99 |
| 97 class ExtensionWebRequestTest : public testing::Test { | 100 class ExtensionWebRequestTest : public testing::Test { |
| 101 public: |
| 102 ExtensionWebRequestTest() |
| 103 : ui_thread_(content::BrowserThread::UI, &message_loop_), |
| 104 io_thread_(content::BrowserThread::IO, &message_loop_) {} |
| 105 |
| 98 protected: | 106 protected: |
| 99 virtual void SetUp() { | 107 virtual void SetUp() OVERRIDE { |
| 100 event_router_ = new ExtensionEventRouterForwarder(); | 108 event_router_ = new ExtensionEventRouterForwarder(); |
| 101 enable_referrers_.Init( | 109 enable_referrers_.Init( |
| 102 prefs::kEnableReferrers, profile_.GetTestingPrefService(), NULL); | 110 prefs::kEnableReferrers, profile_.GetTestingPrefService(), NULL); |
| 103 network_delegate_.reset(new ChromeNetworkDelegate( | 111 network_delegate_.reset(new ChromeNetworkDelegate( |
| 104 event_router_.get(), NULL, NULL, &profile_, &enable_referrers_)); | 112 event_router_.get(), NULL, NULL, &profile_, |
| 113 CookieSettings::Factory::GetForProfile(&profile_), &enable_referrers_)); |
| 105 context_ = new TestURLRequestContext(); | 114 context_ = new TestURLRequestContext(); |
| 106 context_->set_network_delegate(network_delegate_.get()); | 115 context_->set_network_delegate(network_delegate_.get()); |
| 107 } | 116 } |
| 108 | 117 |
| 109 MessageLoopForIO io_loop_; | 118 MessageLoopForIO message_loop_; |
| 119 content::TestBrowserThread ui_thread_; |
| 120 content::TestBrowserThread io_thread_; |
| 110 TestingProfile profile_; | 121 TestingProfile profile_; |
| 111 TestDelegate delegate_; | 122 TestDelegate delegate_; |
| 112 BooleanPrefMember enable_referrers_; | 123 BooleanPrefMember enable_referrers_; |
| 113 TestIPCSender ipc_sender_; | 124 TestIPCSender ipc_sender_; |
| 114 scoped_refptr<ExtensionEventRouterForwarder> event_router_; | 125 scoped_refptr<ExtensionEventRouterForwarder> event_router_; |
| 115 scoped_refptr<ExtensionInfoMap> extension_info_map_; | 126 scoped_refptr<ExtensionInfoMap> extension_info_map_; |
| 116 scoped_ptr<ChromeNetworkDelegate> network_delegate_; | 127 scoped_ptr<ChromeNetworkDelegate> network_delegate_; |
| 117 scoped_refptr<TestURLRequestContext> context_; | 128 scoped_refptr<TestURLRequestContext> context_; |
| 118 }; | 129 }; |
| 119 | 130 |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 int before_size; | 408 int before_size; |
| 398 HeaderModificationTest_Header before[10]; | 409 HeaderModificationTest_Header before[10]; |
| 399 int modification_size; | 410 int modification_size; |
| 400 HeaderModificationTest_Modification modification[10]; | 411 HeaderModificationTest_Modification modification[10]; |
| 401 int after_size; | 412 int after_size; |
| 402 HeaderModificationTest_Header after[10]; | 413 HeaderModificationTest_Header after[10]; |
| 403 }; | 414 }; |
| 404 | 415 |
| 405 class ExtensionWebRequestHeaderModificationTest : | 416 class ExtensionWebRequestHeaderModificationTest : |
| 406 public testing::TestWithParam<HeaderModificationTest> { | 417 public testing::TestWithParam<HeaderModificationTest> { |
| 418 public: |
| 419 ExtensionWebRequestHeaderModificationTest() |
| 420 : ui_thread_(content::BrowserThread::UI, &message_loop_), |
| 421 io_thread_(content::BrowserThread::IO, &message_loop_) {} |
| 422 |
| 407 protected: | 423 protected: |
| 408 virtual void SetUp() { | 424 virtual void SetUp() { |
| 409 event_router_ = new ExtensionEventRouterForwarder(); | 425 event_router_ = new ExtensionEventRouterForwarder(); |
| 410 enable_referrers_.Init( | 426 enable_referrers_.Init( |
| 411 prefs::kEnableReferrers, profile_.GetTestingPrefService(), NULL); | 427 prefs::kEnableReferrers, profile_.GetTestingPrefService(), NULL); |
| 412 network_delegate_.reset(new ChromeNetworkDelegate( | 428 network_delegate_.reset(new ChromeNetworkDelegate( |
| 413 event_router_.get(), NULL, NULL, &profile_, &enable_referrers_)); | 429 event_router_.get(), NULL, NULL, &profile_, |
| 430 CookieSettings::Factory::GetForProfile(&profile_), &enable_referrers_)); |
| 414 context_ = new TestURLRequestContext(); | 431 context_ = new TestURLRequestContext(); |
| 415 context_->set_network_delegate(network_delegate_.get()); | 432 context_->set_network_delegate(network_delegate_.get()); |
| 416 } | 433 } |
| 417 | 434 |
| 418 MessageLoopForIO io_loop_; | 435 MessageLoopForIO message_loop_; |
| 436 content::TestBrowserThread ui_thread_; |
| 437 content::TestBrowserThread io_thread_; |
| 419 TestingProfile profile_; | 438 TestingProfile profile_; |
| 420 TestDelegate delegate_; | 439 TestDelegate delegate_; |
| 421 BooleanPrefMember enable_referrers_; | 440 BooleanPrefMember enable_referrers_; |
| 422 TestIPCSender ipc_sender_; | 441 TestIPCSender ipc_sender_; |
| 423 scoped_refptr<ExtensionEventRouterForwarder> event_router_; | 442 scoped_refptr<ExtensionEventRouterForwarder> event_router_; |
| 424 scoped_refptr<ExtensionInfoMap> extension_info_map_; | 443 scoped_refptr<ExtensionInfoMap> extension_info_map_; |
| 425 scoped_ptr<ChromeNetworkDelegate> network_delegate_; | 444 scoped_ptr<ChromeNetworkDelegate> network_delegate_; |
| 426 scoped_refptr<TestURLRequestContext> context_; | 445 scoped_refptr<TestURLRequestContext> context_; |
| 427 }; | 446 }; |
| 428 | 447 |
| (...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1413 credentials_set = MergeOnAuthRequiredResponses( | 1432 credentials_set = MergeOnAuthRequiredResponses( |
| 1414 deltas, &auth3, &conflicting_extensions, &event_log); | 1433 deltas, &auth3, &conflicting_extensions, &event_log); |
| 1415 EXPECT_TRUE(credentials_set); | 1434 EXPECT_TRUE(credentials_set); |
| 1416 EXPECT_FALSE(auth3.Empty()); | 1435 EXPECT_FALSE(auth3.Empty()); |
| 1417 EXPECT_EQ(username, auth1.username()); | 1436 EXPECT_EQ(username, auth1.username()); |
| 1418 EXPECT_EQ(password, auth1.password()); | 1437 EXPECT_EQ(password, auth1.password()); |
| 1419 EXPECT_EQ(1u, conflicting_extensions.size()); | 1438 EXPECT_EQ(1u, conflicting_extensions.size()); |
| 1420 EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2")); | 1439 EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2")); |
| 1421 EXPECT_EQ(3u, event_log.size()); | 1440 EXPECT_EQ(3u, event_log.size()); |
| 1422 } | 1441 } |
| OLD | NEW |