OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/offline_pages/core/client_policy_controller.h" | 5 #include "components/offline_pages/core/client_policy_controller.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 .Build())); | 31 .Build())); |
32 policies_.insert(std::make_pair( | 32 policies_.insert(std::make_pair( |
33 kAsyncNamespace, | 33 kAsyncNamespace, |
34 OfflinePageClientPolicyBuilder(kAsyncNamespace, LifetimeType::PERSISTENT, | 34 OfflinePageClientPolicyBuilder(kAsyncNamespace, LifetimeType::PERSISTENT, |
35 kUnlimitedPages, kUnlimitedPages) | 35 kUnlimitedPages, kUnlimitedPages) |
36 .SetIsSupportedByDownload(true) | 36 .SetIsSupportedByDownload(true) |
37 .SetIsRemovedOnCacheReset(false) | 37 .SetIsRemovedOnCacheReset(false) |
38 .Build())); | 38 .Build())); |
39 policies_.insert(std::make_pair( | 39 policies_.insert(std::make_pair( |
40 kCCTNamespace, | 40 kCCTNamespace, |
41 MakePolicy(kCCTNamespace, LifetimeType::TEMPORARY, | 41 OfflinePageClientPolicyBuilder(kCCTNamespace, LifetimeType::TEMPORARY, |
42 base::TimeDelta::FromDays(2), kUnlimitedPages, 1))); | 42 kUnlimitedPages, 1) |
| 43 .SetExpirePeriod(base::TimeDelta::FromDays(2)) |
| 44 .SetIsDisabledWhenPrefetchDisabled(true) |
| 45 .Build())); |
43 policies_.insert(std::make_pair( | 46 policies_.insert(std::make_pair( |
44 kDownloadNamespace, OfflinePageClientPolicyBuilder( | 47 kDownloadNamespace, OfflinePageClientPolicyBuilder( |
45 kDownloadNamespace, LifetimeType::PERSISTENT, | 48 kDownloadNamespace, LifetimeType::PERSISTENT, |
46 kUnlimitedPages, kUnlimitedPages) | 49 kUnlimitedPages, kUnlimitedPages) |
47 .SetIsRemovedOnCacheReset(false) | 50 .SetIsRemovedOnCacheReset(false) |
48 .SetIsSupportedByDownload(true) | 51 .SetIsSupportedByDownload(true) |
49 .Build())); | 52 .Build())); |
50 policies_.insert(std::make_pair( | 53 policies_.insert(std::make_pair( |
51 kNTPSuggestionsNamespace, | 54 kNTPSuggestionsNamespace, |
52 OfflinePageClientPolicyBuilder(kNTPSuggestionsNamespace, | 55 OfflinePageClientPolicyBuilder(kNTPSuggestionsNamespace, |
53 LifetimeType::PERSISTENT, kUnlimitedPages, | 56 LifetimeType::PERSISTENT, kUnlimitedPages, |
54 kUnlimitedPages) | 57 kUnlimitedPages) |
55 .SetIsSupportedByDownload(true) | 58 .SetIsSupportedByDownload(true) |
| 59 .SetIsRemovedOnCacheReset(false) |
56 .Build())); | 60 .Build())); |
57 policies_.insert(std::make_pair( | 61 policies_.insert(std::make_pair( |
58 kSuggestedArticlesNamespace, | 62 kSuggestedArticlesNamespace, |
59 OfflinePageClientPolicyBuilder(kSuggestedArticlesNamespace, | 63 OfflinePageClientPolicyBuilder(kSuggestedArticlesNamespace, |
60 LifetimeType::TEMPORARY, kUnlimitedPages, | 64 LifetimeType::TEMPORARY, kUnlimitedPages, |
61 kUnlimitedPages) | 65 kUnlimitedPages) |
62 .SetIsRemovedOnCacheReset(true) | 66 .SetIsRemovedOnCacheReset(true) |
| 67 .SetIsDisabledWhenPrefetchDisabled(true) |
63 .SetExpirePeriod(base::TimeDelta::FromDays(30)) | 68 .SetExpirePeriod(base::TimeDelta::FromDays(30)) |
64 .Build())); | 69 .Build())); |
65 | 70 |
66 // Fallback policy. | 71 // Fallback policy. |
67 policies_.insert(std::make_pair( | 72 policies_.insert(std::make_pair( |
68 kDefaultNamespace, MakePolicy(kDefaultNamespace, LifetimeType::TEMPORARY, | 73 kDefaultNamespace, MakePolicy(kDefaultNamespace, LifetimeType::TEMPORARY, |
69 base::TimeDelta::FromDays(1), 10, 1))); | 74 base::TimeDelta::FromDays(1), 10, 1))); |
70 } | 75 } |
71 | 76 |
72 ClientPolicyController::~ClientPolicyController() {} | 77 ClientPolicyController::~ClientPolicyController() {} |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 160 |
156 show_in_original_tab_cache_ = base::MakeUnique<std::vector<std::string>>(); | 161 show_in_original_tab_cache_ = base::MakeUnique<std::vector<std::string>>(); |
157 for (const auto& policy_item : policies_) { | 162 for (const auto& policy_item : policies_) { |
158 if (policy_item.second.feature_policy.only_shown_in_original_tab) | 163 if (policy_item.second.feature_policy.only_shown_in_original_tab) |
159 show_in_original_tab_cache_->emplace_back(policy_item.first); | 164 show_in_original_tab_cache_->emplace_back(policy_item.first); |
160 } | 165 } |
161 | 166 |
162 return *show_in_original_tab_cache_; | 167 return *show_in_original_tab_cache_; |
163 } | 168 } |
164 | 169 |
| 170 bool ClientPolicyController::IsDisabledWhenPrefetchDisabled( |
| 171 const std::string& name_space) const { |
| 172 return GetPolicy(name_space).feature_policy.disabled_when_prefetch_disabled; |
| 173 } |
| 174 |
| 175 const std::vector<std::string>& |
| 176 ClientPolicyController::GetNamespacesDisabledWhenPrefetchDisabled() const { |
| 177 if (disabled_when_prefetch_disabled_cache_) |
| 178 return *disabled_when_prefetch_disabled_cache_; |
| 179 |
| 180 disabled_when_prefetch_disabled_cache_ = |
| 181 base::MakeUnique<std::vector<std::string>>(); |
| 182 for (const auto& policy_item : policies_) { |
| 183 if (policy_item.second.feature_policy.disabled_when_prefetch_disabled) |
| 184 disabled_when_prefetch_disabled_cache_->emplace_back(policy_item.first); |
| 185 } |
| 186 |
| 187 return *disabled_when_prefetch_disabled_cache_; |
| 188 } |
| 189 |
165 void ClientPolicyController::AddPolicyForTest( | 190 void ClientPolicyController::AddPolicyForTest( |
166 const std::string& name_space, | 191 const std::string& name_space, |
167 const OfflinePageClientPolicyBuilder& builder) { | 192 const OfflinePageClientPolicyBuilder& builder) { |
168 policies_.insert(std::make_pair(name_space, builder.Build())); | 193 policies_.insert(std::make_pair(name_space, builder.Build())); |
169 } | 194 } |
170 | 195 |
171 } // namespace offline_pages | 196 } // namespace offline_pages |
OLD | NEW |