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

Side by Side Diff: extensions/browser/quota_service.h

Issue 197413002: Move extensions-related files to using //components/keyed_service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « extensions/browser/process_map_factory.cc ('k') | extensions/browser/renderer_startup_helper.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 // The QuotaService uses heuristics to limit abusive requests 5 // The QuotaService uses heuristics to limit abusive requests
6 // made by extensions. In this model 'items' (e.g individual bookmarks) are 6 // made by extensions. In this model 'items' (e.g individual bookmarks) are
7 // represented by a 'Bucket' that holds state for that item for one single 7 // represented by a 'Bucket' that holds state for that item for one single
8 // interval of time. The interval of time is defined as 'how long we need to 8 // interval of time. The interval of time is defined as 'how long we need to
9 // watch an item (for a particular heuristic) before making a decision about 9 // watch an item (for a particular heuristic) before making a decision about
10 // quota violations'. A heuristic is two functions: one mapping input 10 // quota violations'. A heuristic is two functions: one mapping input
(...skipping 21 matching lines...) Expand all
32 class QuotaLimitHeuristic; 32 class QuotaLimitHeuristic;
33 class TestResetQuotaFunction; 33 class TestResetQuotaFunction;
34 34
35 typedef std::list<QuotaLimitHeuristic*> QuotaLimitHeuristics; 35 typedef std::list<QuotaLimitHeuristic*> QuotaLimitHeuristics;
36 36
37 // The QuotaService takes care that calls to certain extension 37 // The QuotaService takes care that calls to certain extension
38 // functions do not exceed predefined quotas. 38 // functions do not exceed predefined quotas.
39 // 39 //
40 // The QuotaService needs to live entirely on one thread, i.e. be created, 40 // The QuotaService needs to live entirely on one thread, i.e. be created,
41 // called and destroyed on the same thread, due to its use of a RepeatingTimer. 41 // called and destroyed on the same thread, due to its use of a RepeatingTimer.
42 // It is not a BrowserContextKeyedService because instances exist on both the UI 42 // It is not a KeyedService because instances exist on both the UI
43 // and IO threads. 43 // and IO threads.
44 class QuotaService : public base::NonThreadSafe { 44 class QuotaService : public base::NonThreadSafe {
45 public: 45 public:
46 // Some concrete heuristics (declared below) that ExtensionFunctions can 46 // Some concrete heuristics (declared below) that ExtensionFunctions can
47 // use to help the service make decisions about quota violations. 47 // use to help the service make decisions about quota violations.
48 class TimedLimit; 48 class TimedLimit;
49 class SustainedLimit; 49 class SustainedLimit;
50 50
51 QuotaService(); 51 QuotaService();
52 virtual ~QuotaService(); 52 virtual ~QuotaService();
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 private: 234 private:
235 // Specifies how long exhaustion of buckets is allowed to continue before 235 // Specifies how long exhaustion of buckets is allowed to continue before
236 // denying requests. 236 // denying requests.
237 const int64 repeat_exhaustion_allowance_; 237 const int64 repeat_exhaustion_allowance_;
238 int64 num_available_repeat_exhaustions_; 238 int64 num_available_repeat_exhaustions_;
239 }; 239 };
240 240
241 } // namespace extensions 241 } // namespace extensions
242 242
243 #endif // EXTENSIONS_BROWSER_QUOTA_SERVICE_H_ 243 #endif // EXTENSIONS_BROWSER_QUOTA_SERVICE_H_
OLDNEW
« no previous file with comments | « extensions/browser/process_map_factory.cc ('k') | extensions/browser/renderer_startup_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698