| OLD | NEW |
| 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 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ |
| 7 | 7 |
| 8 #include <queue> | 8 #include <queue> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/callback.h" | 11 #include "base/callback.h" |
| 12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
| 13 #include "base/threading/sequenced_worker_pool.h" | 13 #include "base/threading/sequenced_worker_pool.h" |
| 14 #include "content/public/browser/browser_thread.h" | |
| 15 | 14 |
| 16 namespace extensions { | 15 namespace extensions { |
| 17 | 16 |
| 18 // An abstract base class for all kinds of system information providers. Each | 17 // An abstract base class for all kinds of system information providers. Each |
| 19 // kind of SystemInfoProvider is a single shared instance. It is created if | 18 // kind of SystemInfoProvider is a single shared instance. It is created if |
| 20 // needed, and destroyed at exit time. This is done via LazyInstance and | 19 // needed, and destroyed at exit time. This is done via LazyInstance and |
| 21 // scoped_refptr. | 20 // scoped_refptr. |
| 22 // | 21 // |
| 23 // The SystemInfoProvider is designed to query system information on the worker | 22 // The SystemInfoProvider is designed to query system information on the worker |
| 24 // pool. It also maintains a queue of callbacks on the UI thread which are | 23 // pool. It also maintains a queue of callbacks on the UI thread which are |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 // Sequenced worker pool to make the operation of querying information get | 89 // Sequenced worker pool to make the operation of querying information get |
| 91 // executed in order. | 90 // executed in order. |
| 92 scoped_refptr<base::SequencedTaskRunner> worker_pool_; | 91 scoped_refptr<base::SequencedTaskRunner> worker_pool_; |
| 93 | 92 |
| 94 DISALLOW_COPY_AND_ASSIGN(SystemInfoProvider); | 93 DISALLOW_COPY_AND_ASSIGN(SystemInfoProvider); |
| 95 }; | 94 }; |
| 96 | 95 |
| 97 } // namespace extensions | 96 } // namespace extensions |
| 98 | 97 |
| 99 #endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ | 98 #endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ |
| OLD | NEW |