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/ui/website_settings/website_settings.h" | 5 #include "chrome/browser/ui/website_settings/website_settings.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 // one rule for the default setting. Get the rule that currently defines | 261 // one rule for the default setting. Get the rule that currently defines |
262 // the permission for the given permission |type|. Then test whether the | 262 // the permission for the given permission |type|. Then test whether the |
263 // existing rule is more specific than the rule we are about to create. If | 263 // existing rule is more specific than the rule we are about to create. If |
264 // the existing rule is more specific, than change the existing rule instead | 264 // the existing rule is more specific, than change the existing rule instead |
265 // of creating a new rule that would be hidden behind the existing rule. | 265 // of creating a new rule that would be hidden behind the existing rule. |
266 // This is not a concern for CONTENT_SETTINGS_TYPE_MEDIASTREAM since users | 266 // This is not a concern for CONTENT_SETTINGS_TYPE_MEDIASTREAM since users |
267 // can not create media settings exceptions by hand. | 267 // can not create media settings exceptions by hand. |
268 content_settings::SettingInfo info; | 268 content_settings::SettingInfo info; |
269 scoped_ptr<base::Value> v(content_settings_->GetWebsiteSetting( | 269 scoped_ptr<base::Value> v(content_settings_->GetWebsiteSetting( |
270 site_url_, site_url_, type, std::string(), &info)); | 270 site_url_, site_url_, type, std::string(), &info)); |
271 DCHECK(info.source == content_settings::SETTING_SOURCE_USER); | 271 content_settings_->SetNarrowestWebsiteSetting( |
272 ContentSettingsPattern::Relation r1 = | 272 primary_pattern, secondary_pattern, type, std::string(), setting, info); |
273 info.primary_pattern.Compare(primary_pattern); | 273 } else { |
274 DCHECK(r1 != ContentSettingsPattern::DISJOINT_ORDER_POST && | |
275 r1 != ContentSettingsPattern::DISJOINT_ORDER_PRE); | |
276 if (r1 == ContentSettingsPattern::PREDECESSOR) { | |
277 primary_pattern = info.primary_pattern; | |
278 } else if (r1 == ContentSettingsPattern::IDENTITY) { | |
279 ContentSettingsPattern::Relation r2 = | |
280 info.secondary_pattern.Compare(secondary_pattern); | |
281 DCHECK(r2 != ContentSettingsPattern::DISJOINT_ORDER_POST && | |
282 r2 != ContentSettingsPattern::DISJOINT_ORDER_PRE); | |
283 if (r2 == ContentSettingsPattern::PREDECESSOR) | |
284 secondary_pattern = info.secondary_pattern; | |
285 } | |
286 | |
287 base::Value* value = NULL; | 274 base::Value* value = NULL; |
288 if (setting != CONTENT_SETTING_DEFAULT) | 275 if (setting != CONTENT_SETTING_DEFAULT) |
289 value = new base::FundamentalValue(setting); | 276 value = new base::FundamentalValue(setting); |
290 content_settings_->SetWebsiteSetting( | 277 content_settings_->SetWebsiteSetting( |
291 primary_pattern, secondary_pattern, type, std::string(), value); | 278 primary_pattern, secondary_pattern, type, std::string(), value); |
292 } | 279 } |
293 | 280 |
294 show_info_bar_ = true; | 281 show_info_bar_ = true; |
295 | 282 |
296 // TODO(markusheintz): This is a temporary hack to fix issue: | 283 // TODO(markusheintz): This is a temporary hack to fix issue: |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
728 if (visited_before_today) { | 715 if (visited_before_today) { |
729 first_visit_text = l10n_util::GetStringFUTF16( | 716 first_visit_text = l10n_util::GetStringFUTF16( |
730 IDS_PAGE_INFO_SECURITY_TAB_VISITED_BEFORE_TODAY, | 717 IDS_PAGE_INFO_SECURITY_TAB_VISITED_BEFORE_TODAY, |
731 base::TimeFormatShortDate(first_visit)); | 718 base::TimeFormatShortDate(first_visit)); |
732 } else { | 719 } else { |
733 first_visit_text = l10n_util::GetStringUTF16( | 720 first_visit_text = l10n_util::GetStringUTF16( |
734 IDS_PAGE_INFO_SECURITY_TAB_FIRST_VISITED_TODAY); | 721 IDS_PAGE_INFO_SECURITY_TAB_FIRST_VISITED_TODAY); |
735 } | 722 } |
736 ui_->SetFirstVisit(first_visit_text); | 723 ui_->SetFirstVisit(first_visit_text); |
737 } | 724 } |
OLD | NEW |