Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Unified Diff: components/offline_pages/client_policy_controller.cc

Issue 2489443002: Move all components/offline_pages/ files into component/offline_pages/core (Closed)
Patch Set: more rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/offline_pages/client_policy_controller.cc
diff --git a/components/offline_pages/client_policy_controller.cc b/components/offline_pages/client_policy_controller.cc
deleted file mode 100644
index ae223d400f17db74d0af226de034110df9f7158b..0000000000000000000000000000000000000000
--- a/components/offline_pages/client_policy_controller.cc
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/offline_pages/client_policy_controller.h"
-
-#include <utility>
-
-#include "base/memory/ptr_util.h"
-#include "base/time/time.h"
-#include "components/offline_pages/client_namespace_constants.h"
-
-using LifetimeType = offline_pages::LifetimePolicy::LifetimeType;
-
-namespace offline_pages {
-
-ClientPolicyController::ClientPolicyController() {
- policies_.clear();
- // Manually defining client policies for bookmark and last_n.
- policies_.insert(std::make_pair(
- kBookmarkNamespace,
- MakePolicy(kBookmarkNamespace, LifetimeType::TEMPORARY,
- base::TimeDelta::FromDays(7), kUnlimitedPages, 1)));
- policies_.insert(std::make_pair(
- kLastNNamespace,
- OfflinePageClientPolicyBuilder(kLastNNamespace, LifetimeType::TEMPORARY,
- kUnlimitedPages, kUnlimitedPages)
- .SetExpirePeriod(base::TimeDelta::FromDays(2))
- .SetIsSupportedByRecentTabs(true)
- .SetIsOnlyShownInOriginalTab(true)
- .Build()));
- policies_.insert(std::make_pair(
- kAsyncNamespace,
- OfflinePageClientPolicyBuilder(kAsyncNamespace, LifetimeType::PERSISTENT,
- kUnlimitedPages, kUnlimitedPages)
- .SetIsSupportedByDownload(true)
- .SetIsRemovedOnCacheReset(false)
- .Build()));
- policies_.insert(std::make_pair(
- kCCTNamespace,
- MakePolicy(kCCTNamespace, LifetimeType::TEMPORARY,
- base::TimeDelta::FromDays(2), kUnlimitedPages, 1)));
- policies_.insert(std::make_pair(
- kDownloadNamespace, OfflinePageClientPolicyBuilder(
- kDownloadNamespace, LifetimeType::PERSISTENT,
- kUnlimitedPages, kUnlimitedPages)
- .SetIsRemovedOnCacheReset(false)
- .SetIsSupportedByDownload(true)
- .Build()));
- policies_.insert(std::make_pair(
- kNTPSuggestionsNamespace,
- OfflinePageClientPolicyBuilder(kNTPSuggestionsNamespace,
- LifetimeType::PERSISTENT, kUnlimitedPages,
- kUnlimitedPages)
- .SetIsSupportedByDownload(true)
- .Build()));
-
- // Fallback policy.
- policies_.insert(std::make_pair(
- kDefaultNamespace, MakePolicy(kDefaultNamespace, LifetimeType::TEMPORARY,
- base::TimeDelta::FromDays(1), 10, 1)));
-}
-
-ClientPolicyController::~ClientPolicyController() {}
-
-// static
-const OfflinePageClientPolicy ClientPolicyController::MakePolicy(
- const std::string& name_space,
- LifetimeType lifetime_type,
- const base::TimeDelta& expire_period,
- size_t page_limit,
- size_t pages_allowed_per_url) {
- return OfflinePageClientPolicyBuilder(name_space, lifetime_type, page_limit,
- pages_allowed_per_url)
- .SetExpirePeriod(expire_period)
- .Build();
-}
-
-const OfflinePageClientPolicy& ClientPolicyController::GetPolicy(
- const std::string& name_space) const {
- const auto& iter = policies_.find(name_space);
- if (iter != policies_.end())
- return iter->second;
- // Fallback when the namespace isn't defined.
- return policies_.at(kDefaultNamespace);
-}
-
-std::vector<std::string> ClientPolicyController::GetAllNamespaces() const {
- std::vector<std::string> result;
- for (const auto& policy_item : policies_)
- result.emplace_back(policy_item.first);
-
- return result;
-}
-
-bool ClientPolicyController::IsRemovedOnCacheReset(
- const std::string& name_space) const {
- return GetPolicy(name_space).feature_policy.is_removed_on_cache_reset;
-}
-
-bool ClientPolicyController::IsSupportedByDownload(
- const std::string& name_space) const {
- return GetPolicy(name_space).feature_policy.is_supported_by_download;
-}
-
-const std::vector<std::string>&
-ClientPolicyController::GetNamespacesSupportedByDownload() const {
- if (download_namespace_cache_)
- return *download_namespace_cache_;
-
- download_namespace_cache_ = base::MakeUnique<std::vector<std::string>>();
- for (const auto& policy_item : policies_) {
- if (policy_item.second.feature_policy.is_supported_by_download)
- download_namespace_cache_->emplace_back(policy_item.first);
- }
- return *download_namespace_cache_;
-}
-
-bool ClientPolicyController::IsShownAsRecentlyVisitedSite(
- const std::string& name_space) const {
- return GetPolicy(name_space).feature_policy.is_supported_by_recent_tabs;
-}
-
-const std::vector<std::string>&
-ClientPolicyController::GetNamespacesShownAsRecentlyVisitedSite() const {
- if (recent_tab_namespace_cache_)
- return *recent_tab_namespace_cache_;
-
- recent_tab_namespace_cache_ = base::MakeUnique<std::vector<std::string>>();
- for (const auto& policy_item : policies_) {
- if (policy_item.second.feature_policy.is_supported_by_recent_tabs)
- recent_tab_namespace_cache_->emplace_back(policy_item.first);
- }
-
- return *recent_tab_namespace_cache_;
-}
-
-bool ClientPolicyController::IsRestrictedToOriginalTab(
- const std::string& name_space) const {
- return GetPolicy(name_space).feature_policy.only_shown_in_original_tab;
-}
-
-const std::vector<std::string>&
-ClientPolicyController::GetNamespacesRestrictedToOriginalTab() const {
- if (show_in_original_tab_cache_)
- return *show_in_original_tab_cache_;
-
- show_in_original_tab_cache_ = base::MakeUnique<std::vector<std::string>>();
- for (const auto& policy_item : policies_) {
- if (policy_item.second.feature_policy.only_shown_in_original_tab)
- show_in_original_tab_cache_->emplace_back(policy_item.first);
- }
-
- return *show_in_original_tab_cache_;
-}
-
-void ClientPolicyController::AddPolicyForTest(
- const std::string& name_space,
- const OfflinePageClientPolicyBuilder& builder) {
- policies_.insert(std::make_pair(name_space, builder.Build()));
-}
-
-} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698