| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "components/gcm_driver/gcm_driver_desktop.h" | 5 #include "components/gcm_driver/gcm_driver_desktop.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 new GCMChannelStatusSyncer(this, | 356 new GCMChannelStatusSyncer(this, |
| 357 prefs, | 357 prefs, |
| 358 channel_status_request_url, | 358 channel_status_request_url, |
| 359 user_agent, | 359 user_agent, |
| 360 request_context)), | 360 request_context)), |
| 361 signed_in_(false), | 361 signed_in_(false), |
| 362 gcm_started_(false), | 362 gcm_started_(false), |
| 363 gcm_enabled_(true), | 363 gcm_enabled_(true), |
| 364 connected_(false), | 364 connected_(false), |
| 365 account_mapper_(new GCMAccountMapper(this)), | 365 account_mapper_(new GCMAccountMapper(this)), |
| 366 // Setting to max, to make sure it does not prompt for token reporting |
| 367 // Before reading a reasonable value from the DB, which might be never, |
| 368 // in which case the fetching will be triggered. |
| 369 last_token_fetch_time_(base::Time::Max()), |
| 366 ui_thread_(ui_thread), | 370 ui_thread_(ui_thread), |
| 367 io_thread_(io_thread), | 371 io_thread_(io_thread), |
| 368 weak_ptr_factory_(this) { | 372 weak_ptr_factory_(this) { |
| 369 gcm_enabled_ = gcm_channel_status_syncer_->gcm_enabled(); | 373 gcm_enabled_ = gcm_channel_status_syncer_->gcm_enabled(); |
| 370 | 374 |
| 371 // Create and initialize the GCMClient. Note that this does not initiate the | 375 // Create and initialize the GCMClient. Note that this does not initiate the |
| 372 // GCM check-in. | 376 // GCM check-in. |
| 373 io_worker_.reset(new IOWorker(ui_thread, io_thread)); | 377 io_worker_.reset(new IOWorker(ui_thread, io_thread)); |
| 374 io_thread_->PostTask( | 378 io_thread_->PostTask( |
| 375 FROM_HERE, | 379 FROM_HERE, |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 765 return; | 769 return; |
| 766 | 770 |
| 767 GetAppHandler(app_id)->OnSendAcknowledged(app_id, message_id); | 771 GetAppHandler(app_id)->OnSendAcknowledged(app_id, message_id); |
| 768 } | 772 } |
| 769 | 773 |
| 770 void GCMDriverDesktop::GCMClientReady( | 774 void GCMDriverDesktop::GCMClientReady( |
| 771 const std::vector<AccountMapping>& account_mappings, | 775 const std::vector<AccountMapping>& account_mappings, |
| 772 const base::Time& last_token_fetch_time) { | 776 const base::Time& last_token_fetch_time) { |
| 773 DCHECK(ui_thread_->RunsTasksOnCurrentThread()); | 777 DCHECK(ui_thread_->RunsTasksOnCurrentThread()); |
| 774 | 778 |
| 779 last_token_fetch_time_ = last_token_fetch_time; |
| 780 |
| 775 GCMDriver::AddAppHandler(kGCMAccountMapperAppId, account_mapper_.get()); | 781 GCMDriver::AddAppHandler(kGCMAccountMapperAppId, account_mapper_.get()); |
| 776 account_mapper_->Initialize(account_mappings); | 782 account_mapper_->Initialize(account_mappings); |
| 777 last_token_fetch_time_ = last_token_fetch_time; | |
| 778 | 783 |
| 779 delayed_task_controller_->SetReady(); | 784 delayed_task_controller_->SetReady(); |
| 780 } | 785 } |
| 781 | 786 |
| 782 void GCMDriverDesktop::OnConnected(const net::IPEndPoint& ip_endpoint) { | 787 void GCMDriverDesktop::OnConnected(const net::IPEndPoint& ip_endpoint) { |
| 783 DCHECK(ui_thread_->RunsTasksOnCurrentThread()); | 788 DCHECK(ui_thread_->RunsTasksOnCurrentThread()); |
| 784 | 789 |
| 785 connected_ = true; | 790 connected_ = true; |
| 786 | 791 |
| 787 // Drop the event if the service has been stopped. | 792 // Drop the event if the service has been stopped. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 812 | 817 |
| 813 // Normally request_gcm_statistics_callback_ would not be null. | 818 // Normally request_gcm_statistics_callback_ would not be null. |
| 814 if (!request_gcm_statistics_callback_.is_null()) | 819 if (!request_gcm_statistics_callback_.is_null()) |
| 815 request_gcm_statistics_callback_.Run(stats); | 820 request_gcm_statistics_callback_.Run(stats); |
| 816 else | 821 else |
| 817 LOG(WARNING) << "request_gcm_statistics_callback_ is NULL."; | 822 LOG(WARNING) << "request_gcm_statistics_callback_ is NULL."; |
| 818 } | 823 } |
| 819 | 824 |
| 820 } // namespace gcm | 825 } // namespace gcm |
| 821 | 826 |
| OLD | NEW |