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

Side by Side Diff: components/offline_pages/offline_page_client_policy.h

Issue 1934743003: Implementing client policy and controller. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Created 4 years, 7 months 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 unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_CLIENT_POLICY_H_
6 #define COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_CLIENT_POLICY_H_
7
8 #include <stdint.h>
9
10 #include <string>
11
12 #include "base/time/time.h"
13
14 namespace offline_pages {
15
16 static const int kUnlimitedPages = 0;
17
18 // The struct describing the lifetime policy of offline pages.
19 // The following behaviors are controlled by policy:
20 // a. Persistency of the offline page.
21 // b. Expiration time of an offline page
22 // c. Limit of number of pages offline.
23 struct LifetimePolicy {
24 // Type of the client, indicating where the archived page would be saved
25 // and whether it could be kept indefinitely.
26 enum class LifetimeType {
27 TEMPORARY,
28 PERSISTENT,
29 };
30
31 // Type of the page generated by the client.
32 LifetimeType lifetime_type;
33
34 // The time before the page expires.
35 base::TimeDelta expire_period;
36
37 // The maximum number of pages allowd to be saved by the namespace.
fgorski 2016/05/02 23:10:32 nit: allowed
romax 2016/05/03 00:29:24 Done.
38 // kUnlimitedPages (defined above) means no limit set.
39 int page_limit;
40 };
41
42 // The struct describing policies for various namespaces (Bookmark, Last-N etc.)
43 // used by offline page model. The name_space is supposed to be key, so that
44 // it's sufficient to compare name_space only when doing comparisons.
45 struct OfflinePageClientPolicy {
46 // Namespace to which the policy applied.
47 std::string name_space;
48
49 // Policy to control the lifetime of a page generated by this namespace.
50 LifetimePolicy lifetime_policy;
51 };
52
53 } // namespace offline_pages
54
55 #endif // COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_CLIENT_POLICY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698