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

Side by Side Diff: chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc

Issue 10546083: Convert ProtocolHandlerRegistry to be a ProfileKeyedService. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Minor docu-changes. Created 8 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
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 "base/auto_reset.h" 5 #include "base/auto_reset.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/content_settings/host_content_settings_map.h" 8 #include "chrome/browser/content_settings/host_content_settings_map.h"
9 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 9 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
10 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 10 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 244
245 TEST_F(ContentSettingBubbleModelTest, RegisterProtocolHandler) { 245 TEST_F(ContentSettingBubbleModelTest, RegisterProtocolHandler) {
246 const GURL page_url("http://toplevel.example/"); 246 const GURL page_url("http://toplevel.example/");
247 NavigateAndCommit(page_url); 247 NavigateAndCommit(page_url);
248 TabSpecificContentSettings* content_settings = 248 TabSpecificContentSettings* content_settings =
249 tab_contents()->content_settings(); 249 tab_contents()->content_settings();
250 content_settings->set_pending_protocol_handler( 250 content_settings->set_pending_protocol_handler(
251 ProtocolHandler::CreateProtocolHandler("mailto", 251 ProtocolHandler::CreateProtocolHandler("mailto",
252 GURL("http://www.toplevel.example/"), ASCIIToUTF16("Handler"))); 252 GURL("http://www.toplevel.example/"), ASCIIToUTF16("Handler")));
253 253
254 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model( 254 ContentSettingRPHBubbleModel content_setting_bubble_model(
255 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 255 NULL, tab_contents(), profile(), NULL,
256 NULL, tab_contents(), profile(), 256 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS);
257 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS)); 257
258 const ContentSettingBubbleModel::BubbleContent& bubble_content = 258 const ContentSettingBubbleModel::BubbleContent& bubble_content =
259 content_setting_bubble_model->bubble_content(); 259 content_setting_bubble_model.bubble_content();
260 EXPECT_FALSE(bubble_content.title.empty()); 260 EXPECT_FALSE(bubble_content.title.empty());
261 EXPECT_FALSE(bubble_content.radio_group.radio_items.empty()); 261 EXPECT_FALSE(bubble_content.radio_group.radio_items.empty());
262 EXPECT_TRUE(bubble_content.popup_items.empty()); 262 EXPECT_TRUE(bubble_content.popup_items.empty());
263 EXPECT_TRUE(bubble_content.domain_lists.empty()); 263 EXPECT_TRUE(bubble_content.domain_lists.empty());
264 EXPECT_TRUE(bubble_content.custom_link.empty()); 264 EXPECT_TRUE(bubble_content.custom_link.empty());
265 EXPECT_FALSE(bubble_content.custom_link_enabled); 265 EXPECT_FALSE(bubble_content.custom_link_enabled);
266 EXPECT_FALSE(bubble_content.manage_link.empty()); 266 EXPECT_FALSE(bubble_content.manage_link.empty());
267 } 267 }
268 268
269 class FakeDelegate : public ProtocolHandlerRegistry::Delegate { 269 class FakeDelegate : public ProtocolHandlerRegistry::Delegate {
(...skipping 18 matching lines...) Expand all
288 288
289 virtual void RegisterWithOSAsDefaultClient( 289 virtual void RegisterWithOSAsDefaultClient(
290 const std::string& protocol, 290 const std::string& protocol,
291 ProtocolHandlerRegistry* registry) { 291 ProtocolHandlerRegistry* registry) {
292 LOG(INFO) << "Register With OS"; 292 LOG(INFO) << "Register With OS";
293 } 293 }
294 }; 294 };
295 295
296 TEST_F(ContentSettingBubbleModelTest, RPHAllow) { 296 TEST_F(ContentSettingBubbleModelTest, RPHAllow) {
297 StartIOThread(); 297 StartIOThread();
298 profile()->CreateProtocolHandlerRegistry(new FakeDelegate); 298
299 ProtocolHandlerRegistry registry(profile(), new FakeDelegate());
300 registry.InitProtocolSettings();
299 301
300 const GURL page_url("http://toplevel.example/"); 302 const GURL page_url("http://toplevel.example/");
301 NavigateAndCommit(page_url); 303 NavigateAndCommit(page_url);
302 TabSpecificContentSettings* content_settings = 304 TabSpecificContentSettings* content_settings =
303 tab_contents()->content_settings(); 305 tab_contents()->content_settings();
304 ProtocolHandler test_handler = ProtocolHandler::CreateProtocolHandler( 306 ProtocolHandler test_handler = ProtocolHandler::CreateProtocolHandler(
305 "mailto", GURL("http://www.toplevel.example/"), 307 "mailto", GURL("http://www.toplevel.example/"),
306 ASCIIToUTF16("Handler")); 308 ASCIIToUTF16("Handler"));
307 content_settings->set_pending_protocol_handler(test_handler); 309 content_settings->set_pending_protocol_handler(test_handler);
308 310
309 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model( 311 ContentSettingRPHBubbleModel content_setting_bubble_model(
310 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 312 NULL, tab_contents(), profile(), &registry,
311 NULL, tab_contents(), profile(), 313 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS);
312 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS));
313 314
314 { 315 {
315 ProtocolHandler handler = 316 ProtocolHandler handler = registry.GetHandlerFor("mailto");
316 profile()->GetProtocolHandlerRegistry()->GetHandlerFor("mailto");
317 EXPECT_TRUE(handler.IsEmpty()); 317 EXPECT_TRUE(handler.IsEmpty());
318 EXPECT_EQ(CONTENT_SETTING_DEFAULT, 318 EXPECT_EQ(CONTENT_SETTING_DEFAULT,
319 content_settings->pending_protocol_handler_setting()); 319 content_settings->pending_protocol_handler_setting());
320 } 320 }
321 321
322 // "0" is the "Allow" radio button. 322 // "0" is the "Allow" radio button.
323 content_setting_bubble_model->OnRadioClicked(0); 323 content_setting_bubble_model.OnRadioClicked(0);
324 { 324 {
325 ProtocolHandler handler = 325 ProtocolHandler handler = registry.GetHandlerFor("mailto");
326 profile()->GetProtocolHandlerRegistry()->GetHandlerFor("mailto");
327 ASSERT_FALSE(handler.IsEmpty()); 326 ASSERT_FALSE(handler.IsEmpty());
328 EXPECT_EQ(ASCIIToUTF16("Handler"), handler.title()); 327 EXPECT_EQ(ASCIIToUTF16("Handler"), handler.title());
329 EXPECT_EQ(CONTENT_SETTING_ALLOW, 328 EXPECT_EQ(CONTENT_SETTING_ALLOW,
330 content_settings->pending_protocol_handler_setting()); 329 content_settings->pending_protocol_handler_setting());
331 } 330 }
332 331
333 // "1" is the "Deny" radio button. 332 // "1" is the "Deny" radio button.
334 content_setting_bubble_model->OnRadioClicked(1); 333 content_setting_bubble_model.OnRadioClicked(1);
335 { 334 {
336 ProtocolHandler handler = 335 ProtocolHandler handler = registry.GetHandlerFor("mailto");
337 profile()->GetProtocolHandlerRegistry()->GetHandlerFor("mailto");
338 EXPECT_TRUE(handler.IsEmpty()); 336 EXPECT_TRUE(handler.IsEmpty());
339 EXPECT_EQ(CONTENT_SETTING_BLOCK, 337 EXPECT_EQ(CONTENT_SETTING_BLOCK,
340 content_settings->pending_protocol_handler_setting()); 338 content_settings->pending_protocol_handler_setting());
341 } 339 }
342 340
343 // "2" is the "Ignore button. 341 // "2" is the "Ignore button.
344 content_setting_bubble_model->OnRadioClicked(2); 342 content_setting_bubble_model.OnRadioClicked(2);
345 { 343 {
346 ProtocolHandler handler = 344 ProtocolHandler handler = registry.GetHandlerFor("mailto");
347 profile()->GetProtocolHandlerRegistry()->GetHandlerFor("mailto");
348 EXPECT_TRUE(handler.IsEmpty()); 345 EXPECT_TRUE(handler.IsEmpty());
349 EXPECT_EQ(CONTENT_SETTING_DEFAULT, 346 EXPECT_EQ(CONTENT_SETTING_DEFAULT,
350 content_settings->pending_protocol_handler_setting()); 347 content_settings->pending_protocol_handler_setting());
351 EXPECT_TRUE(profile()->GetProtocolHandlerRegistry()->IsIgnored( 348 EXPECT_TRUE(registry.IsIgnored(test_handler));
352 test_handler));
353 } 349 }
354 350
355 // "0" is the "Allow" radio button. 351 // "0" is the "Allow" radio button.
356 content_setting_bubble_model->OnRadioClicked(0); 352 content_setting_bubble_model.OnRadioClicked(0);
357 { 353 {
358 ProtocolHandler handler = 354 ProtocolHandler handler = registry.GetHandlerFor("mailto");
359 profile()->GetProtocolHandlerRegistry()->GetHandlerFor("mailto");
360 ASSERT_FALSE(handler.IsEmpty()); 355 ASSERT_FALSE(handler.IsEmpty());
361 EXPECT_EQ(ASCIIToUTF16("Handler"), handler.title()); 356 EXPECT_EQ(ASCIIToUTF16("Handler"), handler.title());
362 EXPECT_EQ(CONTENT_SETTING_ALLOW, 357 EXPECT_EQ(CONTENT_SETTING_ALLOW,
363 content_settings->pending_protocol_handler_setting()); 358 content_settings->pending_protocol_handler_setting());
364 EXPECT_FALSE(profile()->GetProtocolHandlerRegistry()->IsIgnored( 359 EXPECT_FALSE(registry.IsIgnored(test_handler));
365 test_handler));
366 } 360 }
367 361
368 // This must be done on the UI thread. 362 registry.Shutdown();
369 profile()->GetProtocolHandlerRegistry()->Finalize();
370 } 363 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/content_settings/content_setting_bubble_model.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698