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

Side by Side Diff: mojo/edk/embedder/embedder.cc

Issue 782693004: Update mojo sdk to rev f6c8ec07c01deebc13178d516225fd12695c3dc2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: hack mojo_system_impl gypi for android :| Created 6 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "mojo/edk/embedder/embedder.h" 5 #include "mojo/edk/embedder/embedder.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 void CreateChannelHelper( 55 void CreateChannelHelper(
56 ScopedPlatformHandle platform_handle, 56 ScopedPlatformHandle platform_handle,
57 scoped_ptr<ChannelInfo> channel_info, 57 scoped_ptr<ChannelInfo> channel_info,
58 scoped_refptr<system::ChannelEndpoint> channel_endpoint, 58 scoped_refptr<system::ChannelEndpoint> channel_endpoint,
59 DidCreateChannelCallback callback, 59 DidCreateChannelCallback callback,
60 scoped_refptr<base::TaskRunner> callback_thread_task_runner) { 60 scoped_refptr<base::TaskRunner> callback_thread_task_runner) {
61 channel_info->channel_id = 61 channel_info->channel_id =
62 MakeChannel(platform_handle.Pass(), channel_endpoint); 62 MakeChannel(platform_handle.Pass(), channel_endpoint);
63 63
64 // Hand the channel back to the embedder. 64 // Hand the channel back to the embedder.
65 if (callback_thread_task_runner.get()) { 65 if (callback_thread_task_runner) {
66 callback_thread_task_runner->PostTask( 66 callback_thread_task_runner->PostTask(
67 FROM_HERE, base::Bind(callback, channel_info.release())); 67 FROM_HERE, base::Bind(callback, channel_info.release()));
68 } else { 68 } else {
69 callback.Run(channel_info.release()); 69 callback.Run(channel_info.release());
70 } 70 }
71 } 71 }
72 72
73 } // namespace 73 } // namespace
74 74
75 namespace internal { 75 namespace internal {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 111
112 return rv.Pass(); 112 return rv.Pass();
113 } 113 }
114 114
115 ScopedMessagePipeHandle CreateChannel( 115 ScopedMessagePipeHandle CreateChannel(
116 ScopedPlatformHandle platform_handle, 116 ScopedPlatformHandle platform_handle,
117 scoped_refptr<base::TaskRunner> io_thread_task_runner, 117 scoped_refptr<base::TaskRunner> io_thread_task_runner,
118 DidCreateChannelCallback callback, 118 DidCreateChannelCallback callback,
119 scoped_refptr<base::TaskRunner> callback_thread_task_runner) { 119 scoped_refptr<base::TaskRunner> callback_thread_task_runner) {
120 DCHECK(platform_handle.is_valid()); 120 DCHECK(platform_handle.is_valid());
121 DCHECK(io_thread_task_runner.get()); 121 DCHECK(io_thread_task_runner);
122 DCHECK(!callback.is_null()); 122 DCHECK(!callback.is_null());
123 123
124 scoped_refptr<system::ChannelEndpoint> channel_endpoint; 124 scoped_refptr<system::ChannelEndpoint> channel_endpoint;
125 scoped_refptr<system::MessagePipeDispatcher> dispatcher = 125 scoped_refptr<system::MessagePipeDispatcher> dispatcher =
126 system::MessagePipeDispatcher::CreateRemoteMessagePipe(&channel_endpoint); 126 system::MessagePipeDispatcher::CreateRemoteMessagePipe(&channel_endpoint);
127 127
128 DCHECK(internal::g_core); 128 DCHECK(internal::g_core);
129 ScopedMessagePipeHandle rv( 129 ScopedMessagePipeHandle rv(
130 MessagePipeHandle(internal::g_core->AddDispatcher(dispatcher))); 130 MessagePipeHandle(internal::g_core->AddDispatcher(dispatcher)));
131 131
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 return MOJO_RESULT_OK; 188 return MOJO_RESULT_OK;
189 } 189 }
190 190
191 MojoResult PassWrappedPlatformHandle(MojoHandle platform_handle_wrapper_handle, 191 MojoResult PassWrappedPlatformHandle(MojoHandle platform_handle_wrapper_handle,
192 ScopedPlatformHandle* platform_handle) { 192 ScopedPlatformHandle* platform_handle) {
193 DCHECK(platform_handle); 193 DCHECK(platform_handle);
194 194
195 DCHECK(internal::g_core); 195 DCHECK(internal::g_core);
196 scoped_refptr<system::Dispatcher> dispatcher( 196 scoped_refptr<system::Dispatcher> dispatcher(
197 internal::g_core->GetDispatcher(platform_handle_wrapper_handle)); 197 internal::g_core->GetDispatcher(platform_handle_wrapper_handle));
198 if (!dispatcher.get()) 198 if (!dispatcher)
199 return MOJO_RESULT_INVALID_ARGUMENT; 199 return MOJO_RESULT_INVALID_ARGUMENT;
200 200
201 if (dispatcher->GetType() != system::Dispatcher::kTypePlatformHandle) 201 if (dispatcher->GetType() != system::Dispatcher::kTypePlatformHandle)
202 return MOJO_RESULT_INVALID_ARGUMENT; 202 return MOJO_RESULT_INVALID_ARGUMENT;
203 203
204 *platform_handle = 204 *platform_handle =
205 static_cast<system::PlatformHandleDispatcher*>(dispatcher.get()) 205 static_cast<system::PlatformHandleDispatcher*>(dispatcher.get())
206 ->PassPlatformHandle() 206 ->PassPlatformHandle()
207 .Pass(); 207 .Pass();
208 return MOJO_RESULT_OK; 208 return MOJO_RESULT_OK;
209 } 209 }
210 210
211 } // namespace embedder 211 } // namespace embedder
212 } // namespace mojo 212 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698