Refactor WebsiteSettings to operate on a SecurityInfo
[chromium-blink-merge.git] / chrome / browser / predictors / predictor_database.h
blob385ea24bc15f170ce142354a4daf87f531262a1a
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_PREDICTORS_PREDICTOR_DATABASE_H_
6 #define CHROME_BROWSER_PREDICTORS_PREDICTOR_DATABASE_H_
8 #include "base/memory/ref_counted.h"
9 #include "components/keyed_service/core/keyed_service.h"
11 class Profile;
13 namespace sql {
14 class Connection;
17 namespace predictors {
19 class AutocompleteActionPredictorTable;
20 class PredictorDatabaseInternal;
21 class ResourcePrefetchPredictorTables;
23 class PredictorDatabase : public KeyedService {
24 public:
25 explicit PredictorDatabase(Profile* profile);
26 ~PredictorDatabase() override;
28 scoped_refptr<AutocompleteActionPredictorTable> autocomplete_table();
29 scoped_refptr<ResourcePrefetchPredictorTables> resource_prefetch_tables();
31 // Used for testing.
32 sql::Connection* GetDatabase();
34 private:
35 // KeyedService
36 void Shutdown() override;
38 scoped_refptr<PredictorDatabaseInternal> db_;
40 DISALLOW_COPY_AND_ASSIGN(PredictorDatabase);
43 } // namespace predictors
45 #endif // CHROME_BROWSER_PREDICTORS_PREDICTOR_DATABASE_H_