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

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

Issue 2847045: URLs with repeated domain names requesting tracking information (Closed)
Patch Set: Created 10 years, 5 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 | « chrome/browser/geolocation/geolocation_settings_state.cc ('k') | 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_settings_state.h" 5 #include "chrome/browser/geolocation/geolocation_settings_state.h"
6 6
7 #include "chrome/browser/geolocation/geolocation_content_settings_map.h" 7 #include "chrome/browser/geolocation/geolocation_content_settings_map.h"
8 #include "chrome/browser/tab_contents/navigation_entry.h" 8 #include "chrome/browser/tab_contents/navigation_entry.h"
9 #include "chrome/test/testing_profile.h" 9 #include "chrome/test/testing_profile.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 112
113 EXPECT_TRUE(state.state_map().empty()); 113 EXPECT_TRUE(state.state_map().empty());
114 114
115 formatted_host_per_state.clear(); 115 formatted_host_per_state.clear();
116 tab_state_flags = 0; 116 tab_state_flags = 0;
117 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags); 117 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags);
118 EXPECT_TRUE(formatted_host_per_state.empty()); 118 EXPECT_TRUE(formatted_host_per_state.empty());
119 EXPECT_EQ(0U, tab_state_flags); 119 EXPECT_EQ(0U, tab_state_flags);
120 } 120 }
121 121
122 TEST_F(GeolocationSettingsStateTests, ShowPortOnSameHost) {
123 TestingProfile profile;
124 GeolocationSettingsState state(&profile);
125 GURL url_0("http://www.example.com");
126
127 NavigationEntry entry;
128 entry.set_url(url_0);
129 NavigationController::LoadCommittedDetails load_committed_details;
130 load_committed_details.entry = &entry;
131 state.DidNavigate(load_committed_details);
132
133 profile.GetGeolocationContentSettingsMap()->SetContentSetting(
134 url_0, url_0, CONTENT_SETTING_ALLOW);
135 state.OnGeolocationPermissionSet(url_0, true);
136
137 GURL url_1("https://www.example.com");
138 profile.GetGeolocationContentSettingsMap()->SetContentSetting(
139 url_1, url_0, CONTENT_SETTING_ALLOW);
140 state.OnGeolocationPermissionSet(url_1, true);
141
142 GURL url_2("http://www.example1.com");
143 profile.GetGeolocationContentSettingsMap()->SetContentSetting(
144 url_2, url_0, CONTENT_SETTING_ALLOW);
145 state.OnGeolocationPermissionSet(url_2, true);
146
147 GeolocationSettingsState::StateMap state_map =
148 state.state_map();
149 EXPECT_EQ(3U, state_map.size());
150
151 GeolocationSettingsState::FormattedHostsPerState formatted_host_per_state;
152 unsigned int tab_state_flags = 0;
153 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags);
154
155 EXPECT_EQ(3U, formatted_host_per_state[CONTENT_SETTING_ALLOW].size());
156 EXPECT_EQ(1U,
157 formatted_host_per_state[CONTENT_SETTING_ALLOW].count(
158 url_0.spec()));
159 EXPECT_EQ(1U,
160 formatted_host_per_state[CONTENT_SETTING_ALLOW].count(
161 url_1.spec()));
162 EXPECT_EQ(1U,
163 formatted_host_per_state[CONTENT_SETTING_ALLOW].count(
164 url_2.host()));
165
166 state.OnGeolocationPermissionSet(url_1, false);
167 formatted_host_per_state.clear();
168 tab_state_flags = 0;
169 state.GetDetailedInfo(&formatted_host_per_state, &tab_state_flags);
170
171 EXPECT_EQ(2U, formatted_host_per_state[CONTENT_SETTING_ALLOW].size());
172 EXPECT_EQ(1U,
173 formatted_host_per_state[CONTENT_SETTING_ALLOW].count(
174 url_0.spec()));
175 EXPECT_EQ(1U,
176 formatted_host_per_state[CONTENT_SETTING_ALLOW].count(
177 url_2.host()));
178 EXPECT_EQ(1U, formatted_host_per_state[CONTENT_SETTING_BLOCK].size());
179 EXPECT_EQ(1U,
180 formatted_host_per_state[CONTENT_SETTING_BLOCK].count(
181 url_1.spec()));
182 }
183
184
122 } // namespace 185 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/geolocation/geolocation_settings_state.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698