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

Side by Side Diff: extensions/browser/api/alarms/alarm_manager.cc

Issue 1902873002: Convert //extensions/browser/api from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 "extensions/browser/api/alarms/alarm_manager.h" 5 #include "extensions/browser/api/alarms/alarm_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 27 matching lines...) Expand all
38 return base::TimeDelta::FromDays(1); 38 return base::TimeDelta::FromDays(1);
39 } 39 }
40 40
41 class DefaultAlarmDelegate : public AlarmManager::Delegate { 41 class DefaultAlarmDelegate : public AlarmManager::Delegate {
42 public: 42 public:
43 explicit DefaultAlarmDelegate(content::BrowserContext* context) 43 explicit DefaultAlarmDelegate(content::BrowserContext* context)
44 : browser_context_(context) {} 44 : browser_context_(context) {}
45 ~DefaultAlarmDelegate() override {} 45 ~DefaultAlarmDelegate() override {}
46 46
47 void OnAlarm(const std::string& extension_id, const Alarm& alarm) override { 47 void OnAlarm(const std::string& extension_id, const Alarm& alarm) override {
48 scoped_ptr<base::ListValue> args(new base::ListValue()); 48 std::unique_ptr<base::ListValue> args(new base::ListValue());
49 args->Append(alarm.js_alarm->ToValue().release()); 49 args->Append(alarm.js_alarm->ToValue().release());
50 scoped_ptr<Event> event(new Event( 50 std::unique_ptr<Event> event(new Event(
51 events::ALARMS_ON_ALARM, alarms::OnAlarm::kEventName, std::move(args))); 51 events::ALARMS_ON_ALARM, alarms::OnAlarm::kEventName, std::move(args)));
52 EventRouter::Get(browser_context_) 52 EventRouter::Get(browser_context_)
53 ->DispatchEventToExtension(extension_id, std::move(event)); 53 ->DispatchEventToExtension(extension_id, std::move(event));
54 } 54 }
55 55
56 private: 56 private:
57 content::BrowserContext* browser_context_; 57 content::BrowserContext* browser_context_;
58 }; 58 };
59 59
60 // Creates a TimeDelta from a delay as specified in the API. 60 // Creates a TimeDelta from a delay as specified in the API.
(...skipping 11 matching lines...) Expand all
72 alarms::Alarm::Populate(*alarm_dict, alarm.js_alarm.get())) { 72 alarms::Alarm::Populate(*alarm_dict, alarm.js_alarm.get())) {
73 const base::Value* time_value = NULL; 73 const base::Value* time_value = NULL;
74 if (alarm_dict->Get(kAlarmGranularity, &time_value)) 74 if (alarm_dict->Get(kAlarmGranularity, &time_value))
75 base::GetValueAsTimeDelta(*time_value, &alarm.granularity); 75 base::GetValueAsTimeDelta(*time_value, &alarm.granularity);
76 alarms.push_back(alarm); 76 alarms.push_back(alarm);
77 } 77 }
78 } 78 }
79 return alarms; 79 return alarms;
80 } 80 }
81 81
82 scoped_ptr<base::ListValue> AlarmsToValue(const std::vector<Alarm>& alarms) { 82 std::unique_ptr<base::ListValue> AlarmsToValue(
83 scoped_ptr<base::ListValue> list(new base::ListValue()); 83 const std::vector<Alarm>& alarms) {
84 std::unique_ptr<base::ListValue> list(new base::ListValue());
84 for (size_t i = 0; i < alarms.size(); ++i) { 85 for (size_t i = 0; i < alarms.size(); ++i) {
85 scoped_ptr<base::DictionaryValue> alarm = alarms[i].js_alarm->ToValue(); 86 std::unique_ptr<base::DictionaryValue> alarm =
87 alarms[i].js_alarm->ToValue();
86 alarm->Set(kAlarmGranularity, 88 alarm->Set(kAlarmGranularity,
87 base::CreateTimeDeltaValue(alarms[i].granularity)); 89 base::CreateTimeDeltaValue(alarms[i].granularity));
88 list->Append(alarm.release()); 90 list->Append(alarm.release());
89 } 91 }
90 return list; 92 return list;
91 } 93 }
92 94
93 } // namespace 95 } // namespace
94 96
95 // AlarmManager 97 // AlarmManager
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 base::Time::FromJsTime(alarm.js_alarm->scheduled_time); 285 base::Time::FromJsTime(alarm.js_alarm->scheduled_time);
284 if (next_poll_time_.is_null() || alarm_time < next_poll_time_) 286 if (next_poll_time_.is_null() || alarm_time < next_poll_time_)
285 SetNextPollTime(alarm_time); 287 SetNextPollTime(alarm_time);
286 } 288 }
287 289
288 void AlarmManager::WriteToStorage(const std::string& extension_id) { 290 void AlarmManager::WriteToStorage(const std::string& extension_id) {
289 StateStore* storage = ExtensionSystem::Get(browser_context_)->state_store(); 291 StateStore* storage = ExtensionSystem::Get(browser_context_)->state_store();
290 if (!storage) 292 if (!storage)
291 return; 293 return;
292 294
293 scoped_ptr<base::Value> alarms; 295 std::unique_ptr<base::Value> alarms;
294 AlarmMap::iterator list = alarms_.find(extension_id); 296 AlarmMap::iterator list = alarms_.find(extension_id);
295 if (list != alarms_.end()) 297 if (list != alarms_.end())
296 alarms.reset(AlarmsToValue(list->second).release()); 298 alarms.reset(AlarmsToValue(list->second).release());
297 else 299 else
298 alarms.reset(AlarmsToValue(std::vector<Alarm>()).release()); 300 alarms.reset(AlarmsToValue(std::vector<Alarm>()).release());
299 storage->SetExtensionValue(extension_id, kRegisteredAlarms, 301 storage->SetExtensionValue(extension_id, kRegisteredAlarms,
300 std::move(alarms)); 302 std::move(alarms));
301 } 303 }
302 304
303 void AlarmManager::ReadFromStorage(const std::string& extension_id, 305 void AlarmManager::ReadFromStorage(const std::string& extension_id,
304 scoped_ptr<base::Value> value) { 306 std::unique_ptr<base::Value> value) {
305 base::ListValue* list = NULL; 307 base::ListValue* list = NULL;
306 if (value.get() && value->GetAsList(&list)) { 308 if (value.get() && value->GetAsList(&list)) {
307 std::vector<Alarm> alarm_states = AlarmsFromValue(list); 309 std::vector<Alarm> alarm_states = AlarmsFromValue(list);
308 for (size_t i = 0; i < alarm_states.size(); ++i) 310 for (size_t i = 0; i < alarm_states.size(); ++i)
309 AddAlarmImpl(extension_id, alarm_states[i]); 311 AddAlarmImpl(extension_id, alarm_states[i]);
310 } 312 }
311 313
312 ReadyQueue& extension_ready_queue = ready_actions_[extension_id]; 314 ReadyQueue& extension_ready_queue = ready_actions_[extension_id];
313 while (!extension_ready_queue.empty()) { 315 while (!extension_ready_queue.empty()) {
314 extension_ready_queue.front().Run(extension_id); 316 extension_ready_queue.front().Run(extension_id);
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 new double(*create_info.period_in_minutes)); 466 new double(*create_info.period_in_minutes));
465 } 467 }
466 } 468 }
467 469
468 Alarm::Alarm(const Alarm& other) = default; 470 Alarm::Alarm(const Alarm& other) = default;
469 471
470 Alarm::~Alarm() { 472 Alarm::~Alarm() {
471 } 473 }
472 474
473 } // namespace extensions 475 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/api/alarms/alarm_manager.h ('k') | extensions/browser/api/alarms/alarms_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698