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 |