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

Side by Side Diff: chrome/browser/content_settings/content_settings_default_provider.cc

Issue 8776044: Don't set a default Value for content settigns type AutoSelectCertificate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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
« no previous file with comments | « no previous file | chrome/browser/content_settings/content_settings_default_provider_unittest.cc » ('j') | 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) 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/content_settings/content_settings_default_provider.h" 5 #include "chrome/browser/content_settings/content_settings_default_provider.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 } // namespace 49 } // namespace
50 50
51 namespace content_settings { 51 namespace content_settings {
52 52
53 namespace { 53 namespace {
54 54
55 class DefaultRuleIterator : public RuleIterator { 55 class DefaultRuleIterator : public RuleIterator {
56 public: 56 public:
57 explicit DefaultRuleIterator(const base::Value* value) { 57 explicit DefaultRuleIterator(const base::Value* value) {
58 value_.reset(value->DeepCopy()); 58 if (value)
59 value_.reset(value->DeepCopy());
59 } 60 }
60 61
61 bool HasNext() const { 62 bool HasNext() const {
62 return value_.get() != NULL; 63 return value_.get() != NULL;
63 } 64 }
64 65
65 Rule Next() { 66 Rule Next() {
66 DCHECK(value_.get()); 67 DCHECK(value_.get());
67 return Rule(ContentSettingsPattern::Wildcard(), 68 return Rule(ContentSettingsPattern::Wildcard(),
68 ContentSettingsPattern::Wildcard(), 69 ContentSettingsPattern::Wildcard(),
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 // Careful: The returned value could be NULL if the pref has never been set. 310 // Careful: The returned value could be NULL if the pref has never been set.
310 if (default_settings_dictionary) 311 if (default_settings_dictionary)
311 GetSettingsFromDictionary(default_settings_dictionary); 312 GetSettingsFromDictionary(default_settings_dictionary);
312 313
313 ForceDefaultsToBeExplicit(); 314 ForceDefaultsToBeExplicit();
314 } 315 }
315 316
316 void DefaultProvider::ForceDefaultsToBeExplicit() { 317 void DefaultProvider::ForceDefaultsToBeExplicit() {
317 for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) { 318 for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) {
318 ContentSettingsType type = ContentSettingsType(i); 319 ContentSettingsType type = ContentSettingsType(i);
319 if (!default_settings_[type].get()) 320 if (!default_settings_[type].get() &&
321 kDefaultSettings[i] != CONTENT_SETTING_DEFAULT) {
320 default_settings_[type].reset( 322 default_settings_[type].reset(
321 Value::CreateIntegerValue(kDefaultSettings[i])); 323 Value::CreateIntegerValue(kDefaultSettings[i]));
324 }
322 } 325 }
323 } 326 }
324 327
325 void DefaultProvider::GetSettingsFromDictionary( 328 void DefaultProvider::GetSettingsFromDictionary(
326 const DictionaryValue* dictionary) { 329 const DictionaryValue* dictionary) {
327 for (DictionaryValue::key_iterator i(dictionary->begin_keys()); 330 for (DictionaryValue::key_iterator i(dictionary->begin_keys());
328 i != dictionary->end_keys(); ++i) { 331 i != dictionary->end_keys(); ++i) {
329 const std::string& content_type(*i); 332 const std::string& content_type(*i);
330 for (size_t type = 0; type < CONTENT_SETTINGS_NUM_TYPES; ++type) { 333 for (size_t type = 0; type < CONTENT_SETTINGS_NUM_TYPES; ++type) {
331 if (content_type == GetTypeName(ContentSettingsType(type))) { 334 if (content_type == GetTypeName(ContentSettingsType(type))) {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 SetWebsiteSetting( 385 SetWebsiteSetting(
383 ContentSettingsPattern::Wildcard(), 386 ContentSettingsPattern::Wildcard(),
384 ContentSettingsPattern::Wildcard(), 387 ContentSettingsPattern::Wildcard(),
385 CONTENT_SETTINGS_TYPE_GEOLOCATION, 388 CONTENT_SETTINGS_TYPE_GEOLOCATION,
386 std::string(), 389 std::string(),
387 value->DeepCopy()); 390 value->DeepCopy());
388 } 391 }
389 } 392 }
390 393
391 } // namespace content_settings 394 } // namespace content_settings
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/content_settings/content_settings_default_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698