Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1103)

Side by Side Diff: chrome/browser/extensions/api/instance_id/instance_id_api.cc

Issue 2025103003: ExtensionFunction: don't pass ownership of base::Value by raw pointer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/extensions/api/instance_id/instance_id_api.h" 5 #include "chrome/browser/extensions/api/instance_id/instance_id_api.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/ptr_util.h"
8 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
9 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/services/gcm/instance_id/instance_id_profile_service.h" 11 #include "chrome/browser/services/gcm/instance_id/instance_id_profile_service.h"
11 #include "chrome/browser/services/gcm/instance_id/instance_id_profile_service_fa ctory.h" 12 #include "chrome/browser/services/gcm/instance_id/instance_id_profile_service_fa ctory.h"
12 #include "chrome/common/extensions/api/instance_id.h" 13 #include "chrome/common/extensions/api/instance_id.h"
13 #include "components/gcm_driver/instance_id/instance_id_driver.h" 14 #include "components/gcm_driver/instance_id/instance_id_driver.h"
14 #include "extensions/common/extension.h" 15 #include "extensions/common/extension.h"
15 16
16 namespace extensions { 17 namespace extensions {
17 18
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 88
88 InstanceIDGetIDFunction::~InstanceIDGetIDFunction() {} 89 InstanceIDGetIDFunction::~InstanceIDGetIDFunction() {}
89 90
90 ExtensionFunction::ResponseAction InstanceIDGetIDFunction::DoWork() { 91 ExtensionFunction::ResponseAction InstanceIDGetIDFunction::DoWork() {
91 GetInstanceID()->GetID( 92 GetInstanceID()->GetID(
92 base::Bind(&InstanceIDGetIDFunction::GetIDCompleted, this)); 93 base::Bind(&InstanceIDGetIDFunction::GetIDCompleted, this));
93 return RespondLater(); 94 return RespondLater();
94 } 95 }
95 96
96 void InstanceIDGetIDFunction::GetIDCompleted(const std::string& id) { 97 void InstanceIDGetIDFunction::GetIDCompleted(const std::string& id) {
97 Respond(OneArgument(new base::StringValue(id))); 98 Respond(OneArgument(base::MakeUnique<base::StringValue>(id)));
98 } 99 }
99 100
100 InstanceIDGetCreationTimeFunction::InstanceIDGetCreationTimeFunction() {} 101 InstanceIDGetCreationTimeFunction::InstanceIDGetCreationTimeFunction() {}
101 102
102 InstanceIDGetCreationTimeFunction::~InstanceIDGetCreationTimeFunction() {} 103 InstanceIDGetCreationTimeFunction::~InstanceIDGetCreationTimeFunction() {}
103 104
104 ExtensionFunction::ResponseAction InstanceIDGetCreationTimeFunction::DoWork() { 105 ExtensionFunction::ResponseAction InstanceIDGetCreationTimeFunction::DoWork() {
105 GetInstanceID()->GetCreationTime( 106 GetInstanceID()->GetCreationTime(
106 base::Bind(&InstanceIDGetCreationTimeFunction::GetCreationTimeCompleted, 107 base::Bind(&InstanceIDGetCreationTimeFunction::GetCreationTimeCompleted,
107 this)); 108 this));
108 return RespondLater(); 109 return RespondLater();
109 } 110 }
110 111
111 void InstanceIDGetCreationTimeFunction::GetCreationTimeCompleted( 112 void InstanceIDGetCreationTimeFunction::GetCreationTimeCompleted(
112 const base::Time& creation_time) { 113 const base::Time& creation_time) {
113 Respond(OneArgument(new base::FundamentalValue(creation_time.ToDoubleT()))); 114 Respond(OneArgument(
115 base::MakeUnique<base::FundamentalValue>(creation_time.ToDoubleT())));
114 } 116 }
115 117
116 InstanceIDGetTokenFunction::InstanceIDGetTokenFunction() {} 118 InstanceIDGetTokenFunction::InstanceIDGetTokenFunction() {}
117 119
118 InstanceIDGetTokenFunction::~InstanceIDGetTokenFunction() {} 120 InstanceIDGetTokenFunction::~InstanceIDGetTokenFunction() {}
119 121
120 ExtensionFunction::ResponseAction InstanceIDGetTokenFunction::DoWork() { 122 ExtensionFunction::ResponseAction InstanceIDGetTokenFunction::DoWork() {
121 std::unique_ptr<api::instance_id::GetToken::Params> params = 123 std::unique_ptr<api::instance_id::GetToken::Params> params =
122 api::instance_id::GetToken::Params::Create(*args_); 124 api::instance_id::GetToken::Params::Create(*args_);
123 EXTENSION_FUNCTION_VALIDATE(params.get()); 125 EXTENSION_FUNCTION_VALIDATE(params.get());
124 126
125 std::map<std::string, std::string> options; 127 std::map<std::string, std::string> options;
126 if (params->get_token_params.options.get()) 128 if (params->get_token_params.options.get())
127 options = params->get_token_params.options->additional_properties; 129 options = params->get_token_params.options->additional_properties;
128 130
129 GetInstanceID()->GetToken( 131 GetInstanceID()->GetToken(
130 params->get_token_params.authorized_entity, 132 params->get_token_params.authorized_entity,
131 params->get_token_params.scope, 133 params->get_token_params.scope,
132 options, 134 options,
133 base::Bind(&InstanceIDGetTokenFunction::GetTokenCompleted, this)); 135 base::Bind(&InstanceIDGetTokenFunction::GetTokenCompleted, this));
134 136
135 return RespondLater(); 137 return RespondLater();
136 } 138 }
137 139
138 void InstanceIDGetTokenFunction::GetTokenCompleted( 140 void InstanceIDGetTokenFunction::GetTokenCompleted(
139 const std::string& token, 141 const std::string& token,
140 instance_id::InstanceID::Result result) { 142 instance_id::InstanceID::Result result) {
141 if (result == instance_id::InstanceID::SUCCESS) 143 if (result == instance_id::InstanceID::SUCCESS)
142 Respond(OneArgument(new base::StringValue(token))); 144 Respond(OneArgument(base::MakeUnique<base::StringValue>(token)));
143 else 145 else
144 Respond(Error(InstanceIDResultToError(result))); 146 Respond(Error(InstanceIDResultToError(result)));
145 } 147 }
146 148
147 InstanceIDDeleteTokenFunction::InstanceIDDeleteTokenFunction() {} 149 InstanceIDDeleteTokenFunction::InstanceIDDeleteTokenFunction() {}
148 150
149 InstanceIDDeleteTokenFunction::~InstanceIDDeleteTokenFunction() {} 151 InstanceIDDeleteTokenFunction::~InstanceIDDeleteTokenFunction() {}
150 152
151 ExtensionFunction::ResponseAction InstanceIDDeleteTokenFunction::DoWork() { 153 ExtensionFunction::ResponseAction InstanceIDDeleteTokenFunction::DoWork() {
152 std::unique_ptr<api::instance_id::DeleteToken::Params> params = 154 std::unique_ptr<api::instance_id::DeleteToken::Params> params =
(...skipping 29 matching lines...) Expand all
182 184
183 void InstanceIDDeleteIDFunction::DeleteIDCompleted( 185 void InstanceIDDeleteIDFunction::DeleteIDCompleted(
184 instance_id::InstanceID::Result result) { 186 instance_id::InstanceID::Result result) {
185 if (result == instance_id::InstanceID::SUCCESS) 187 if (result == instance_id::InstanceID::SUCCESS)
186 Respond(NoArguments()); 188 Respond(NoArguments());
187 else 189 else
188 Respond(Error(InstanceIDResultToError(result))); 190 Respond(Error(InstanceIDResultToError(result)));
189 } 191 }
190 192
191 } // namespace extensions 193 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698