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

Side by Side Diff: chrome/browser/extensions/api/notifications/notifications_api.cc

Issue 16915006: Convert most of extensions and some other random stuff to using the base namespace for Values. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
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/notifications/notifications_api.h" 5 #include "chrome/browser/extensions/api/notifications/notifications_api.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 scoped_id_(CreateScopedIdentifier(extension_id, id)), 128 scoped_id_(CreateScopedIdentifier(extension_id, id)),
129 process_id_(-1) { 129 process_id_(-1) {
130 DCHECK(api_function_.get()); 130 DCHECK(api_function_.get());
131 if (api_function_->render_view_host()) 131 if (api_function_->render_view_host())
132 process_id_ = api_function->render_view_host()->GetProcess()->GetID(); 132 process_id_ = api_function->render_view_host()->GetProcess()->GetID();
133 } 133 }
134 134
135 virtual void Display() OVERRIDE { } 135 virtual void Display() OVERRIDE { }
136 136
137 virtual void Error() OVERRIDE { 137 virtual void Error() OVERRIDE {
138 scoped_ptr<ListValue> args(CreateBaseEventArgs()); 138 scoped_ptr<base::ListValue> args(CreateBaseEventArgs());
139 SendEvent(event_names::kOnNotificationError, args.Pass()); 139 SendEvent(event_names::kOnNotificationError, args.Pass());
140 } 140 }
141 141
142 virtual void Close(bool by_user) OVERRIDE { 142 virtual void Close(bool by_user) OVERRIDE {
143 scoped_ptr<ListValue> args(CreateBaseEventArgs()); 143 scoped_ptr<base::ListValue> args(CreateBaseEventArgs());
144 args->Append(Value::CreateBooleanValue(by_user)); 144 args->Append(Value::CreateBooleanValue(by_user));
145 SendEvent(event_names::kOnNotificationClosed, args.Pass()); 145 SendEvent(event_names::kOnNotificationClosed, args.Pass());
146 } 146 }
147 147
148 virtual void Click() OVERRIDE { 148 virtual void Click() OVERRIDE {
149 scoped_ptr<ListValue> args(CreateBaseEventArgs()); 149 scoped_ptr<base::ListValue> args(CreateBaseEventArgs());
150 SendEvent(event_names::kOnNotificationClicked, args.Pass()); 150 SendEvent(event_names::kOnNotificationClicked, args.Pass());
151 } 151 }
152 152
153 virtual bool HasClickedListener() OVERRIDE { 153 virtual bool HasClickedListener() OVERRIDE {
154 return ExtensionSystem::Get(profile_)->event_router()->HasEventListener( 154 return ExtensionSystem::Get(profile_)->event_router()->HasEventListener(
155 event_names::kOnNotificationClicked); 155 event_names::kOnNotificationClicked);
156 } 156 }
157 157
158 virtual void ButtonClick(int index) OVERRIDE { 158 virtual void ButtonClick(int index) OVERRIDE {
159 scoped_ptr<ListValue> args(CreateBaseEventArgs()); 159 scoped_ptr<base::ListValue> args(CreateBaseEventArgs());
160 args->Append(Value::CreateIntegerValue(index)); 160 args->Append(Value::CreateIntegerValue(index));
161 SendEvent(event_names::kOnNotificationButtonClicked, args.Pass()); 161 SendEvent(event_names::kOnNotificationButtonClicked, args.Pass());
162 } 162 }
163 163
164 virtual std::string id() const OVERRIDE { 164 virtual std::string id() const OVERRIDE {
165 return scoped_id_; 165 return scoped_id_;
166 } 166 }
167 167
168 virtual int process_id() const OVERRIDE { 168 virtual int process_id() const OVERRIDE {
169 return process_id_; 169 return process_id_;
170 } 170 }
171 171
172 virtual content::RenderViewHost* GetRenderViewHost() const OVERRIDE { 172 virtual content::RenderViewHost* GetRenderViewHost() const OVERRIDE {
173 // We're holding a reference to api_function_, so we know it'll be valid 173 // We're holding a reference to api_function_, so we know it'll be valid
174 // until ReleaseRVH is called, and api_function_ (as a 174 // until ReleaseRVH is called, and api_function_ (as a
175 // UIThreadExtensionFunction) will zero out its copy of render_view_host 175 // UIThreadExtensionFunction) will zero out its copy of render_view_host
176 // when the RVH goes away. 176 // when the RVH goes away.
177 if (!api_function_.get()) 177 if (!api_function_.get())
178 return NULL; 178 return NULL;
179 return api_function_->render_view_host(); 179 return api_function_->render_view_host();
180 } 180 }
181 181
182 virtual void ReleaseRenderViewHost() OVERRIDE { 182 virtual void ReleaseRenderViewHost() OVERRIDE {
183 api_function_ = NULL; 183 api_function_ = NULL;
184 } 184 }
185 185
186 private: 186 private:
187 virtual ~NotificationsApiDelegate() {} 187 virtual ~NotificationsApiDelegate() {}
188 188
189 void SendEvent(const std::string& name, scoped_ptr<ListValue> args) { 189 void SendEvent(const std::string& name, scoped_ptr<base::ListValue> args) {
190 scoped_ptr<Event> event(new Event(name, args.Pass())); 190 scoped_ptr<Event> event(new Event(name, args.Pass()));
191 ExtensionSystem::Get(profile_)->event_router()->DispatchEventToExtension( 191 ExtensionSystem::Get(profile_)->event_router()->DispatchEventToExtension(
192 extension_id_, event.Pass()); 192 extension_id_, event.Pass());
193 } 193 }
194 194
195 scoped_ptr<ListValue> CreateBaseEventArgs() { 195 scoped_ptr<base::ListValue> CreateBaseEventArgs() {
196 scoped_ptr<ListValue> args(new ListValue()); 196 scoped_ptr<base::ListValue> args(new base::ListValue());
197 args->Append(Value::CreateStringValue(id_)); 197 args->Append(Value::CreateStringValue(id_));
198 return args.Pass(); 198 return args.Pass();
199 } 199 }
200 200
201 scoped_refptr<ApiFunction> api_function_; 201 scoped_refptr<ApiFunction> api_function_;
202 Profile* profile_; 202 Profile* profile_;
203 const std::string extension_id_; 203 const std::string extension_id_;
204 const std::string id_; 204 const std::string id_;
205 const std::string scoped_id_; 205 const std::string scoped_id_;
206 int process_id_; 206 int process_id_;
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 435
436 NotificationsGetAllFunction::~NotificationsGetAllFunction() {} 436 NotificationsGetAllFunction::~NotificationsGetAllFunction() {}
437 437
438 bool NotificationsGetAllFunction::RunNotificationsApi() { 438 bool NotificationsGetAllFunction::RunNotificationsApi() {
439 NotificationUIManager* notification_ui_manager = 439 NotificationUIManager* notification_ui_manager =
440 g_browser_process->notification_ui_manager(); 440 g_browser_process->notification_ui_manager();
441 std::set<std::string> notification_ids = 441 std::set<std::string> notification_ids =
442 notification_ui_manager->GetAllIdsByProfileAndSourceOrigin( 442 notification_ui_manager->GetAllIdsByProfileAndSourceOrigin(
443 profile_, extension_->url()); 443 profile_, extension_->url());
444 444
445 scoped_ptr<DictionaryValue> result(new DictionaryValue()); 445 scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue());
446 446
447 for (std::set<std::string>::iterator iter = notification_ids.begin(); 447 for (std::set<std::string>::iterator iter = notification_ids.begin();
448 iter != notification_ids.end(); iter++) { 448 iter != notification_ids.end(); iter++) {
449 result->SetBooleanWithoutPathExpansion( 449 result->SetBooleanWithoutPathExpansion(
450 StripScopeFromIdentifier(extension_->id(), *iter), true); 450 StripScopeFromIdentifier(extension_->id(), *iter), true);
451 } 451 }
452 452
453 SetResult(result.release()); 453 SetResult(result.release());
454 SendResponse(true); 454 SendResponse(true);
455 455
456 return true; 456 return true;
457 } 457 }
458 458
459 } // namespace extensions 459 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698