Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/content_settings/core/browser/content_settings_pref.h" | 5 #include "components/content_settings/core/browser/content_settings_pref.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 237 } | 237 } |
| 238 | 238 |
| 239 bool ContentSettingsPref::TryLockForTesting() const { | 239 bool ContentSettingsPref::TryLockForTesting() const { |
| 240 if (!lock_.Try()) | 240 if (!lock_.Try()) |
| 241 return false; | 241 return false; |
| 242 lock_.Release(); | 242 lock_.Release(); |
| 243 return true; | 243 return true; |
| 244 } | 244 } |
| 245 | 245 |
| 246 void ContentSettingsPref::ReadContentSettingsFromPref() { | 246 void ContentSettingsPref::ReadContentSettingsFromPref() { |
| 247 // Unlike other permissions, the Notifications and Push Messaging permissions | |
| 248 // aren't inherited from regular to incognito. Their value_map_ is left empty. | |
|
msramek
2015/11/16 12:40:45
Even if we currently don't have plans to do this f
Peter Beverloo
2015/11/16 17:14:32
+1, although I think we may as well do it as part
raymes
2015/11/17 00:16:00
Oops, sorry I missed this CL. Yes, it would be bet
msramek
2015/11/17 10:37:55
Just FYI, if you need to need to merge it or have
johnme
2015/11/26 17:31:54
Done - I added WebsiteSettingsInfo::IncognitoBehav
raymes
2015/11/30 00:28:46
I think it would be better to either patch the def
johnme
2015/11/30 14:56:58
I've moved the new logic to a helper function in H
| |
| 249 if (is_incognito_ && (content_type_ == CONTENT_SETTINGS_TYPE_NOTIFICATIONS || | |
| 250 content_type_ == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING)) | |
| 251 return; | |
| 252 | |
| 247 // |DictionaryPrefUpdate| sends out notifications when destructed. This | 253 // |DictionaryPrefUpdate| sends out notifications when destructed. This |
| 248 // construction order ensures |AutoLock| gets destroyed first and |lock_| is | 254 // construction order ensures |AutoLock| gets destroyed first and |lock_| is |
| 249 // not held when the notifications are sent. Also, |auto_reset| must be still | 255 // not held when the notifications are sent. Also, |auto_reset| must be still |
| 250 // valid when the notifications are sent, so that |Observe| skips the | 256 // valid when the notifications are sent, so that |Observe| skips the |
| 251 // notification. | 257 // notification. |
| 252 base::AutoReset<bool> auto_reset(&updating_preferences_, true); | 258 base::AutoReset<bool> auto_reset(&updating_preferences_, true); |
| 253 DictionaryPrefUpdate update(prefs_, pref_name_); | 259 DictionaryPrefUpdate update(prefs_, pref_name_); |
| 254 base::AutoLock auto_lock(lock_); | 260 base::AutoLock auto_lock(lock_); |
| 255 | 261 |
| 256 const base::DictionaryValue* all_settings_dictionary = | 262 const base::DictionaryValue* all_settings_dictionary = |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 503 | 509 |
| 504 void ContentSettingsPref::AssertLockNotHeld() const { | 510 void ContentSettingsPref::AssertLockNotHeld() const { |
| 505 #if !defined(NDEBUG) | 511 #if !defined(NDEBUG) |
| 506 // |Lock::Acquire()| will assert if the lock is held by this thread. | 512 // |Lock::Acquire()| will assert if the lock is held by this thread. |
| 507 lock_.Acquire(); | 513 lock_.Acquire(); |
| 508 lock_.Release(); | 514 lock_.Release(); |
| 509 #endif | 515 #endif |
| 510 } | 516 } |
| 511 | 517 |
| 512 } // namespace content_settings | 518 } // namespace content_settings |
| OLD | NEW |