| 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" |
| 11 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" | 11 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" |
| 12 #include "chrome/browser/extensions/extension_system.h" | |
| 13 #include "chrome/common/extensions/api/alarms.h" | 12 #include "chrome/common/extensions/api/alarms.h" |
| 14 #include "extensions/common/error_utils.h" | 13 #include "extensions/common/error_utils.h" |
| 15 | 14 |
| 16 namespace alarms = extensions::api::alarms; | 15 namespace alarms = extensions::api::alarms; |
| 17 | 16 |
| 18 namespace extensions { | 17 namespace extensions { |
| 19 | 18 |
| 20 namespace { | 19 namespace { |
| 21 | 20 |
| 22 const char kDefaultAlarmName[] = ""; | 21 const char kDefaultAlarmName[] = ""; |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 for (std::vector<std::string>::const_iterator it = warnings.begin(); | 112 for (std::vector<std::string>::const_iterator it = warnings.begin(); |
| 114 it != warnings.end(); ++it) | 113 it != warnings.end(); ++it) |
| 115 WriteToConsole(content::CONSOLE_MESSAGE_LEVEL_WARNING, *it); | 114 WriteToConsole(content::CONSOLE_MESSAGE_LEVEL_WARNING, *it); |
| 116 | 115 |
| 117 Alarm alarm(alarm_name, | 116 Alarm alarm(alarm_name, |
| 118 params->alarm_info, | 117 params->alarm_info, |
| 119 base::TimeDelta::FromMinutes( | 118 base::TimeDelta::FromMinutes( |
| 120 Manifest::IsUnpackedLocation(GetExtension()->location()) ? | 119 Manifest::IsUnpackedLocation(GetExtension()->location()) ? |
| 121 kDevDelayMinimum : kReleaseDelayMinimum), | 120 kDevDelayMinimum : kReleaseDelayMinimum), |
| 122 clock_->Now()); | 121 clock_->Now()); |
| 123 ExtensionSystem::Get(profile())->alarm_manager()->AddAlarm( | 122 AlarmManager::Get(profile())->AddAlarm(extension_id(), alarm); |
| 124 extension_id(), alarm); | |
| 125 | 123 |
| 126 return true; | 124 return true; |
| 127 } | 125 } |
| 128 | 126 |
| 129 bool AlarmsGetFunction::RunImpl() { | 127 bool AlarmsGetFunction::RunImpl() { |
| 130 scoped_ptr<alarms::Get::Params> params(alarms::Get::Params::Create(*args_)); | 128 scoped_ptr<alarms::Get::Params> params(alarms::Get::Params::Create(*args_)); |
| 131 EXTENSION_FUNCTION_VALIDATE(params.get()); | 129 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 132 | 130 |
| 133 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; | 131 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; |
| 134 const Alarm* alarm = | 132 const Alarm* alarm = |
| 135 ExtensionSystem::Get(profile())->alarm_manager()->GetAlarm( | 133 AlarmManager::Get(profile())->GetAlarm(extension_id(), name); |
| 136 extension_id(), name); | |
| 137 | 134 |
| 138 if (!alarm) { | 135 if (!alarm) { |
| 139 error_ = ErrorUtils::FormatErrorMessage(kAlarmNotFound, name); | 136 error_ = ErrorUtils::FormatErrorMessage(kAlarmNotFound, name); |
| 140 return false; | 137 return false; |
| 141 } | 138 } |
| 142 | 139 |
| 143 results_ = alarms::Get::Results::Create(*alarm->js_alarm); | 140 results_ = alarms::Get::Results::Create(*alarm->js_alarm); |
| 144 return true; | 141 return true; |
| 145 } | 142 } |
| 146 | 143 |
| 147 bool AlarmsGetAllFunction::RunImpl() { | 144 bool AlarmsGetAllFunction::RunImpl() { |
| 148 const AlarmManager::AlarmList* alarms = | 145 const AlarmManager::AlarmList* alarms = |
| 149 ExtensionSystem::Get(profile())->alarm_manager()->GetAllAlarms( | 146 AlarmManager::Get(profile())->GetAllAlarms(extension_id()); |
| 150 extension_id()); | |
| 151 if (alarms) { | 147 if (alarms) { |
| 152 std::vector<linked_ptr<extensions::api::alarms::Alarm> > create_arg; | 148 std::vector<linked_ptr<extensions::api::alarms::Alarm> > create_arg; |
| 153 create_arg.reserve(alarms->size()); | 149 create_arg.reserve(alarms->size()); |
| 154 for (size_t i = 0, size = alarms->size(); i < size; ++i) { | 150 for (size_t i = 0, size = alarms->size(); i < size; ++i) { |
| 155 create_arg.push_back((*alarms)[i].js_alarm); | 151 create_arg.push_back((*alarms)[i].js_alarm); |
| 156 } | 152 } |
| 157 results_ = alarms::GetAll::Results::Create(create_arg); | 153 results_ = alarms::GetAll::Results::Create(create_arg); |
| 158 } else { | 154 } else { |
| 159 SetResult(new base::ListValue()); | 155 SetResult(new base::ListValue()); |
| 160 } | 156 } |
| 161 return true; | 157 return true; |
| 162 } | 158 } |
| 163 | 159 |
| 164 bool AlarmsClearFunction::RunImpl() { | 160 bool AlarmsClearFunction::RunImpl() { |
| 165 scoped_ptr<alarms::Clear::Params> params( | 161 scoped_ptr<alarms::Clear::Params> params( |
| 166 alarms::Clear::Params::Create(*args_)); | 162 alarms::Clear::Params::Create(*args_)); |
| 167 EXTENSION_FUNCTION_VALIDATE(params.get()); | 163 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 168 | 164 |
| 169 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; | 165 std::string name = params->name.get() ? *params->name : kDefaultAlarmName; |
| 170 bool success = ExtensionSystem::Get(profile())->alarm_manager()->RemoveAlarm( | 166 bool success = AlarmManager::Get(profile())->RemoveAlarm(extension_id(), |
| 171 extension_id(), name); | 167 name); |
| 172 | 168 |
| 173 if (!success) { | 169 if (!success) { |
| 174 error_ = ErrorUtils::FormatErrorMessage(kAlarmNotFound, name); | 170 error_ = ErrorUtils::FormatErrorMessage(kAlarmNotFound, name); |
| 175 return false; | 171 return false; |
| 176 } | 172 } |
| 177 | 173 |
| 178 return true; | 174 return true; |
| 179 } | 175 } |
| 180 | 176 |
| 181 bool AlarmsClearAllFunction::RunImpl() { | 177 bool AlarmsClearAllFunction::RunImpl() { |
| 182 ExtensionSystem::Get(profile())->alarm_manager()->RemoveAllAlarms( | 178 AlarmManager::Get(profile())->RemoveAllAlarms(extension_id()); |
| 183 extension_id()); | |
| 184 return true; | 179 return true; |
| 185 } | 180 } |
| 186 | 181 |
| 187 } // namespace extensions | 182 } // namespace extensions |
| OLD | NEW |