| 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 "chrome/browser/extensions/api/alarms/alarms_api.h" | 5 #include "chrome/browser/extensions/api/alarms/alarms_api.h" |
| 6 | 6 |
| 7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
| 8 #include "base/time/clock.h" | 8 #include "base/time/clock.h" |
| 9 #include "base/time/default_clock.h" | 9 #include "base/time/default_clock.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 : clock_(new base::DefaultClock()), owns_clock_(true) {} | 91 : clock_(new base::DefaultClock()), owns_clock_(true) {} |
| 92 | 92 |
| 93 AlarmsCreateFunction::AlarmsCreateFunction(base::Clock* clock) | 93 AlarmsCreateFunction::AlarmsCreateFunction(base::Clock* clock) |
| 94 : clock_(clock), owns_clock_(false) {} | 94 : clock_(clock), owns_clock_(false) {} |
| 95 | 95 |
| 96 AlarmsCreateFunction::~AlarmsCreateFunction() { | 96 AlarmsCreateFunction::~AlarmsCreateFunction() { |
| 97 if (owns_clock_) | 97 if (owns_clock_) |
| 98 delete clock_; | 98 delete clock_; |
| 99 } | 99 } |
| 100 | 100 |
| 101 bool AlarmsCreateFunction::RunImpl() { | 101 bool AlarmsCreateFunction::RunAsync() { |
| 102 scoped_ptr<alarms::Create::Params> params( | 102 scoped_ptr<alarms::Create::Params> params( |
| 103 alarms::Create::Params::Create(*args_)); | 103 alarms::Create::Params::Create(*args_)); |
| 104 EXTENSION_FUNCTION_VALIDATE(params.get()); | 104 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 105 const std::string& alarm_name = | 105 const std::string& alarm_name = |
| 106 params->name.get() ? *params->name : kDefaultAlarmName; | 106 params->name.get() ? *params->name : kDefaultAlarmName; |
| 107 std::vector<std::string> warnings; | 107 std::vector<std::string> warnings; |
| 108 if (!ValidateAlarmCreateInfo( | 108 if (!ValidateAlarmCreateInfo( |
| 109 alarm_name, params->alarm_info, GetExtension(), &error_, &warnings)) { | 109 alarm_name, params->alarm_info, GetExtension(), &error_, &warnings)) { |
| 110 return false; | 110 return false; |
| 111 } | 111 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 122 AlarmManager::Get(GetProfile())->AddAlarm( | 122 AlarmManager::Get(GetProfile())->AddAlarm( |
| 123 extension_id(), alarm, base::Bind(&AlarmsCreateFunction::Callback, this)); | 123 extension_id(), alarm, base::Bind(&AlarmsCreateFunction::Callback, this)); |
| 124 | 124 |
| 125 return true; | 125 return true; |
| 126 } | 126 } |
| 127 | 127 |
| 128 void AlarmsCreateFunction::Callback() { | 128 void AlarmsCreateFunction::Callback() { |
| 129 SendResponse(true); | 129 SendResponse(true); |
| 130 } | 130 } |
| 131 | 131 |
| 132 bool AlarmsGetFunction::RunImpl() { | 132 bool AlarmsGetFunction::RunAsync() { |
| 133 scoped_ptr<alarms::Get::Params> params(alarms::Get::Params::Create(*args_)); | 133 scoped_ptr<alarms::Get::Params> params(alarms::Get::Params::Create(*args_)); |
| 134 EXTENSION_FUNCTION_VALIDATE(params.get()); | 134 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 135 | 135 |
| 136 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; | 136 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; |
| 137 AlarmManager::Get(GetProfile()) | 137 AlarmManager::Get(GetProfile()) |
| 138 ->GetAlarm(extension_id(), | 138 ->GetAlarm(extension_id(), |
| 139 name, | 139 name, |
| 140 base::Bind(&AlarmsGetFunction::Callback, this, name)); | 140 base::Bind(&AlarmsGetFunction::Callback, this, name)); |
| 141 | 141 |
| 142 return true; | 142 return true; |
| 143 } | 143 } |
| 144 | 144 |
| 145 void AlarmsGetFunction::Callback( | 145 void AlarmsGetFunction::Callback( |
| 146 const std::string& name, extensions::Alarm* alarm) { | 146 const std::string& name, extensions::Alarm* alarm) { |
| 147 if (alarm) { | 147 if (alarm) { |
| 148 results_ = alarms::Get::Results::Create(*alarm->js_alarm); | 148 results_ = alarms::Get::Results::Create(*alarm->js_alarm); |
| 149 } | 149 } |
| 150 SendResponse(true); | 150 SendResponse(true); |
| 151 } | 151 } |
| 152 | 152 |
| 153 bool AlarmsGetAllFunction::RunImpl() { | 153 bool AlarmsGetAllFunction::RunAsync() { |
| 154 AlarmManager::Get(GetProfile())->GetAllAlarms( | 154 AlarmManager::Get(GetProfile())->GetAllAlarms( |
| 155 extension_id(), base::Bind(&AlarmsGetAllFunction::Callback, this)); | 155 extension_id(), base::Bind(&AlarmsGetAllFunction::Callback, this)); |
| 156 return true; | 156 return true; |
| 157 } | 157 } |
| 158 | 158 |
| 159 void AlarmsGetAllFunction::Callback(const AlarmList* alarms) { | 159 void AlarmsGetAllFunction::Callback(const AlarmList* alarms) { |
| 160 if (alarms) { | 160 if (alarms) { |
| 161 std::vector<linked_ptr<extensions::api::alarms::Alarm> > create_arg; | 161 std::vector<linked_ptr<extensions::api::alarms::Alarm> > create_arg; |
| 162 create_arg.reserve(alarms->size()); | 162 create_arg.reserve(alarms->size()); |
| 163 for (size_t i = 0, size = alarms->size(); i < size; ++i) { | 163 for (size_t i = 0, size = alarms->size(); i < size; ++i) { |
| 164 create_arg.push_back((*alarms)[i].js_alarm); | 164 create_arg.push_back((*alarms)[i].js_alarm); |
| 165 } | 165 } |
| 166 results_ = alarms::GetAll::Results::Create(create_arg); | 166 results_ = alarms::GetAll::Results::Create(create_arg); |
| 167 } else { | 167 } else { |
| 168 SetResult(new base::ListValue()); | 168 SetResult(new base::ListValue()); |
| 169 } | 169 } |
| 170 SendResponse(true); | 170 SendResponse(true); |
| 171 } | 171 } |
| 172 | 172 |
| 173 bool AlarmsClearFunction::RunImpl() { | 173 bool AlarmsClearFunction::RunAsync() { |
| 174 scoped_ptr<alarms::Clear::Params> params( | 174 scoped_ptr<alarms::Clear::Params> params( |
| 175 alarms::Clear::Params::Create(*args_)); | 175 alarms::Clear::Params::Create(*args_)); |
| 176 EXTENSION_FUNCTION_VALIDATE(params.get()); | 176 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 177 | 177 |
| 178 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; | 178 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; |
| 179 AlarmManager::Get(GetProfile()) | 179 AlarmManager::Get(GetProfile()) |
| 180 ->RemoveAlarm(extension_id(), | 180 ->RemoveAlarm(extension_id(), |
| 181 name, | 181 name, |
| 182 base::Bind(&AlarmsClearFunction::Callback, this, name)); | 182 base::Bind(&AlarmsClearFunction::Callback, this, name)); |
| 183 | 183 |
| 184 return true; | 184 return true; |
| 185 } | 185 } |
| 186 | 186 |
| 187 void AlarmsClearFunction::Callback(const std::string& name, bool success) { | 187 void AlarmsClearFunction::Callback(const std::string& name, bool success) { |
| 188 SetResult(new base::FundamentalValue(success)); | 188 SetResult(new base::FundamentalValue(success)); |
| 189 SendResponse(true); | 189 SendResponse(true); |
| 190 } | 190 } |
| 191 | 191 |
| 192 bool AlarmsClearAllFunction::RunImpl() { | 192 bool AlarmsClearAllFunction::RunAsync() { |
| 193 AlarmManager::Get(GetProfile())->RemoveAllAlarms( | 193 AlarmManager::Get(GetProfile())->RemoveAllAlarms( |
| 194 extension_id(), base::Bind(&AlarmsClearAllFunction::Callback, this)); | 194 extension_id(), base::Bind(&AlarmsClearAllFunction::Callback, this)); |
| 195 return true; | 195 return true; |
| 196 } | 196 } |
| 197 | 197 |
| 198 void AlarmsClearAllFunction::Callback() { | 198 void AlarmsClearAllFunction::Callback() { |
| 199 SetResult(new base::FundamentalValue(true)); | 199 SetResult(new base::FundamentalValue(true)); |
| 200 SendResponse(true); | 200 SendResponse(true); |
| 201 } | 201 } |
| 202 | 202 |
| 203 } // namespace extensions | 203 } // namespace extensions |
| OLD | NEW |