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 |