Chromium Code Reviews| Index: components/gcm_driver/gcm_driver.cc |
| diff --git a/components/gcm_driver/gcm_driver.cc b/components/gcm_driver/gcm_driver.cc |
| index cebec36b0dab0f0e3cd56b5eb79faf5293980a46..16e04afde7b45a97c9a7bdd4938ada07a2d90be2 100644 |
| --- a/components/gcm_driver/gcm_driver.cc |
| +++ b/components/gcm_driver/gcm_driver.cc |
| @@ -7,14 +7,17 @@ |
| #include <algorithm> |
| #include "base/bind.h" |
| +#include "base/files/file_path.h" |
| #include "base/logging.h" |
| #include "components/gcm_driver/gcm_app_handler.h" |
| namespace gcm { |
| -namespace { |
| const size_t kMaxSenders = 100; |
| -} // namespace |
| + |
| +// Directory in the GCM Store in which the encryption database will be stored. |
| +const base::FilePath::CharType kEncryptionDirectoryName[] = |
| + FILE_PATH_LITERAL("Encryption"); |
| InstanceIDHandler::InstanceIDHandler() { |
| } |
| @@ -27,7 +30,14 @@ void InstanceIDHandler::DeleteAllTokensForApp( |
| DeleteToken(app_id, "*", "*", callback); |
| } |
| -GCMDriver::GCMDriver() : weak_ptr_factory_(this) { |
| +GCMDriver::GCMDriver( |
| + const base::FilePath& store_path, |
| + const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner) |
| + : weak_ptr_factory_(this) { |
| + if (blocking_task_runner) { |
|
jianli
2015/07/20 21:36:33
Please comment under what circumstance that blocki
Peter Beverloo
2015/07/21 14:11:30
Done.
|
| + encryption_provider_.Init(store_path.Append(kEncryptionDirectoryName), |
| + blocking_task_runner); |
| + } |
| } |
| GCMDriver::~GCMDriver() { |
| @@ -149,6 +159,12 @@ void GCMDriver::Send(const std::string& app_id, |
| SendImpl(app_id, receiver_id, message); |
| } |
| +void GCMDriver::GetPublicKey( |
| + const std::string& app_id, |
| + const GetPublicKeyCallback& callback) { |
| + encryption_provider_.GetPublicKey(app_id, callback); |
| +} |
| + |
| void GCMDriver::UnregisterWithSenderIdImpl(const std::string& app_id, |
| const std::string& sender_id) { |
| NOTREACHED(); |