OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/ui/content_settings/content_setting_image_model.h" | 5 #include "chrome/browser/ui/content_settings/content_setting_image_model.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
| 8 #include "chrome/browser/browser_process.h" |
| 9 #include "chrome/browser/download/download_request_limiter.h" |
8 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 12 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
11 #include "chrome/test/base/in_process_browser_test.h" | 13 #include "chrome/test/base/in_process_browser_test.h" |
12 | 14 |
13 using content::WebContents; | 15 using content::WebContents; |
14 | 16 |
15 typedef InProcessBrowserTest ContentSettingImageModelBrowserTest; | 17 typedef InProcessBrowserTest ContentSettingImageModelBrowserTest; |
16 | 18 |
17 // Tests that every model creates a valid bubble. | 19 // Tests that every model creates a valid bubble. |
18 IN_PROC_BROWSER_TEST_F(ContentSettingImageModelBrowserTest, CreateBubbleModel) { | 20 IN_PROC_BROWSER_TEST_F(ContentSettingImageModelBrowserTest, CreateBubbleModel) { |
19 WebContents* web_contents = | 21 WebContents* web_contents = |
20 browser()->tab_strip_model()->GetActiveWebContents(); | 22 browser()->tab_strip_model()->GetActiveWebContents(); |
21 TabSpecificContentSettings* content_settings = | 23 TabSpecificContentSettings* content_settings = |
22 TabSpecificContentSettings::FromWebContents(web_contents); | 24 TabSpecificContentSettings::FromWebContents(web_contents); |
23 content_settings->BlockAllContentForTesting(); | 25 content_settings->BlockAllContentForTesting(); |
24 | 26 |
| 27 // Automatic downloads are handled by DownloadRequestLimiter. |
| 28 g_browser_process->download_request_limiter() |
| 29 ->GetDownloadState(web_contents, web_contents, true) |
| 30 ->SetDownloadStatusAndNotify( |
| 31 DownloadRequestLimiter::DOWNLOADS_NOT_ALLOWED); |
| 32 |
25 // Test that image models tied to a single content setting create bubbles tied | 33 // Test that image models tied to a single content setting create bubbles tied |
26 // to the same setting. | 34 // to the same setting. |
27 static const ContentSettingsType content_settings_to_test[] = { | 35 static const ContentSettingsType content_settings_to_test[] = { |
28 CONTENT_SETTINGS_TYPE_COOKIES, | 36 CONTENT_SETTINGS_TYPE_COOKIES, |
29 CONTENT_SETTINGS_TYPE_IMAGES, | 37 CONTENT_SETTINGS_TYPE_IMAGES, |
30 CONTENT_SETTINGS_TYPE_JAVASCRIPT, | 38 CONTENT_SETTINGS_TYPE_JAVASCRIPT, |
31 CONTENT_SETTINGS_TYPE_PLUGINS, | 39 CONTENT_SETTINGS_TYPE_PLUGINS, |
32 CONTENT_SETTINGS_TYPE_POPUPS, | 40 CONTENT_SETTINGS_TYPE_POPUPS, |
33 CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, | 41 CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, |
34 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, | 42 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, |
35 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, | |
36 CONTENT_SETTINGS_TYPE_GEOLOCATION, | 43 CONTENT_SETTINGS_TYPE_GEOLOCATION, |
37 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, | 44 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, |
38 CONTENT_SETTINGS_TYPE_MIDI_SYSEX, | 45 CONTENT_SETTINGS_TYPE_MIDI_SYSEX, |
39 }; | 46 }; |
40 | 47 |
41 Profile* profile = browser()->profile(); | 48 Profile* profile = browser()->profile(); |
42 for (ContentSettingsType type : content_settings_to_test) { | 49 for (ContentSettingsType type : content_settings_to_test) { |
43 std::unique_ptr<ContentSettingBubbleModel> bubble( | 50 std::unique_ptr<ContentSettingBubbleModel> bubble( |
44 ContentSettingSimpleImageModel::CreateForContentTypeForTesting(type) | 51 ContentSettingSimpleImageModel::CreateForContentTypeForTesting(type) |
45 ->CreateBubbleModel(nullptr, web_contents, profile)); | 52 ->CreateBubbleModel(nullptr, web_contents, profile)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 EXPECT_FALSE(model->ShouldRunAnimation(web_contents)); | 86 EXPECT_FALSE(model->ShouldRunAnimation(web_contents)); |
80 | 87 |
81 // The animation has run for the current WebContents, but not for any other. | 88 // The animation has run for the current WebContents, but not for any other. |
82 Profile* profile = browser()->profile(); | 89 Profile* profile = browser()->profile(); |
83 WebContents::CreateParams create_params(profile); | 90 WebContents::CreateParams create_params(profile); |
84 WebContents* other_web_contents = WebContents::Create(create_params); | 91 WebContents* other_web_contents = WebContents::Create(create_params); |
85 browser()->tab_strip_model()->TabStripModel::AppendWebContents( | 92 browser()->tab_strip_model()->TabStripModel::AppendWebContents( |
86 other_web_contents, true); | 93 other_web_contents, true); |
87 EXPECT_TRUE(model->ShouldRunAnimation(other_web_contents)); | 94 EXPECT_TRUE(model->ShouldRunAnimation(other_web_contents)); |
88 } | 95 } |
OLD | NEW |