| OLD | NEW |
| 1 // Copyright (c) 2011 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/policy/url_blacklist_manager.h" | 5 #include "chrome/browser/policy/url_blacklist_manager.h" |
| 6 | 6 |
| 7 #include <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 } | 243 } |
| 244 | 244 |
| 245 TEST_F(URLBlacklistManagerTest, SchemeToFlag) { | 245 TEST_F(URLBlacklistManagerTest, SchemeToFlag) { |
| 246 URLBlacklist::SchemeFlag flag; | 246 URLBlacklist::SchemeFlag flag; |
| 247 EXPECT_TRUE(URLBlacklist::SchemeToFlag("http", &flag)); | 247 EXPECT_TRUE(URLBlacklist::SchemeToFlag("http", &flag)); |
| 248 EXPECT_EQ(URLBlacklist::SCHEME_HTTP, flag); | 248 EXPECT_EQ(URLBlacklist::SCHEME_HTTP, flag); |
| 249 EXPECT_TRUE(URLBlacklist::SchemeToFlag("https", &flag)); | 249 EXPECT_TRUE(URLBlacklist::SchemeToFlag("https", &flag)); |
| 250 EXPECT_EQ(URLBlacklist::SCHEME_HTTPS, flag); | 250 EXPECT_EQ(URLBlacklist::SCHEME_HTTPS, flag); |
| 251 EXPECT_TRUE(URLBlacklist::SchemeToFlag("ftp", &flag)); | 251 EXPECT_TRUE(URLBlacklist::SchemeToFlag("ftp", &flag)); |
| 252 EXPECT_EQ(URLBlacklist::SCHEME_FTP, flag); | 252 EXPECT_EQ(URLBlacklist::SCHEME_FTP, flag); |
| 253 EXPECT_TRUE(URLBlacklist::SchemeToFlag("ws", &flag)); |
| 254 EXPECT_EQ(URLBlacklist::SCHEME_WS, flag); |
| 255 EXPECT_TRUE(URLBlacklist::SchemeToFlag("wss", &flag)); |
| 256 EXPECT_EQ(URLBlacklist::SCHEME_WSS, flag); |
| 253 EXPECT_TRUE(URLBlacklist::SchemeToFlag("", &flag)); | 257 EXPECT_TRUE(URLBlacklist::SchemeToFlag("", &flag)); |
| 254 EXPECT_EQ(URLBlacklist::SCHEME_ALL, flag); | 258 EXPECT_EQ(URLBlacklist::SCHEME_ALL, flag); |
| 255 EXPECT_FALSE(URLBlacklist::SchemeToFlag("wtf", &flag)); | 259 EXPECT_FALSE(URLBlacklist::SchemeToFlag("wtf", &flag)); |
| 256 } | 260 } |
| 257 | 261 |
| 258 INSTANTIATE_TEST_CASE_P( | 262 INSTANTIATE_TEST_CASE_P( |
| 259 URLBlacklistFilterToComponentsTestInstance, | 263 URLBlacklistFilterToComponentsTestInstance, |
| 260 URLBlacklistFilterToComponentsTest, | 264 URLBlacklistFilterToComponentsTest, |
| 261 testing::Values( | 265 testing::Values( |
| 262 FilterTestParams("google.com", | 266 FilterTestParams("google.com", |
| (...skipping 30 matching lines...) Expand all Loading... |
| 293 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/"))); | 297 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/"))); |
| 294 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/whatever"))); | 298 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/whatever"))); |
| 295 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://google.com/"))); | 299 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://google.com/"))); |
| 296 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("bogus://google.com/"))); | 300 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("bogus://google.com/"))); |
| 297 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://mail.google.com"))); | 301 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://mail.google.com"))); |
| 298 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.mail.google.com"))); | 302 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.mail.google.com"))); |
| 299 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://x.mail.google.com/"))); | 303 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://x.mail.google.com/"))); |
| 300 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.y.google.com/a/b"))); | 304 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.y.google.com/a/b"))); |
| 301 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://youtube.com/"))); | 305 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://youtube.com/"))); |
| 302 | 306 |
| 303 // Filter only http and ftp schemes. | 307 // Filter only http, ftp and ws schemes. |
| 304 blacklist.Block("http://secure.com"); | 308 blacklist.Block("http://secure.com"); |
| 305 blacklist.Block("ftp://secure.com"); | 309 blacklist.Block("ftp://secure.com"); |
| 310 blacklist.Block("ws://secure.com"); |
| 306 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com"))); | 311 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com"))); |
| 307 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com/whatever"))); | 312 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com/whatever"))); |
| 308 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ftp://secure.com/"))); | 313 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ftp://secure.com/"))); |
| 314 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ws://secure.com"))); |
| 309 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://secure.com/"))); | 315 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://secure.com/"))); |
| 316 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("wss://secure.com"))); |
| 310 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.secure.com"))); | 317 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.secure.com"))); |
| 311 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://www.secure.com"))); | 318 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://www.secure.com"))); |
| 319 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("wss://www.secure.com"))); |
| 312 | 320 |
| 313 // Filter only a certain path prefix. | 321 // Filter only a certain path prefix. |
| 314 blacklist.Block("path.to/ruin"); | 322 blacklist.Block("path.to/ruin"); |
| 315 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin"))); | 323 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin"))); |
| 316 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://path.to/ruin"))); | 324 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://path.to/ruin"))); |
| 317 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruins"))); | 325 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruins"))); |
| 318 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin/signup"))); | 326 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin/signup"))); |
| 319 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.path.to/ruin"))); | 327 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.path.to/ruin"))); |
| 320 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://path.to/fortune"))); | 328 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://path.to/fortune"))); |
| 321 | 329 |
| 322 // Filter only a certain path prefix and scheme. | 330 // Filter only a certain path prefix and scheme. |
| 323 blacklist.Block("https://s.aaa.com/path"); | 331 blacklist.Block("https://s.aaa.com/path"); |
| 324 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path"))); | 332 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path"))); |
| 325 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path/bbb"))); | 333 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path/bbb"))); |
| 326 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.aaa.com/path"))); | 334 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.aaa.com/path"))); |
| 327 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://aaa.com/path"))); | 335 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://aaa.com/path"))); |
| 328 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://x.aaa.com/path"))); | 336 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://x.aaa.com/path"))); |
| 329 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/bbb"))); | 337 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/bbb"))); |
| 330 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/"))); | 338 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/"))); |
| 331 | 339 |
| 340 // Filter only ws and wss schemes. |
| 341 blacklist.Block("ws://ws.aaa.com"); |
| 342 blacklist.Block("wss://ws.aaa.com"); |
| 343 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ws://ws.aaa.com"))); |
| 344 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("wss://ws.aaa.com"))); |
| 345 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://ws.aaa.com"))); |
| 346 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://ws.aaa.com"))); |
| 347 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("ftp://ws.aaa.com"))); |
| 348 |
| 332 // Test exceptions to path prefixes, and most specific matches. | 349 // Test exceptions to path prefixes, and most specific matches. |
| 333 blacklist.Block("s.xxx.com/a"); | 350 blacklist.Block("s.xxx.com/a"); |
| 334 blacklist.Allow("s.xxx.com/a/b"); | 351 blacklist.Allow("s.xxx.com/a/b"); |
| 335 blacklist.Block("https://s.xxx.com/a/b/c"); | 352 blacklist.Block("https://s.xxx.com/a/b/c"); |
| 336 blacklist.Allow("https://s.xxx.com/a/b/c/d"); | 353 blacklist.Allow("https://s.xxx.com/a/b/c/d"); |
| 337 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a"))); | 354 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a"))); |
| 338 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/x"))); | 355 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/x"))); |
| 339 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/x"))); | 356 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/x"))); |
| 340 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/b"))); | 357 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/b"))); |
| 341 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/b"))); | 358 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/b"))); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://mail.google.com"))); | 423 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://mail.google.com"))); |
| 407 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.mail.google.com"))); | 424 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.mail.google.com"))); |
| 408 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://very.safe/"))); | 425 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://very.safe/"))); |
| 409 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://very.safe/path"))); | 426 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://very.safe/path"))); |
| 410 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://very.safe/path"))); | 427 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://very.safe/path"))); |
| 411 } | 428 } |
| 412 | 429 |
| 413 } // namespace | 430 } // namespace |
| 414 | 431 |
| 415 } // namespace policy | 432 } // namespace policy |
| OLD | NEW |