| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "extensions/browser/api/alarms/alarms_api.h" | 5 #include "extensions/browser/api/alarms/alarms_api.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/time/clock.h" | 10 #include "base/time/clock.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 AlarmsCreateFunction::AlarmsCreateFunction(base::Clock* clock) | 96 AlarmsCreateFunction::AlarmsCreateFunction(base::Clock* clock) |
| 97 : clock_(clock), owns_clock_(false) { | 97 : clock_(clock), owns_clock_(false) { |
| 98 } | 98 } |
| 99 | 99 |
| 100 AlarmsCreateFunction::~AlarmsCreateFunction() { | 100 AlarmsCreateFunction::~AlarmsCreateFunction() { |
| 101 if (owns_clock_) | 101 if (owns_clock_) |
| 102 delete clock_; | 102 delete clock_; |
| 103 } | 103 } |
| 104 | 104 |
| 105 bool AlarmsCreateFunction::RunAsync() { | 105 bool AlarmsCreateFunction::RunAsync() { |
| 106 scoped_ptr<alarms::Create::Params> params( | 106 std::unique_ptr<alarms::Create::Params> params( |
| 107 alarms::Create::Params::Create(*args_)); | 107 alarms::Create::Params::Create(*args_)); |
| 108 EXTENSION_FUNCTION_VALIDATE(params.get()); | 108 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 109 const std::string& alarm_name = | 109 const std::string& alarm_name = |
| 110 params->name.get() ? *params->name : kDefaultAlarmName; | 110 params->name.get() ? *params->name : kDefaultAlarmName; |
| 111 std::vector<std::string> warnings; | 111 std::vector<std::string> warnings; |
| 112 if (!ValidateAlarmCreateInfo(alarm_name, params->alarm_info, extension(), | 112 if (!ValidateAlarmCreateInfo(alarm_name, params->alarm_info, extension(), |
| 113 &error_, &warnings)) { | 113 &error_, &warnings)) { |
| 114 return false; | 114 return false; |
| 115 } | 115 } |
| 116 for (std::vector<std::string>::const_iterator it = warnings.begin(); | 116 for (std::vector<std::string>::const_iterator it = warnings.begin(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 128 base::Bind(&AlarmsCreateFunction::Callback, this)); | 128 base::Bind(&AlarmsCreateFunction::Callback, this)); |
| 129 | 129 |
| 130 return true; | 130 return true; |
| 131 } | 131 } |
| 132 | 132 |
| 133 void AlarmsCreateFunction::Callback() { | 133 void AlarmsCreateFunction::Callback() { |
| 134 SendResponse(true); | 134 SendResponse(true); |
| 135 } | 135 } |
| 136 | 136 |
| 137 bool AlarmsGetFunction::RunAsync() { | 137 bool AlarmsGetFunction::RunAsync() { |
| 138 scoped_ptr<alarms::Get::Params> params(alarms::Get::Params::Create(*args_)); | 138 std::unique_ptr<alarms::Get::Params> params( |
| 139 alarms::Get::Params::Create(*args_)); |
| 139 EXTENSION_FUNCTION_VALIDATE(params.get()); | 140 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 140 | 141 |
| 141 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; | 142 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; |
| 142 AlarmManager::Get(browser_context()) | 143 AlarmManager::Get(browser_context()) |
| 143 ->GetAlarm(extension_id(), name, | 144 ->GetAlarm(extension_id(), name, |
| 144 base::Bind(&AlarmsGetFunction::Callback, this, name)); | 145 base::Bind(&AlarmsGetFunction::Callback, this, name)); |
| 145 | 146 |
| 146 return true; | 147 return true; |
| 147 } | 148 } |
| 148 | 149 |
| 149 void AlarmsGetFunction::Callback(const std::string& name, | 150 void AlarmsGetFunction::Callback(const std::string& name, |
| 150 extensions::Alarm* alarm) { | 151 extensions::Alarm* alarm) { |
| 151 if (alarm) { | 152 if (alarm) { |
| 152 results_ = alarms::Get::Results::Create(*alarm->js_alarm); | 153 results_ = alarms::Get::Results::Create(*alarm->js_alarm); |
| 153 } | 154 } |
| 154 SendResponse(true); | 155 SendResponse(true); |
| 155 } | 156 } |
| 156 | 157 |
| 157 bool AlarmsGetAllFunction::RunAsync() { | 158 bool AlarmsGetAllFunction::RunAsync() { |
| 158 AlarmManager::Get(browser_context()) | 159 AlarmManager::Get(browser_context()) |
| 159 ->GetAllAlarms(extension_id(), | 160 ->GetAllAlarms(extension_id(), |
| 160 base::Bind(&AlarmsGetAllFunction::Callback, this)); | 161 base::Bind(&AlarmsGetAllFunction::Callback, this)); |
| 161 return true; | 162 return true; |
| 162 } | 163 } |
| 163 | 164 |
| 164 void AlarmsGetAllFunction::Callback(const AlarmList* alarms) { | 165 void AlarmsGetAllFunction::Callback(const AlarmList* alarms) { |
| 165 scoped_ptr<base::ListValue> alarms_value(new base::ListValue()); | 166 std::unique_ptr<base::ListValue> alarms_value(new base::ListValue()); |
| 166 if (alarms) { | 167 if (alarms) { |
| 167 for (const Alarm& alarm : *alarms) | 168 for (const Alarm& alarm : *alarms) |
| 168 alarms_value->Append(alarm.js_alarm->ToValue()); | 169 alarms_value->Append(alarm.js_alarm->ToValue()); |
| 169 } | 170 } |
| 170 SetResult(std::move(alarms_value)); | 171 SetResult(std::move(alarms_value)); |
| 171 SendResponse(true); | 172 SendResponse(true); |
| 172 } | 173 } |
| 173 | 174 |
| 174 bool AlarmsClearFunction::RunAsync() { | 175 bool AlarmsClearFunction::RunAsync() { |
| 175 scoped_ptr<alarms::Clear::Params> params( | 176 std::unique_ptr<alarms::Clear::Params> params( |
| 176 alarms::Clear::Params::Create(*args_)); | 177 alarms::Clear::Params::Create(*args_)); |
| 177 EXTENSION_FUNCTION_VALIDATE(params.get()); | 178 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 178 | 179 |
| 179 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; | 180 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; |
| 180 AlarmManager::Get(browser_context()) | 181 AlarmManager::Get(browser_context()) |
| 181 ->RemoveAlarm(extension_id(), name, | 182 ->RemoveAlarm(extension_id(), name, |
| 182 base::Bind(&AlarmsClearFunction::Callback, this, name)); | 183 base::Bind(&AlarmsClearFunction::Callback, this, name)); |
| 183 | 184 |
| 184 return true; | 185 return true; |
| 185 } | 186 } |
| 186 | 187 |
| 187 void AlarmsClearFunction::Callback(const std::string& name, bool success) { | 188 void AlarmsClearFunction::Callback(const std::string& name, bool success) { |
| 188 SetResult(new base::FundamentalValue(success)); | 189 SetResult(new base::FundamentalValue(success)); |
| 189 SendResponse(true); | 190 SendResponse(true); |
| 190 } | 191 } |
| 191 | 192 |
| 192 bool AlarmsClearAllFunction::RunAsync() { | 193 bool AlarmsClearAllFunction::RunAsync() { |
| 193 AlarmManager::Get(browser_context()) | 194 AlarmManager::Get(browser_context()) |
| 194 ->RemoveAllAlarms(extension_id(), | 195 ->RemoveAllAlarms(extension_id(), |
| 195 base::Bind(&AlarmsClearAllFunction::Callback, this)); | 196 base::Bind(&AlarmsClearAllFunction::Callback, this)); |
| 196 return true; | 197 return true; |
| 197 } | 198 } |
| 198 | 199 |
| 199 void AlarmsClearAllFunction::Callback() { | 200 void AlarmsClearAllFunction::Callback() { |
| 200 SetResult(new base::FundamentalValue(true)); | 201 SetResult(new base::FundamentalValue(true)); |
| 201 SendResponse(true); | 202 SendResponse(true); |
| 202 } | 203 } |
| 203 | 204 |
| 204 } // namespace extensions | 205 } // namespace extensions |
| OLD | NEW |