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

Side by Side Diff: chrome/browser/extensions/api/settings_private/settings_private_event_router.cc

Issue 1827083005: [Extensions] Convert APIs to use movable types [9] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/settings_private/settings_private_event_ router.h" 5 #include "chrome/browser/extensions/api/settings_private/settings_private_event_ router.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 } 124 }
125 125
126 void SettingsPrivateEventRouter::OnPreferenceChanged( 126 void SettingsPrivateEventRouter::OnPreferenceChanged(
127 const std::string& pref_name) { 127 const std::string& pref_name) {
128 EventRouter* event_router = EventRouter::Get(context_); 128 EventRouter* event_router = EventRouter::Get(context_);
129 if (!event_router->HasEventListener( 129 if (!event_router->HasEventListener(
130 api::settings_private::OnPrefsChanged::kEventName)) { 130 api::settings_private::OnPrefsChanged::kEventName)) {
131 return; 131 return;
132 } 132 }
133 133
134 api::settings_private::PrefObject* pref_object = 134 scoped_ptr<api::settings_private::PrefObject> pref_object =
135 prefs_util_->GetPref(pref_name).release(); 135 prefs_util_->GetPref(pref_name);
136 136
137 std::vector<linked_ptr<api::settings_private::PrefObject>> prefs; 137 std::vector<api::settings_private::PrefObject> prefs;
138 prefs.push_back(linked_ptr<api::settings_private::PrefObject>(pref_object)); 138 if (pref_object)
139 prefs.push_back(std::move(*pref_object));
139 140
140 scoped_ptr<base::ListValue> args( 141 scoped_ptr<base::ListValue> args(
141 api::settings_private::OnPrefsChanged::Create(prefs)); 142 api::settings_private::OnPrefsChanged::Create(prefs));
142 143
143 scoped_ptr<Event> extension_event(new Event( 144 scoped_ptr<Event> extension_event(new Event(
144 events::SETTINGS_PRIVATE_ON_PREFS_CHANGED, 145 events::SETTINGS_PRIVATE_ON_PREFS_CHANGED,
145 api::settings_private::OnPrefsChanged::kEventName, std::move(args))); 146 api::settings_private::OnPrefsChanged::kEventName, std::move(args)));
146 event_router->BroadcastEvent(std::move(extension_event)); 147 event_router->BroadcastEvent(std::move(extension_event));
147 } 148 }
148 149
149 SettingsPrivateEventRouter* SettingsPrivateEventRouter::Create( 150 SettingsPrivateEventRouter* SettingsPrivateEventRouter::Create(
150 content::BrowserContext* context) { 151 content::BrowserContext* context) {
151 return new SettingsPrivateEventRouter(context); 152 return new SettingsPrivateEventRouter(context);
152 } 153 }
153 154
154 } // namespace extensions 155 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698