| Index: components/gcm_driver/gcm_driver_desktop.cc
|
| diff --git a/components/gcm_driver/gcm_driver_desktop.cc b/components/gcm_driver/gcm_driver_desktop.cc
|
| index d8f7fafba846ea01d4df4c71aea7a8aabd0dab54..c084c94b128d4218dab36f9b364fafe360b52dd6 100644
|
| --- a/components/gcm_driver/gcm_driver_desktop.cc
|
| +++ b/components/gcm_driver/gcm_driver_desktop.cc
|
| @@ -101,10 +101,12 @@ class GCMDriverDesktop::IOWorker : public GCMClient::Delegate {
|
| void RemoveInstanceIDData(const std::string& app_id);
|
| void GetInstanceIDData(const std::string& app_id);
|
| void GetToken(const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope,
|
| const std::map<std::string, std::string>& options);
|
| void DeleteToken(const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope);
|
|
|
| @@ -443,6 +445,7 @@ void GCMDriverDesktop::IOWorker::GetInstanceIDData(
|
|
|
| void GCMDriverDesktop::IOWorker::GetToken(
|
| const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope,
|
| const std::map<std::string, std::string>& options) {
|
| @@ -451,6 +454,7 @@ void GCMDriverDesktop::IOWorker::GetToken(
|
| std::unique_ptr<InstanceIDTokenInfo> instance_id_token_info(
|
| new InstanceIDTokenInfo);
|
| instance_id_token_info->app_id = app_id;
|
| + instance_id_token_info->use_subtype = use_subtype;
|
| instance_id_token_info->authorized_entity = authorized_entity;
|
| instance_id_token_info->scope = scope;
|
| instance_id_token_info->options = options;
|
| @@ -460,11 +464,13 @@ void GCMDriverDesktop::IOWorker::GetToken(
|
|
|
| void GCMDriverDesktop::IOWorker::DeleteToken(
|
| const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope) {
|
| std::unique_ptr<InstanceIDTokenInfo> instance_id_token_info(
|
| new InstanceIDTokenInfo);
|
| instance_id_token_info->app_id = app_id;
|
| + instance_id_token_info->use_subtype = use_subtype;
|
| instance_id_token_info->authorized_entity = authorized_entity;
|
| instance_id_token_info->scope = scope;
|
| gcm_client_->Unregister(
|
| @@ -824,6 +830,7 @@ InstanceIDHandler* GCMDriverDesktop::GetInstanceIDHandlerInternal() {
|
|
|
| void GCMDriverDesktop::GetToken(
|
| const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope,
|
| const std::map<std::string, std::string>& options,
|
| @@ -851,21 +858,18 @@ void GCMDriverDesktop::GetToken(
|
|
|
| // Delay the GetToken operation until GCMClient is ready.
|
| if (!delayed_task_controller_->CanRunTaskWithoutDelay()) {
|
| - delayed_task_controller_->AddTask(
|
| - base::Bind(&GCMDriverDesktop::DoGetToken,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - app_id,
|
| - authorized_entity,
|
| - scope,
|
| - options));
|
| + delayed_task_controller_->AddTask(base::Bind(
|
| + &GCMDriverDesktop::DoGetToken, weak_ptr_factory_.GetWeakPtr(), app_id,
|
| + use_subtype, authorized_entity, scope, options));
|
| return;
|
| }
|
|
|
| - DoGetToken(app_id, authorized_entity, scope, options);
|
| + DoGetToken(app_id, use_subtype, authorized_entity, scope, options);
|
| }
|
|
|
| void GCMDriverDesktop::DoGetToken(
|
| const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope,
|
| const std::map<std::string, std::string>& options) {
|
| @@ -879,16 +883,13 @@ void GCMDriverDesktop::DoGetToken(
|
| }
|
|
|
| io_thread_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&GCMDriverDesktop::IOWorker::GetToken,
|
| - base::Unretained(io_worker_.get()),
|
| - app_id,
|
| - authorized_entity,
|
| - scope,
|
| - options));
|
| + FROM_HERE, base::Bind(&GCMDriverDesktop::IOWorker::GetToken,
|
| + base::Unretained(io_worker_.get()), app_id,
|
| + use_subtype, authorized_entity, scope, options));
|
| }
|
|
|
| void GCMDriverDesktop::DeleteToken(const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope,
|
| const DeleteTokenCallback& callback) {
|
| @@ -916,30 +917,25 @@ void GCMDriverDesktop::DeleteToken(const std::string& app_id,
|
|
|
| // Delay the DeleteToken operation until GCMClient is ready.
|
| if (!delayed_task_controller_->CanRunTaskWithoutDelay()) {
|
| - delayed_task_controller_->AddTask(
|
| - base::Bind(&GCMDriverDesktop::DoDeleteToken,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - app_id,
|
| - authorized_entity,
|
| - scope));
|
| + delayed_task_controller_->AddTask(base::Bind(
|
| + &GCMDriverDesktop::DoDeleteToken, weak_ptr_factory_.GetWeakPtr(),
|
| + app_id, use_subtype, authorized_entity, scope));
|
| return;
|
| }
|
|
|
| - DoDeleteToken(app_id, authorized_entity, scope);
|
| + DoDeleteToken(app_id, use_subtype, authorized_entity, scope);
|
| }
|
|
|
| void GCMDriverDesktop::DoDeleteToken(const std::string& app_id,
|
| + bool use_subtype,
|
| const std::string& authorized_entity,
|
| const std::string& scope) {
|
| DCHECK(ui_thread_->RunsTasksOnCurrentThread());
|
|
|
| - io_thread_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&GCMDriverDesktop::IOWorker::DeleteToken,
|
| - base::Unretained(io_worker_.get()),
|
| - app_id,
|
| - authorized_entity,
|
| - scope));
|
| + io_thread_->PostTask(FROM_HERE,
|
| + base::Bind(&GCMDriverDesktop::IOWorker::DeleteToken,
|
| + base::Unretained(io_worker_.get()), app_id,
|
| + use_subtype, authorized_entity, scope));
|
| }
|
|
|
| void GCMDriverDesktop::AddInstanceIDData(
|
|
|