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

Side by Side Diff: chrome/browser/geolocation/geolocation_settings_state_unittest.cc

Issue 7484072: Migrate geolocation settings to host content settings map. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/geolocation/geolocation_content_settings_map.h" 5 #include <string>
6
7 #include "chrome/browser/content_settings/host_content_settings_map.h"
6 #include "chrome/browser/geolocation/geolocation_settings_state.h" 8 #include "chrome/browser/geolocation/geolocation_settings_state.h"
7 #include "chrome/test/base/testing_browser_process_test.h" 9 #include "chrome/test/base/testing_browser_process_test.h"
8 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
9 #include "content/browser/browser_thread.h" 11 #include "content/browser/browser_thread.h"
10 #include "content/browser/tab_contents/navigation_details.h" 12 #include "content/browser/tab_contents/navigation_details.h"
11 #include "content/browser/tab_contents/navigation_entry.h" 13 #include "content/browser/tab_contents/navigation_entry.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 15
14 namespace { 16 namespace {
15 17
16 class GeolocationSettingsStateTests : public TestingBrowserProcessTest { 18 class GeolocationSettingsStateTests : public TestingBrowserProcessTest {
17 public: 19 public:
18 GeolocationSettingsStateTests() 20 GeolocationSettingsStateTests()
19 : ui_thread_(BrowserThread::UI, &message_loop_) { 21 : ui_thread_(BrowserThread::UI, &message_loop_) {
20 } 22 }
21 23
22 protected: 24 protected:
23 MessageLoop message_loop_; 25 MessageLoop message_loop_;
24 BrowserThread ui_thread_; 26 BrowserThread ui_thread_;
25 }; 27 };
26 28
27 TEST_F(GeolocationSettingsStateTests, ClearOnNewOrigin) { 29 TEST_F(GeolocationSettingsStateTests, ClearOnNewOrigin) {
28 TestingProfile profile; 30 TestingProfile profile;
29 GeolocationSettingsState state(&profile); 31 GeolocationSettingsState state(&profile);
30 GURL url_0("http://www.example.com"); 32 GURL url_0("http://www.example.com");
31 33
32 NavigationEntry entry; 34 NavigationEntry entry;
33 entry.set_url(url_0); 35 entry.set_url(url_0);
34 content::LoadCommittedDetails load_committed_details; 36 content::LoadCommittedDetails load_committed_details;
35 load_committed_details.entry = &entry; 37 load_committed_details.entry = &entry;
36 state.DidNavigate(load_committed_details); 38 state.DidNavigate(load_committed_details);
37 39
38 profile.GetGeolocationContentSettingsMap()->SetContentSetting( 40 profile.GetHostContentSettingsMap()->SetContentSetting(
39 url_0, url_0, CONTENT_SETTING_ALLOW); 41 ContentSettingsPattern::FromURLNoWildcard(url_0),
42 ContentSettingsPattern::FromURLNoWildcard(url_0),
43 CONTENT_SETTINGS_TYPE_GEOLOCATION,
44 std::string(),
45 CONTENT_SETTING_ALLOW);
40 state.OnGeolocationPermissionSet(url_0, true); 46 state.OnGeolocationPermissionSet(url_0, true);
41 47
42 GURL url_1("http://www.example1.com"); 48 GURL url_1("http://www.example1.com");
43 profile.GetGeolocationContentSettingsMap()->SetContentSetting( 49 profile.GetHostContentSettingsMap()->SetContentSetting(
44 url_1, url_0, CONTENT_SETTING_BLOCK); 50 ContentSettingsPattern::FromURLNoWildcard(url_1),
51 ContentSettingsPattern::FromURLNoWildcard(url_0),
52 CONTENT_SETTINGS_TYPE_GEOLOCATION,
53 std::string(),
54 CONTENT_SETTING_BLOCK);
45 state.OnGeolocationPermissionSet(url_1, false); 55 state.OnGeolocationPermissionSet(url_1, false);
46 56
47 GeolocationSettingsState::StateMap state_map = 57 GeolocationSettingsState::StateMap state_map =
48 state.state_map(); 58 state.state_map();
49 EXPECT_EQ(2U, state_map.size()); 59 EXPECT_EQ(2U, state_map.size());
50 60
51 GeolocationSettingsState::FormattedHostsPerState formatted_host_per_state; 61 GeolocationSettingsState::FormattedHostsPerState formatted_host_per_state;
52 unsigned int tab_state_flags = 0; 62 unsigned int tab_state_flags = 0;
53 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags); 63 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags);
54 EXPECT_TRUE(tab_state_flags & 64 EXPECT_TRUE(tab_state_flags &
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 TestingProfile profile; 135 TestingProfile profile;
126 GeolocationSettingsState state(&profile); 136 GeolocationSettingsState state(&profile);
127 GURL url_0("http://www.example.com"); 137 GURL url_0("http://www.example.com");
128 138
129 NavigationEntry entry; 139 NavigationEntry entry;
130 entry.set_url(url_0); 140 entry.set_url(url_0);
131 content::LoadCommittedDetails load_committed_details; 141 content::LoadCommittedDetails load_committed_details;
132 load_committed_details.entry = &entry; 142 load_committed_details.entry = &entry;
133 state.DidNavigate(load_committed_details); 143 state.DidNavigate(load_committed_details);
134 144
135 profile.GetGeolocationContentSettingsMap()->SetContentSetting( 145 profile.GetHostContentSettingsMap()->SetContentSetting(
136 url_0, url_0, CONTENT_SETTING_ALLOW); 146 ContentSettingsPattern::FromURLNoWildcard(url_0),
147 ContentSettingsPattern::FromURLNoWildcard(url_0),
148 CONTENT_SETTINGS_TYPE_GEOLOCATION,
149 std::string(),
150 CONTENT_SETTING_ALLOW);
137 state.OnGeolocationPermissionSet(url_0, true); 151 state.OnGeolocationPermissionSet(url_0, true);
138 152
139 GURL url_1("https://www.example.com"); 153 GURL url_1("https://www.example.com");
140 profile.GetGeolocationContentSettingsMap()->SetContentSetting( 154 profile.GetHostContentSettingsMap()->SetContentSetting(
141 url_1, url_0, CONTENT_SETTING_ALLOW); 155 ContentSettingsPattern::FromURLNoWildcard(url_1),
156 ContentSettingsPattern::FromURLNoWildcard(url_0),
157 CONTENT_SETTINGS_TYPE_GEOLOCATION,
158 std::string(),
159 CONTENT_SETTING_ALLOW);
142 state.OnGeolocationPermissionSet(url_1, true); 160 state.OnGeolocationPermissionSet(url_1, true);
143 161
144 GURL url_2("http://www.example1.com"); 162 GURL url_2("http://www.example1.com");
145 profile.GetGeolocationContentSettingsMap()->SetContentSetting( 163 profile.GetHostContentSettingsMap()->SetContentSetting(
146 url_2, url_0, CONTENT_SETTING_ALLOW); 164 ContentSettingsPattern::FromURLNoWildcard(url_2),
165 ContentSettingsPattern::FromURLNoWildcard(url_0),
166 CONTENT_SETTINGS_TYPE_GEOLOCATION,
167 std::string(),
168 CONTENT_SETTING_ALLOW);
147 state.OnGeolocationPermissionSet(url_2, true); 169 state.OnGeolocationPermissionSet(url_2, true);
148 170
149 GeolocationSettingsState::StateMap state_map = 171 GeolocationSettingsState::StateMap state_map =
150 state.state_map(); 172 state.state_map();
151 EXPECT_EQ(3U, state_map.size()); 173 EXPECT_EQ(3U, state_map.size());
152 174
153 GeolocationSettingsState::FormattedHostsPerState formatted_host_per_state; 175 GeolocationSettingsState::FormattedHostsPerState formatted_host_per_state;
154 unsigned int tab_state_flags = 0; 176 unsigned int tab_state_flags = 0;
155 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags); 177 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags);
156 178
(...skipping 21 matching lines...) Expand all
178 formatted_host_per_state[CONTENT_SETTING_ALLOW].count( 200 formatted_host_per_state[CONTENT_SETTING_ALLOW].count(
179 url_2.host())); 201 url_2.host()));
180 EXPECT_EQ(1U, formatted_host_per_state[CONTENT_SETTING_BLOCK].size()); 202 EXPECT_EQ(1U, formatted_host_per_state[CONTENT_SETTING_BLOCK].size());
181 EXPECT_EQ(1U, 203 EXPECT_EQ(1U,
182 formatted_host_per_state[CONTENT_SETTING_BLOCK].count( 204 formatted_host_per_state[CONTENT_SETTING_BLOCK].count(
183 url_1.spec())); 205 url_1.spec()));
184 } 206 }
185 207
186 208
187 } // namespace 209 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/geolocation/geolocation_settings_state.cc ('k') | chrome/browser/prefs/browser_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698