OLD | NEW |
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 "chrome/browser/content_settings/content_settings_policy_provider.h" | 5 #include "chrome/browser/content_settings/content_settings_policy_provider.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
11 #include "base/prefs/pref_service.h" | 11 #include "base/prefs/pref_service.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "chrome/browser/chrome_notification_types.h" | 13 #include "chrome/browser/chrome_notification_types.h" |
14 #include "chrome/browser/content_settings/content_settings_rule.h" | 14 #include "chrome/browser/content_settings/content_settings_rule.h" |
15 #include "chrome/browser/content_settings/content_settings_utils.h" | 15 #include "chrome/browser/content_settings/content_settings_utils.h" |
| 16 #include "chrome/common/chrome_content_settings_client.h" |
16 #include "chrome/common/content_settings_pattern.h" | 17 #include "chrome/common/content_settings_pattern.h" |
17 #include "chrome/common/pref_names.h" | 18 #include "chrome/common/pref_names.h" |
18 #include "components/pref_registry/pref_registry_syncable.h" | 19 #include "components/pref_registry/pref_registry_syncable.h" |
19 #include "content/public/browser/browser_thread.h" | 20 #include "content/public/browser/browser_thread.h" |
20 #include "content/public/browser/notification_details.h" | 21 #include "content/public/browser/notification_details.h" |
21 #include "content/public/browser/notification_source.h" | 22 #include "content/public/browser/notification_source.h" |
22 | 23 |
23 using content::BrowserThread; | 24 using content::BrowserThread; |
24 | 25 |
25 namespace { | 26 namespace { |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 "pattern", &pattern_str); | 359 "pattern", &pattern_str); |
359 base::DictionaryValue* cert_filter = NULL; | 360 base::DictionaryValue* cert_filter = NULL; |
360 pattern_filter_pair->GetDictionaryWithoutPathExpansion("filter", | 361 pattern_filter_pair->GetDictionaryWithoutPathExpansion("filter", |
361 &cert_filter); | 362 &cert_filter); |
362 if (!pattern_read || !cert_filter) { | 363 if (!pattern_read || !cert_filter) { |
363 VLOG(1) << "Ignoring invalid certificate auto select setting. Reason:" | 364 VLOG(1) << "Ignoring invalid certificate auto select setting. Reason:" |
364 " Missing pattern or filter."; | 365 " Missing pattern or filter."; |
365 continue; | 366 continue; |
366 } | 367 } |
367 | 368 |
| 369 content_settings::ChromeContentSettingsClient client; |
368 ContentSettingsPattern pattern = | 370 ContentSettingsPattern pattern = |
369 ContentSettingsPattern::FromString(pattern_str); | 371 ContentSettingsPattern::FromString(&client, pattern_str); |
370 // Ignore invalid patterns. | 372 // Ignore invalid patterns. |
371 if (!pattern.IsValid()) { | 373 if (!pattern.IsValid()) { |
372 VLOG(1) << "Ignoring invalid certificate auto select setting:" | 374 VLOG(1) << "Ignoring invalid certificate auto select setting:" |
373 " Invalid content settings pattern: " << pattern; | 375 << " Invalid content settings pattern: " << pattern.ToString(&client); |
374 continue; | 376 continue; |
375 } | 377 } |
376 | 378 |
377 // Don't pass removed values from |value|, because base::Values read with | 379 // Don't pass removed values from |value|, because base::Values read with |
378 // JSONReader use a shared string buffer. Instead, DeepCopy here. | 380 // JSONReader use a shared string buffer. Instead, DeepCopy here. |
379 value_map->SetValue(pattern, | 381 value_map->SetValue(pattern, |
380 ContentSettingsPattern::Wildcard(), | 382 ContentSettingsPattern::Wildcard(), |
381 CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, | 383 CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, |
382 std::string(), | 384 std::string(), |
383 cert_filter->DeepCopy()); | 385 cert_filter->DeepCopy()); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 ReadManagedDefaultSettings(); | 493 ReadManagedDefaultSettings(); |
492 } | 494 } |
493 | 495 |
494 NotifyObservers(ContentSettingsPattern(), | 496 NotifyObservers(ContentSettingsPattern(), |
495 ContentSettingsPattern(), | 497 ContentSettingsPattern(), |
496 CONTENT_SETTINGS_TYPE_DEFAULT, | 498 CONTENT_SETTINGS_TYPE_DEFAULT, |
497 std::string()); | 499 std::string()); |
498 } | 500 } |
499 | 501 |
500 } // namespace content_settings | 502 } // namespace content_settings |
OLD | NEW |