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

Side by Side Diff: chrome/browser/extensions/api/alarms/alarms_api.cc

Issue 10694106: Added support for multiple parameters to Extension API callbacks. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Synced. Created 8 years, 5 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 (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/string_number_conversions.h" 7 #include "base/string_number_conversions.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" 9 #include "chrome/browser/extensions/api/alarms/alarm_manager.h"
10 #include "chrome/browser/extensions/extension_system.h" 10 #include "chrome/browser/extensions/extension_system.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; 125 std::string name = params->name.get() ? *params->name : kDefaultAlarmName;
126 const Alarm* alarm = 126 const Alarm* alarm =
127 ExtensionSystem::Get(profile())->alarm_manager()->GetAlarm( 127 ExtensionSystem::Get(profile())->alarm_manager()->GetAlarm(
128 extension_id(), name); 128 extension_id(), name);
129 129
130 if (!alarm) { 130 if (!alarm) {
131 error_ = ExtensionErrorUtils::FormatErrorMessage(kAlarmNotFound, name); 131 error_ = ExtensionErrorUtils::FormatErrorMessage(kAlarmNotFound, name);
132 return false; 132 return false;
133 } 133 }
134 134
135 result_.reset(alarms::Get::Result::Create(*alarm->js_alarm)); 135 SetResult(alarms::Get::Result::Create(*alarm->js_alarm));
136 return true; 136 return true;
137 } 137 }
138 138
139 bool AlarmsGetAllFunction::RunImpl() { 139 bool AlarmsGetAllFunction::RunImpl() {
140 const AlarmManager::AlarmList* alarms = 140 const AlarmManager::AlarmList* alarms =
141 ExtensionSystem::Get(profile())->alarm_manager()->GetAllAlarms( 141 ExtensionSystem::Get(profile())->alarm_manager()->GetAllAlarms(
142 extension_id()); 142 extension_id());
143 if (alarms) { 143 if (alarms) {
144 std::vector<linked_ptr<extensions::api::alarms::Alarm> > create_arg; 144 std::vector<linked_ptr<extensions::api::alarms::Alarm> > create_arg;
145 create_arg.reserve(alarms->size()); 145 create_arg.reserve(alarms->size());
146 for (size_t i = 0, size = alarms->size(); i < size; ++i) { 146 for (size_t i = 0, size = alarms->size(); i < size; ++i) {
147 create_arg.push_back((*alarms)[i].js_alarm); 147 create_arg.push_back((*alarms)[i].js_alarm);
148 } 148 }
149 result_.reset(alarms::GetAll::Result::Create(create_arg)); 149 SetResult(alarms::GetAll::Result::Create(create_arg));
150 } else { 150 } else {
151 result_.reset(new base::ListValue()); 151 SetResult(new base::ListValue());
152 } 152 }
153 return true; 153 return true;
154 } 154 }
155 155
156 bool AlarmsClearFunction::RunImpl() { 156 bool AlarmsClearFunction::RunImpl() {
157 scoped_ptr<alarms::Clear::Params> params( 157 scoped_ptr<alarms::Clear::Params> params(
158 alarms::Clear::Params::Create(*args_)); 158 alarms::Clear::Params::Create(*args_));
159 EXTENSION_FUNCTION_VALIDATE(params.get()); 159 EXTENSION_FUNCTION_VALIDATE(params.get());
160 160
161 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; 161 std::string name = params->name.get() ? *params->name : kDefaultAlarmName;
162 bool success = ExtensionSystem::Get(profile())->alarm_manager()->RemoveAlarm( 162 bool success = ExtensionSystem::Get(profile())->alarm_manager()->RemoveAlarm(
163 extension_id(), name); 163 extension_id(), name);
164 164
165 if (!success) { 165 if (!success) {
166 error_ = ExtensionErrorUtils::FormatErrorMessage(kAlarmNotFound, name); 166 error_ = ExtensionErrorUtils::FormatErrorMessage(kAlarmNotFound, name);
167 return false; 167 return false;
168 } 168 }
169 169
170 return true; 170 return true;
171 } 171 }
172 172
173 bool AlarmsClearAllFunction::RunImpl() { 173 bool AlarmsClearAllFunction::RunImpl() {
174 ExtensionSystem::Get(profile())->alarm_manager()->RemoveAllAlarms( 174 ExtensionSystem::Get(profile())->alarm_manager()->RemoveAllAlarms(
175 extension_id()); 175 extension_id());
176 return true; 176 return true;
177 } 177 }
178 178
179 } // namespace extensions 179 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698