Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: chrome/browser/download/download_request_limiter_unittest.cc

Issue 2946953003: Prepare DownloadRequestLimiterTest for enabling PermissionRequestManager on Android (Closed)
Patch Set: fix condition Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/browser/download/download_request_limiter.h" 5 #include "chrome/browser/download/download_request_limiter.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
11 #include "chrome/browser/chrome_notification_types.h" 11 #include "chrome/browser/chrome_notification_types.h"
12 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 12 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
13 #include "chrome/browser/download/download_permission_request.h"
14 #include "chrome/browser/permissions/permission_request_manager.h"
13 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h"
14 #include "chrome/common/chrome_switches.h" 17 #include "chrome/common/chrome_switches.h"
15 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 18 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
16 #include "components/content_settings/core/browser/host_content_settings_map.h" 19 #include "components/content_settings/core/browser/host_content_settings_map.h"
17 #include "content/public/browser/navigation_controller.h" 20 #include "content/public/browser/navigation_controller.h"
18 #include "content/public/browser/navigation_details.h" 21 #include "content/public/browser/navigation_details.h"
19 #include "content/public/browser/notification_service.h" 22 #include "content/public/browser/notification_service.h"
20 #include "content/public/browser/notification_source.h" 23 #include "content/public/browser/notification_source.h"
21 #include "content/public/browser/web_contents.h" 24 #include "content/public/browser/web_contents.h"
22 #include "content/public/common/frame_navigate_params.h" 25 #include "content/public/common/frame_navigate_params.h"
23 #include "content/public/test/web_contents_tester.h" 26 #include "content/public/test/web_contents_tester.h"
24 #include "testing/gtest/include/gtest/gtest.h" 27 #include "testing/gtest/include/gtest/gtest.h"
25 28
26 #if defined(OS_ANDROID) 29 #if defined(OS_ANDROID)
27 #include "chrome/browser/download/download_request_infobar_delegate_android.h" 30 #include "chrome/browser/download/download_request_infobar_delegate_android.h"
28 #include "chrome/browser/infobars/infobar_service.h" 31 #include "chrome/browser/infobars/infobar_service.h"
29 #else 32 #else
30 #include "chrome/browser/download/download_permission_request.h"
31 #include "chrome/browser/permissions/permission_request_manager.h"
32 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h"
33 #endif 33 #endif
34 34
35 using content::WebContents; 35 using content::WebContents;
36 36
37 namespace { 37 namespace {
38 enum TestingAction { 38 enum TestingAction {
39 ACCEPT, 39 ACCEPT,
40 CANCEL, 40 CANCEL,
41 WAIT 41 WAIT
42 }; 42 };
43
44 #if defined(OS_ANDROID)
45 class TestingDelegate {
46 public:
47 void SetUp(WebContents* web_contents) {
48 InfoBarService::CreateForWebContents(web_contents);
49 fake_create_callback_ =
50 base::Bind(&TestingDelegate::FakeCreate, base::Unretained(this));
51 DownloadRequestInfoBarDelegateAndroid::SetCallbackForTesting(
52 &fake_create_callback_);
53 ResetCounts();
54 }
55
56 void TearDown() { UnsetInfobarDelegate(); }
57
58 void LoadCompleted(WebContents* /*web_contents*/) {
59 // No action needed on OS_ANDROID.
60 }
61
62 void ResetCounts() { ask_allow_count_ = 0; }
63
64 int AllowCount() { return ask_allow_count_; }
65
66 void UpdateExpectations(TestingAction action) { testing_action_ = action; }
67
68 void FakeCreate(
69 InfoBarService* infobar_service,
70 base::WeakPtr<DownloadRequestLimiter::TabDownloadState> host) {
71 ask_allow_count_++;
72 switch (testing_action_) {
73 case ACCEPT:
74 host->Accept();
75 break;
76 case CANCEL:
77 host->Cancel();
78 break;
79 case WAIT:
80 break;
81 }
82 }
83
84 void UnsetInfobarDelegate() {
85 DownloadRequestInfoBarDelegateAndroid::SetCallbackForTesting(nullptr);
86 }
87
88 private:
89 // Number of times ShouldAllowDownload was invoked.
90 int ask_allow_count_;
91
92 // The action that FakeCreate() should take.
93 TestingAction testing_action_;
94
95 DownloadRequestInfoBarDelegateAndroid::FakeCreateCallback
96 fake_create_callback_;
97 };
98 #else
99 class TestingDelegate {
100 public:
101 void SetUp(WebContents* web_contents) {
102 PermissionRequestManager::CreateForWebContents(web_contents);
103 mock_permission_prompt_factory_.reset(new MockPermissionPromptFactory(
104 PermissionRequestManager::FromWebContents(web_contents)));
105 PermissionRequestManager::FromWebContents(web_contents)
106 ->DisplayPendingRequests();
107 }
108
109 void TearDown() { mock_permission_prompt_factory_.reset(); }
110
111 void LoadCompleted(WebContents* web_contents) {
112 mock_permission_prompt_factory_->DocumentOnLoadCompletedInMainFrame();
113 }
114
115 void ResetCounts() { mock_permission_prompt_factory_->ResetCounts(); }
116
117 int AllowCount() { return mock_permission_prompt_factory_->show_count(); }
118
119 void UpdateExpectations(TestingAction action) {
120 // Set expectations for PermissionRequestManager.
121 PermissionRequestManager::AutoResponseType response_type =
122 PermissionRequestManager::DISMISS;
123 switch (action) {
124 case ACCEPT:
125 response_type = PermissionRequestManager::ACCEPT_ALL;
126 break;
127 case CANCEL:
128 response_type = PermissionRequestManager::DENY_ALL;
129 break;
130 case WAIT:
131 response_type = PermissionRequestManager::NONE;
132 break;
133 }
134 mock_permission_prompt_factory_->set_response_type(response_type);
135 }
136
137 private:
138 std::unique_ptr<MockPermissionPromptFactory> mock_permission_prompt_factory_;
139 };
140 #endif
141 } // namespace 43 } // namespace
142 44
143 class DownloadRequestLimiterTest : public ChromeRenderViewHostTestHarness { 45 class DownloadRequestLimiterTest : public ChromeRenderViewHostTestHarness {
144 public: 46 public:
145 void SetUp() override { 47 void SetUp() override {
146 ChromeRenderViewHostTestHarness::SetUp(); 48 ChromeRenderViewHostTestHarness::SetUp();
147 testing_delegate_.SetUp(web_contents()); 49
50 use_permission_request_manager_ = PermissionRequestManager::IsEnabled();
51
52 if (use_permission_request_manager_) {
53 PermissionRequestManager::CreateForWebContents(web_contents());
54 PermissionRequestManager* manager =
55 PermissionRequestManager::FromWebContents(web_contents());
56 mock_permission_prompt_factory_.reset(
57 new MockPermissionPromptFactory(manager));
58 manager->DisplayPendingRequests();
59 } else {
60 #if defined(OS_ANDROID)
61 InfoBarService::CreateForWebContents(web_contents());
62 fake_create_callback_ = base::Bind(
63 &DownloadRequestLimiterTest::FakeCreate, base::Unretained(this));
64 DownloadRequestInfoBarDelegateAndroid::SetCallbackForTesting(
65 &fake_create_callback_);
66 #endif
67 }
148 68
149 UpdateExpectations(ACCEPT); 69 UpdateExpectations(ACCEPT);
150 cancel_count_ = continue_count_ = 0; 70 ask_allow_count_ = cancel_count_ = continue_count_ = 0;
151 download_request_limiter_ = new DownloadRequestLimiter(); 71 download_request_limiter_ = new DownloadRequestLimiter();
152 } 72 }
153 73
154 void TearDown() override { 74 void TearDown() override {
155 testing_delegate_.TearDown(); 75 if (use_permission_request_manager_) {
76 mock_permission_prompt_factory_.reset();
77 } else {
78 #if defined(OS_ANDROID)
79 UnsetInfobarDelegate();
80 #endif
81 }
156 82
157 ChromeRenderViewHostTestHarness::TearDown(); 83 ChromeRenderViewHostTestHarness::TearDown();
158 } 84 }
159 85
160 void CanDownload() { 86 void CanDownload() {
161 CanDownloadFor(web_contents()); 87 CanDownloadFor(web_contents());
162 } 88 }
163 89
164 void CanDownloadFor(WebContents* web_contents) { 90 void CanDownloadFor(WebContents* web_contents) {
165 download_request_limiter_->CanDownloadImpl( 91 download_request_limiter_->CanDownloadImpl(
(...skipping 19 matching lines...) Expand all
185 111
186 void ExpectAndResetCounts( 112 void ExpectAndResetCounts(
187 int expect_continues, 113 int expect_continues,
188 int expect_cancels, 114 int expect_cancels,
189 int expect_asks, 115 int expect_asks,
190 int line) { 116 int line) {
191 EXPECT_EQ(expect_continues, continue_count_) << "line " << line; 117 EXPECT_EQ(expect_continues, continue_count_) << "line " << line;
192 EXPECT_EQ(expect_cancels, cancel_count_) << "line " << line; 118 EXPECT_EQ(expect_cancels, cancel_count_) << "line " << line;
193 EXPECT_EQ(expect_asks, AskAllowCount()) << "line " << line; 119 EXPECT_EQ(expect_asks, AskAllowCount()) << "line " << line;
194 continue_count_ = cancel_count_ = 0; 120 continue_count_ = cancel_count_ = 0;
195 testing_delegate_.ResetCounts(); 121 if (use_permission_request_manager_)
122 mock_permission_prompt_factory_->ResetCounts();
123 else
124 ask_allow_count_ = 0;
196 } 125 }
197 126
198 void UpdateContentSettings(WebContents* web_contents, 127 void UpdateContentSettings(WebContents* web_contents,
199 ContentSetting setting) { 128 ContentSetting setting) {
200 // Ensure a download state exists. 129 // Ensure a download state exists.
201 download_request_limiter_->GetDownloadState(web_contents, nullptr, true); 130 download_request_limiter_->GetDownloadState(web_contents, nullptr, true);
202 SetHostContentSetting(web_contents, setting); 131 SetHostContentSetting(web_contents, setting);
203 } 132 }
204 133
205 protected: 134 protected:
206 void ContinueDownload(bool allow) { 135 void ContinueDownload(bool allow) {
207 if (allow) { 136 if (allow) {
208 continue_count_++; 137 continue_count_++;
209 } else { 138 } else {
210 cancel_count_++; 139 cancel_count_++;
211 } 140 }
212 } 141 }
213 142
214 void SetHostContentSetting(WebContents* contents, ContentSetting setting) { 143 void SetHostContentSetting(WebContents* contents, ContentSetting setting) {
215 HostContentSettingsMapFactory::GetForProfile( 144 HostContentSettingsMapFactory::GetForProfile(
216 Profile::FromBrowserContext(contents->GetBrowserContext())) 145 Profile::FromBrowserContext(contents->GetBrowserContext()))
217 ->SetContentSettingDefaultScope( 146 ->SetContentSettingDefaultScope(
218 contents->GetURL(), GURL(), 147 contents->GetURL(), GURL(),
219 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, std::string(), setting); 148 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, std::string(), setting);
220 } 149 }
221 150
222 void LoadCompleted() { testing_delegate_.LoadCompleted(web_contents()); } 151 void LoadCompleted() {
152 if (use_permission_request_manager_)
153 mock_permission_prompt_factory_->DocumentOnLoadCompletedInMainFrame();
154 }
223 155
224 int AskAllowCount() { return testing_delegate_.AllowCount(); } 156 int AskAllowCount() {
157 if (use_permission_request_manager_)
158 return mock_permission_prompt_factory_->show_count();
159 return ask_allow_count_;
160 }
225 161
226 void UpdateExpectations(TestingAction action) { 162 void UpdateExpectations(TestingAction action) {
227 testing_delegate_.UpdateExpectations(action); 163 if (use_permission_request_manager_) {
164 // Set expectations for PermissionRequestManager.
165 PermissionRequestManager::AutoResponseType response_type =
166 PermissionRequestManager::DISMISS;
167 switch (action) {
168 case ACCEPT:
169 response_type = PermissionRequestManager::ACCEPT_ALL;
170 break;
171 case CANCEL:
172 response_type = PermissionRequestManager::DENY_ALL;
173 break;
174 case WAIT:
175 response_type = PermissionRequestManager::NONE;
176 break;
177 }
178 mock_permission_prompt_factory_->set_response_type(response_type);
179 } else {
180 testing_action_ = action;
181 }
228 } 182 }
229 183
184 #if defined(OS_ANDROID)
185 void FakeCreate(
186 InfoBarService* infobar_service,
187 base::WeakPtr<DownloadRequestLimiter::TabDownloadState> host) {
188 ask_allow_count_++;
189 switch (testing_action_) {
190 case ACCEPT:
191 host->Accept();
192 break;
193 case CANCEL:
194 host->Cancel();
195 break;
196 case WAIT:
197 break;
198 }
199 }
200
201 void UnsetInfobarDelegate() {
202 if (!use_permission_request_manager_)
203 DownloadRequestInfoBarDelegateAndroid::SetCallbackForTesting(nullptr);
204 }
205 #endif
206
230 scoped_refptr<DownloadRequestLimiter> download_request_limiter_; 207 scoped_refptr<DownloadRequestLimiter> download_request_limiter_;
231 208
232 // Number of times ContinueDownload was invoked. 209 // Number of times ContinueDownload was invoked.
233 int continue_count_; 210 int continue_count_;
234 211
235 // Number of times CancelDownload was invoked. 212 // Number of times CancelDownload was invoked.
236 int cancel_count_; 213 int cancel_count_;
237 214
238 TestingDelegate testing_delegate_; 215 std::unique_ptr<MockPermissionPromptFactory> mock_permission_prompt_factory_;
216
217 // TODO(timloh): Remove the members below here after crbug.com/606138 is done.
218
219 bool use_permission_request_manager_;
220
221 // Number of times ShouldAllowDownload was invoked.
222 int ask_allow_count_;
223 // The action that FakeCreate() should take.
224 TestingAction testing_action_;
225 #if defined(OS_ANDROID)
226 DownloadRequestInfoBarDelegateAndroid::FakeCreateCallback
227 fake_create_callback_;
228 #endif
239 }; 229 };
240 230
241 TEST_F(DownloadRequestLimiterTest, DownloadRequestLimiter_Allow) { 231 TEST_F(DownloadRequestLimiterTest, DownloadRequestLimiter_Allow) {
242 NavigateAndCommit(GURL("http://foo.com/bar")); 232 NavigateAndCommit(GURL("http://foo.com/bar"));
243 LoadCompleted(); 233 LoadCompleted();
244 234
245 // All tabs should initially start at ALLOW_ONE_DOWNLOAD. 235 // All tabs should initially start at ALLOW_ONE_DOWNLOAD.
246 ASSERT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD, 236 ASSERT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD,
247 download_request_limiter_->GetDownloadStatus(web_contents())); 237 download_request_limiter_->GetDownloadStatus(web_contents()));
248 238
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 LoadCompleted(); 554 LoadCompleted();
565 base::RunLoop().RunUntilIdle(); 555 base::RunLoop().RunUntilIdle();
566 ASSERT_EQ(DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED, 556 ASSERT_EQ(DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED,
567 download_request_limiter_->GetDownloadStatus(web_contents())); 557 download_request_limiter_->GetDownloadStatus(web_contents()));
568 CanDownload(); 558 CanDownload();
569 ExpectAndResetCounts(0, 1, 0, __LINE__); 559 ExpectAndResetCounts(0, 1, 0, __LINE__);
570 ASSERT_EQ(DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED, 560 ASSERT_EQ(DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED,
571 download_request_limiter_->GetDownloadStatus(web_contents())); 561 download_request_limiter_->GetDownloadStatus(web_contents()));
572 } 562 }
573 563
574 #if defined(OS_ANDROID)
575 TEST_F(DownloadRequestLimiterTest, DownloadRequestLimiter_RawWebContents) { 564 TEST_F(DownloadRequestLimiterTest, DownloadRequestLimiter_RawWebContents) {
576 std::unique_ptr<WebContents> web_contents(CreateTestWebContents()); 565 std::unique_ptr<WebContents> web_contents(CreateTestWebContents());
577 566
578 GURL url("http://foo.com/bar"); 567 GURL url("http://foo.com/bar");
579 web_contents->GetController().LoadURL( 568 web_contents->GetController().LoadURL(
580 url, content::Referrer(), ui::PAGE_TRANSITION_LINK, std::string()); 569 url, content::Referrer(), ui::PAGE_TRANSITION_LINK, std::string());
581 570
582 // DownloadRequestLimiter won't try to make a permission bubble if there's 571 // DownloadRequestLimiter won't try to make a permission request or infobar
583 // no permission bubble manager, so don't put one on the test WebContents. 572 // if there is no PermissionRequestManager/InfoBarService, and we want to
584 573 // test that it will Cancel() instead of prompting.
585 // DownloadRequestLimiter won't try to make an infobar if it doesn't have an 574 #if defined(OS_ANDROID)
586 // InfoBarService, and we want to test that it will Cancel() instead of 575 UnsetInfobarDelegate();
587 // prompting when it doesn't have a InfoBarService, so unset the delegate. 576 #endif
588 testing_delegate_.UnsetInfobarDelegate();
589 ExpectAndResetCounts(0, 0, 0, __LINE__); 577 ExpectAndResetCounts(0, 0, 0, __LINE__);
590 EXPECT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD, 578 EXPECT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD,
591 download_request_limiter_->GetDownloadStatus(web_contents.get())); 579 download_request_limiter_->GetDownloadStatus(web_contents.get()));
592 // You get one freebie. 580 // You get one freebie.
593 CanDownloadFor(web_contents.get()); 581 CanDownloadFor(web_contents.get());
594 ExpectAndResetCounts(1, 0, 0, __LINE__); 582 ExpectAndResetCounts(1, 0, 0, __LINE__);
595 EXPECT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD, 583 EXPECT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD,
596 download_request_limiter_->GetDownloadStatus(web_contents.get())); 584 download_request_limiter_->GetDownloadStatus(web_contents.get()));
597 OnUserInteractionFor(web_contents.get(), blink::WebInputEvent::kTouchStart); 585 OnUserInteractionFor(web_contents.get(), blink::WebInputEvent::kTouchStart);
598 EXPECT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD, 586 EXPECT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD,
599 download_request_limiter_->GetDownloadStatus(web_contents.get())); 587 download_request_limiter_->GetDownloadStatus(web_contents.get()));
600 CanDownloadFor(web_contents.get()); 588 CanDownloadFor(web_contents.get());
601 ExpectAndResetCounts(1, 0, 0, __LINE__); 589 ExpectAndResetCounts(1, 0, 0, __LINE__);
602 EXPECT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD, 590 EXPECT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD,
603 download_request_limiter_->GetDownloadStatus(web_contents.get())); 591 download_request_limiter_->GetDownloadStatus(web_contents.get()));
604 CanDownloadFor(web_contents.get()); 592 CanDownloadFor(web_contents.get());
605 ExpectAndResetCounts(0, 1, 0, __LINE__); 593 ExpectAndResetCounts(0, 1, 0, __LINE__);
606 EXPECT_EQ(DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED, 594 EXPECT_EQ(DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED,
607 download_request_limiter_->GetDownloadStatus(web_contents.get())); 595 download_request_limiter_->GetDownloadStatus(web_contents.get()));
608 OnUserInteractionFor(web_contents.get(), blink::WebInputEvent::kRawKeyDown); 596 OnUserInteractionFor(web_contents.get(), blink::WebInputEvent::kRawKeyDown);
609 EXPECT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD, 597 EXPECT_EQ(DownloadRequestLimiter::ALLOW_ONE_DOWNLOAD,
610 download_request_limiter_->GetDownloadStatus(web_contents.get())); 598 download_request_limiter_->GetDownloadStatus(web_contents.get()));
611 CanDownloadFor(web_contents.get()); 599 CanDownloadFor(web_contents.get());
612 ExpectAndResetCounts(1, 0, 0, __LINE__); 600 ExpectAndResetCounts(1, 0, 0, __LINE__);
613 EXPECT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD, 601 EXPECT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD,
614 download_request_limiter_->GetDownloadStatus(web_contents.get())); 602 download_request_limiter_->GetDownloadStatus(web_contents.get()));
615 } 603 }
616 #endif
617 604
618 TEST_F(DownloadRequestLimiterTest, 605 TEST_F(DownloadRequestLimiterTest,
619 DownloadRequestLimiter_SetHostContentSetting) { 606 DownloadRequestLimiter_SetHostContentSetting) {
620 NavigateAndCommit(GURL("http://foo.com/bar")); 607 NavigateAndCommit(GURL("http://foo.com/bar"));
621 LoadCompleted(); 608 LoadCompleted();
622 SetHostContentSetting(web_contents(), CONTENT_SETTING_ALLOW); 609 SetHostContentSetting(web_contents(), CONTENT_SETTING_ALLOW);
623 610
624 CanDownload(); 611 CanDownload();
625 ExpectAndResetCounts(1, 0, 0, __LINE__); 612 ExpectAndResetCounts(1, 0, 0, __LINE__);
626 ASSERT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD, 613 ASSERT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 // changing the content setting). 679 // changing the content setting).
693 UpdateContentSettings(web_contents(), CONTENT_SETTING_ASK); 680 UpdateContentSettings(web_contents(), CONTENT_SETTING_ASK);
694 ASSERT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD, 681 ASSERT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD,
695 download_request_limiter_->GetDownloadStatus(web_contents())); 682 download_request_limiter_->GetDownloadStatus(web_contents()));
696 UpdateExpectations(WAIT); 683 UpdateExpectations(WAIT);
697 CanDownload(); 684 CanDownload();
698 ExpectAndResetCounts(0, 0, 1, __LINE__); 685 ExpectAndResetCounts(0, 0, 1, __LINE__);
699 ASSERT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD, 686 ASSERT_EQ(DownloadRequestLimiter::PROMPT_BEFORE_DOWNLOAD,
700 download_request_limiter_->GetDownloadStatus(web_contents())); 687 download_request_limiter_->GetDownloadStatus(web_contents()));
701 } 688 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698