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

Side by Side Diff: runtime/vm/native_message_handler.cc

Issue 2666063002: VM: [Kernel] Revert changes to the native ports that introduced peers. (Closed)
Patch Set: Created 3 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
« no previous file with comments | « runtime/vm/native_message_handler.h ('k') | samples/sample_extension/sample_extension.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/native_message_handler.h" 5 #include "vm/native_message_handler.h"
6 6
7 #include "vm/dart_api_message.h" 7 #include "vm/dart_api_message.h"
8 #include "vm/isolate.h" 8 #include "vm/isolate.h"
9 #include "vm/message.h" 9 #include "vm/message.h"
10 #include "vm/snapshot.h" 10 #include "vm/snapshot.h"
11 11
12 namespace dart { 12 namespace dart {
13 13
14 NativeMessageHandler::NativeMessageHandler(const char* name, 14 NativeMessageHandler::NativeMessageHandler(const char* name,
15 Dart_NativeMessageHandler func, 15 Dart_NativeMessageHandler func)
16 void* peer) 16 : name_(strdup(name)), func_(func) {}
17 : name_(strdup(name)), func_(func), peer_(peer) {}
18 17
19 18
20 NativeMessageHandler::~NativeMessageHandler() { 19 NativeMessageHandler::~NativeMessageHandler() {
21 free(name_); 20 free(name_);
22 } 21 }
23 22
24 23
25 #if defined(DEBUG) 24 #if defined(DEBUG)
26 void NativeMessageHandler::CheckAccess() { 25 void NativeMessageHandler::CheckAccess() {
27 ASSERT(Isolate::Current() == NULL); 26 ASSERT(Isolate::Current() == NULL);
28 } 27 }
29 #endif 28 #endif
30 29
31 30
32 MessageHandler::MessageStatus NativeMessageHandler::HandleMessage( 31 MessageHandler::MessageStatus NativeMessageHandler::HandleMessage(
33 Message* message) { 32 Message* message) {
34 if (message->IsOOB()) { 33 if (message->IsOOB()) {
35 // We currently do not use OOB messages for native ports. 34 // We currently do not use OOB messages for native ports.
36 UNREACHABLE(); 35 UNREACHABLE();
37 } 36 }
38 // We create a native scope for handling the message. 37 // We create a native scope for handling the message.
39 // All allocation of objects for decoding the message is done in the 38 // All allocation of objects for decoding the message is done in the
40 // zone associated with this scope. 39 // zone associated with this scope.
41 ApiNativeScope scope; 40 ApiNativeScope scope;
42 Dart_CObject* object; 41 Dart_CObject* object;
43 ApiMessageReader reader(message); 42 ApiMessageReader reader(message);
44 object = reader.ReadMessage(); 43 object = reader.ReadMessage();
45 (*func())(message->dest_port(), object, peer()); 44 (*func())(message->dest_port(), object);
46 delete message; 45 delete message;
47 return kOK; 46 return kOK;
48 } 47 }
49 48
50 } // namespace dart 49 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/native_message_handler.h ('k') | samples/sample_extension/sample_extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698