| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "extensions/common/permissions/permissions_data.h" | 5 #include "extensions/common/permissions/permissions_data.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 const URLPatternSet& PermissionsData::default_policy_allowed_hosts() { | 151 const URLPatternSet& PermissionsData::default_policy_allowed_hosts() { |
| 152 return default_runtime_policy.Get().allowed_hosts; | 152 return default_runtime_policy.Get().allowed_hosts; |
| 153 } | 153 } |
| 154 | 154 |
| 155 const URLPatternSet PermissionsData::policy_blocked_hosts() const { | 155 const URLPatternSet PermissionsData::policy_blocked_hosts() const { |
| 156 base::AutoLock auto_lock(runtime_lock_); | 156 base::AutoLock auto_lock(runtime_lock_); |
| 157 return PolicyBlockedHostsUnsafe(); | 157 return PolicyBlockedHostsUnsafe(); |
| 158 } | 158 } |
| 159 | 159 |
| 160 const URLPatternSet& PermissionsData::PolicyBlockedHostsUnsafe() const { | 160 const URLPatternSet& PermissionsData::PolicyBlockedHostsUnsafe() const { |
| 161 DCHECK(!thread_checker_ || thread_checker_->CalledOnValidThread()); | 161 runtime_lock_.AssertAcquired(); |
| 162 if (uses_default_policy_host_restrictions) | 162 if (uses_default_policy_host_restrictions) |
| 163 return default_policy_blocked_hosts(); | 163 return default_policy_blocked_hosts(); |
| 164 runtime_lock_.AssertAcquired(); | |
| 165 return policy_blocked_hosts_unsafe_; | 164 return policy_blocked_hosts_unsafe_; |
| 166 } | 165 } |
| 167 | 166 |
| 168 const URLPatternSet PermissionsData::policy_allowed_hosts() const { | 167 const URLPatternSet PermissionsData::policy_allowed_hosts() const { |
| 169 base::AutoLock auto_lock(runtime_lock_); | 168 base::AutoLock auto_lock(runtime_lock_); |
| 170 return PolicyAllowedHostsUnsafe(); | 169 return PolicyAllowedHostsUnsafe(); |
| 171 } | 170 } |
| 172 | 171 |
| 173 const URLPatternSet& PermissionsData::PolicyAllowedHostsUnsafe() const { | 172 const URLPatternSet& PermissionsData::PolicyAllowedHostsUnsafe() const { |
| 174 DCHECK(!thread_checker_ || thread_checker_->CalledOnValidThread()); | 173 runtime_lock_.AssertAcquired(); |
| 175 if (uses_default_policy_host_restrictions) | 174 if (uses_default_policy_host_restrictions) |
| 176 return default_policy_allowed_hosts(); | 175 return default_policy_allowed_hosts(); |
| 177 runtime_lock_.AssertAcquired(); | |
| 178 return policy_allowed_hosts_unsafe_; | 176 return policy_allowed_hosts_unsafe_; |
| 179 } | 177 } |
| 180 | 178 |
| 181 void PermissionsData::BindToCurrentThread() const { | 179 void PermissionsData::BindToCurrentThread() const { |
| 182 DCHECK(!thread_checker_); | 180 DCHECK(!thread_checker_); |
| 183 thread_checker_.reset(new base::ThreadChecker()); | 181 thread_checker_.reset(new base::ThreadChecker()); |
| 184 } | 182 } |
| 185 | 183 |
| 186 void PermissionsData::SetPermissions( | 184 void PermissionsData::SetPermissions( |
| 187 std::unique_ptr<const PermissionSet> active, | 185 std::unique_ptr<const PermissionSet> active, |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 manifest_errors::kCannotAccessPageWithUrl, document_url.spec()); | 456 manifest_errors::kCannotAccessPageWithUrl, document_url.spec()); |
| 459 } else { | 457 } else { |
| 460 *error = manifest_errors::kCannotAccessPage; | 458 *error = manifest_errors::kCannotAccessPage; |
| 461 } | 459 } |
| 462 } | 460 } |
| 463 | 461 |
| 464 return ACCESS_DENIED; | 462 return ACCESS_DENIED; |
| 465 } | 463 } |
| 466 | 464 |
| 467 } // namespace extensions | 465 } // namespace extensions |
| OLD | NEW |