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

Side by Side Diff: chrome/browser/extensions/api/cast_channel/cast_channel_api.cc

Issue 171813010: Move ProfileKeyedAPI implementations to take BrowserContext in the constructor (part 1). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: browser_context_ Created 6 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/cast_channel/cast_channel_api.h" 5 #include "chrome/browser/extensions/api/cast_channel/cast_channel_api.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
11 #include "chrome/browser/extensions/api/cast_channel/cast_socket.h" 11 #include "chrome/browser/extensions/api/cast_channel/cast_socket.h"
12 #include "chrome/browser/net/chrome_net_log.h" 12 #include "chrome/browser/net/chrome_net_log.h"
13 #include "chrome/browser/profiles/profile.h"
14 #include "content/public/browser/browser_thread.h" 13 #include "content/public/browser/browser_thread.h"
15 #include "extensions/browser/event_router.h" 14 #include "extensions/browser/event_router.h"
16 #include "extensions/browser/extension_system.h" 15 #include "extensions/browser/extension_system.h"
17 #include "net/base/net_errors.h" 16 #include "net/base/net_errors.h"
18 #include "url/gurl.h" 17 #include "url/gurl.h"
19 18
20 namespace extensions { 19 namespace extensions {
21 20
22 namespace Close = cast_channel::Close; 21 namespace Close = cast_channel::Close;
23 namespace OnError = cast_channel::OnError; 22 namespace OnError = cast_channel::OnError;
(...skipping 13 matching lines...) Expand all
37 template <class T> 36 template <class T>
38 std::string ParamToString(const T& info) { 37 std::string ParamToString(const T& info) {
39 scoped_ptr<base::DictionaryValue> dict = info.ToValue(); 38 scoped_ptr<base::DictionaryValue> dict = info.ToValue();
40 std::string out; 39 std::string out;
41 base::JSONWriter::Write(dict.get(), &out); 40 base::JSONWriter::Write(dict.get(), &out);
42 return out; 41 return out;
43 } 42 }
44 43
45 } // namespace 44 } // namespace
46 45
47 CastChannelAPI::CastChannelAPI(Profile* profile) 46 CastChannelAPI::CastChannelAPI(content::BrowserContext* context)
48 : profile_(profile) { 47 : browser_context_(context) {
49 DCHECK(profile_); 48 DCHECK(browser_context_);
50 } 49 }
51 50
52 // static 51 // static
53 CastChannelAPI* CastChannelAPI::Get(Profile* profile) { 52 CastChannelAPI* CastChannelAPI::Get(content::BrowserContext* context) {
54 return ProfileKeyedAPIFactory<CastChannelAPI>::GetForProfile(profile); 53 return ProfileKeyedAPIFactory<CastChannelAPI>::GetForProfile(context);
55 } 54 }
56 55
57 static base::LazyInstance<ProfileKeyedAPIFactory<CastChannelAPI> > g_factory = 56 static base::LazyInstance<ProfileKeyedAPIFactory<CastChannelAPI> > g_factory =
58 LAZY_INSTANCE_INITIALIZER; 57 LAZY_INSTANCE_INITIALIZER;
59 58
60 // static 59 // static
61 ProfileKeyedAPIFactory<CastChannelAPI>* CastChannelAPI::GetFactoryInstance() { 60 ProfileKeyedAPIFactory<CastChannelAPI>* CastChannelAPI::GetFactoryInstance() {
62 return g_factory.Pointer(); 61 return g_factory.Pointer();
63 } 62 }
64 63
(...skipping 13 matching lines...) Expand all
78 } 77 }
79 78
80 void CastChannelAPI::OnError(const CastSocket* socket, 79 void CastChannelAPI::OnError(const CastSocket* socket,
81 cast_channel::ChannelError error) { 80 cast_channel::ChannelError error) {
82 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 81 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
83 ChannelInfo channel_info; 82 ChannelInfo channel_info;
84 socket->FillChannelInfo(&channel_info); 83 socket->FillChannelInfo(&channel_info);
85 channel_info.error_state = error; 84 channel_info.error_state = error;
86 scoped_ptr<base::ListValue> results = OnError::Create(channel_info); 85 scoped_ptr<base::ListValue> results = OnError::Create(channel_info);
87 scoped_ptr<Event> event(new Event(OnError::kEventName, results.Pass())); 86 scoped_ptr<Event> event(new Event(OnError::kEventName, results.Pass()));
88 extensions::ExtensionSystem::Get(profile_)->event_router()-> 87 extensions::ExtensionSystem::Get(browser_context_)
89 DispatchEventToExtension(socket->owner_extension_id(), event.Pass()); 88 ->event_router()
89 ->DispatchEventToExtension(socket->owner_extension_id(), event.Pass());
90 } 90 }
91 91
92 void CastChannelAPI::OnMessage(const CastSocket* socket, 92 void CastChannelAPI::OnMessage(const CastSocket* socket,
93 const MessageInfo& message_info) { 93 const MessageInfo& message_info) {
94 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 94 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
95 ChannelInfo channel_info; 95 ChannelInfo channel_info;
96 socket->FillChannelInfo(&channel_info); 96 socket->FillChannelInfo(&channel_info);
97 scoped_ptr<base::ListValue> results = 97 scoped_ptr<base::ListValue> results =
98 OnMessage::Create(channel_info, message_info); 98 OnMessage::Create(channel_info, message_info);
99 VLOG(1) << "Sending message " << ParamToString(message_info) 99 VLOG(1) << "Sending message " << ParamToString(message_info)
100 << " to channel " << ParamToString(channel_info); 100 << " to channel " << ParamToString(channel_info);
101 scoped_ptr<Event> event(new Event(OnMessage::kEventName, results.Pass())); 101 scoped_ptr<Event> event(new Event(OnMessage::kEventName, results.Pass()));
102 extensions::ExtensionSystem::Get(profile_)->event_router()-> 102 extensions::ExtensionSystem::Get(browser_context_)
103 DispatchEventToExtension(socket->owner_extension_id(), event.Pass()); 103 ->event_router()
104 ->DispatchEventToExtension(socket->owner_extension_id(), event.Pass());
104 } 105 }
105 106
106 CastChannelAPI::~CastChannelAPI() {} 107 CastChannelAPI::~CastChannelAPI() {}
107 108
108 CastChannelAsyncApiFunction::CastChannelAsyncApiFunction() 109 CastChannelAsyncApiFunction::CastChannelAsyncApiFunction()
109 : manager_(NULL), error_(cast_channel::CHANNEL_ERROR_NONE) { } 110 : manager_(NULL), error_(cast_channel::CHANNEL_ERROR_NONE) { }
110 111
111 CastChannelAsyncApiFunction::~CastChannelAsyncApiFunction() { } 112 CastChannelAsyncApiFunction::~CastChannelAsyncApiFunction() { }
112 113
113 bool CastChannelAsyncApiFunction::PrePrepare() { 114 bool CastChannelAsyncApiFunction::PrePrepare() {
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 SetResultFromError(cast_channel::CHANNEL_ERROR_SOCKET_ERROR); 259 SetResultFromError(cast_channel::CHANNEL_ERROR_SOCKET_ERROR);
259 } else { 260 } else {
260 int channel_id = params_->channel.channel_id; 261 int channel_id = params_->channel.channel_id;
261 SetResultFromSocket(channel_id); 262 SetResultFromSocket(channel_id);
262 RemoveSocket(channel_id); 263 RemoveSocket(channel_id);
263 } 264 }
264 AsyncWorkCompleted(); 265 AsyncWorkCompleted();
265 } 266 }
266 267
267 } // namespace extensions 268 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698