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

Side by Side Diff: chrome/browser/ui/webui/options/content_settings_handler.cc

Issue 7310003: Disable chrome://options UI elements if the corresponding preference is not user-modifiable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 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 | Annotate | Revision Log
OLDNEW
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/ui/webui/options/content_settings_handler.h" 5 #include "chrome/browser/ui/webui/options/content_settings_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 RegisterStrings(localized_strings, resources, arraysize(resources)); 260 RegisterStrings(localized_strings, resources, arraysize(resources));
261 RegisterTitle(localized_strings, "contentSettingsPage", 261 RegisterTitle(localized_strings, "contentSettingsPage",
262 IDS_CONTENT_SETTINGS_TITLE); 262 IDS_CONTENT_SETTINGS_TITLE);
263 localized_strings->SetBoolean("enable_click_to_play", 263 localized_strings->SetBoolean("enable_click_to_play",
264 CommandLine::ForCurrentProcess()->HasSwitch( 264 CommandLine::ForCurrentProcess()->HasSwitch(
265 switches::kEnableClickToPlay)); 265 switches::kEnableClickToPlay));
266 } 266 }
267 267
268 void ContentSettingsHandler::Initialize() { 268 void ContentSettingsHandler::Initialize() {
269 const HostContentSettingsMap* settings_map = GetContentSettingsMap(); 269 const HostContentSettingsMap* settings_map = GetContentSettingsMap();
270 scoped_ptr<Value> block_3rd_party(Value::CreateBooleanValue(
271 settings_map->BlockThirdPartyCookies()));
272 web_ui_->CallJavascriptFunction("ContentSettings.setBlockThirdPartyCookies",
273 *block_3rd_party.get());
274
275 notification_registrar_.Add( 270 notification_registrar_.Add(
276 this, NotificationType::OTR_PROFILE_CREATED, 271 this, NotificationType::OTR_PROFILE_CREATED,
277 NotificationService::AllSources()); 272 NotificationService::AllSources());
278 notification_registrar_.Add( 273 notification_registrar_.Add(
279 this, NotificationType::PROFILE_DESTROYED, 274 this, NotificationType::PROFILE_DESTROYED,
280 NotificationService::AllSources()); 275 NotificationService::AllSources());
281 276
282 UpdateHandlersEnabledRadios(); 277 UpdateHandlersEnabledRadios();
283 UpdateAllExceptionsViewsFromModel(); 278 UpdateAllExceptionsViewsFromModel();
284 notification_registrar_.Add( 279 notification_registrar_.Add(
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 557
563 StringValue type_string(ContentSettingsTypeToGroupName(type)); 558 StringValue type_string(ContentSettingsTypeToGroupName(type));
564 web_ui_->CallJavascriptFunction("ContentSettings.setOTRExceptions", 559 web_ui_->CallJavascriptFunction("ContentSettings.setOTRExceptions",
565 type_string, otr_exceptions); 560 type_string, otr_exceptions);
566 } 561 }
567 562
568 void ContentSettingsHandler::RegisterMessages() { 563 void ContentSettingsHandler::RegisterMessages() {
569 web_ui_->RegisterMessageCallback("setContentFilter", 564 web_ui_->RegisterMessageCallback("setContentFilter",
570 NewCallback(this, 565 NewCallback(this,
571 &ContentSettingsHandler::SetContentFilter)); 566 &ContentSettingsHandler::SetContentFilter));
572 web_ui_->RegisterMessageCallback("setAllowThirdPartyCookies",
573 NewCallback(this,
574 &ContentSettingsHandler::SetAllowThirdPartyCookies));
575 web_ui_->RegisterMessageCallback("removeException", 567 web_ui_->RegisterMessageCallback("removeException",
576 NewCallback(this, 568 NewCallback(this,
577 &ContentSettingsHandler::RemoveException)); 569 &ContentSettingsHandler::RemoveException));
578 web_ui_->RegisterMessageCallback("setException", 570 web_ui_->RegisterMessageCallback("setException",
579 NewCallback(this, 571 NewCallback(this,
580 &ContentSettingsHandler::SetException)); 572 &ContentSettingsHandler::SetException));
581 web_ui_->RegisterMessageCallback("checkExceptionPatternValidity", 573 web_ui_->RegisterMessageCallback("checkExceptionPatternValidity",
582 NewCallback(this, 574 NewCallback(this,
583 &ContentSettingsHandler::CheckExceptionPatternValidity)); 575 &ContentSettingsHandler::CheckExceptionPatternValidity));
584 } 576 }
(...skipping 14 matching lines...) Expand all
599 SetDefaultContentSetting(default_setting); 591 SetDefaultContentSetting(default_setting);
600 } else if (content_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) { 592 } else if (content_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) {
601 DesktopNotificationServiceFactory::GetForProfile(web_ui_->GetProfile())-> 593 DesktopNotificationServiceFactory::GetForProfile(web_ui_->GetProfile())->
602 SetDefaultContentSetting(default_setting); 594 SetDefaultContentSetting(default_setting);
603 } else { 595 } else {
604 GetContentSettingsMap()-> 596 GetContentSettingsMap()->
605 SetDefaultContentSetting(content_type, default_setting); 597 SetDefaultContentSetting(content_type, default_setting);
606 } 598 }
607 } 599 }
608 600
609 void ContentSettingsHandler::SetAllowThirdPartyCookies(const ListValue* args) {
610 string16 allow = ExtractStringValue(args);
611
612 GetContentSettingsMap()->SetBlockThirdPartyCookies(
613 LowerCaseEqualsASCII(allow, "true"));
614 }
615
616 void ContentSettingsHandler::RemoveException(const ListValue* args) { 601 void ContentSettingsHandler::RemoveException(const ListValue* args) {
617 size_t arg_i = 0; 602 size_t arg_i = 0;
618 std::string type_string; 603 std::string type_string;
619 CHECK(args->GetString(arg_i++, &type_string)); 604 CHECK(args->GetString(arg_i++, &type_string));
620 605
621 ContentSettingsType type = ContentSettingsTypeFromGroupName(type_string); 606 ContentSettingsType type = ContentSettingsTypeFromGroupName(type_string);
622 if (type == CONTENT_SETTINGS_TYPE_GEOLOCATION) { 607 if (type == CONTENT_SETTINGS_TYPE_GEOLOCATION) {
623 std::string origin; 608 std::string origin;
624 std::string embedding_origin; 609 std::string embedding_origin;
625 bool rv = args->GetString(arg_i++, &origin); 610 bool rv = args->GetString(arg_i++, &origin);
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 return web_ui_->GetProfile()->GetProtocolHandlerRegistry(); 735 return web_ui_->GetProfile()->GetProtocolHandlerRegistry();
751 } 736 }
752 737
753 HostContentSettingsMap* 738 HostContentSettingsMap*
754 ContentSettingsHandler::GetOTRContentSettingsMap() { 739 ContentSettingsHandler::GetOTRContentSettingsMap() {
755 Profile* profile = web_ui_->GetProfile(); 740 Profile* profile = web_ui_->GetProfile();
756 if (profile->HasOffTheRecordProfile()) 741 if (profile->HasOffTheRecordProfile())
757 return profile->GetOffTheRecordProfile()->GetHostContentSettingsMap(); 742 return profile->GetOffTheRecordProfile()->GetHostContentSettingsMap();
758 return NULL; 743 return NULL;
759 } 744 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/content_settings_handler.h ('k') | chrome/browser/ui/webui/options/core_options_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698