OLD | NEW |
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 "ppapi/proxy/resource_message_test_sink.h" | 5 #include "ppapi/proxy/resource_message_test_sink.h" |
6 | 6 |
7 #include "ppapi/proxy/ppapi_messages.h" | 7 #include "ppapi/proxy/ppapi_messages.h" |
8 #include "ppapi/proxy/resource_message_params.h" | 8 #include "ppapi/proxy/resource_message_params.h" |
9 #include "ppapi/proxy/serialized_handle.h" | 9 #include "ppapi/proxy/serialized_handle.h" |
10 | 10 |
11 namespace ppapi { | 11 namespace ppapi { |
12 namespace proxy { | 12 namespace proxy { |
13 | 13 |
14 namespace { | 14 namespace { |
15 | 15 |
16 // Backend for GetAllResource[Calls|Replies]Matching. | 16 // Backend for GetAllResource[Calls|Replies]Matching. |
17 template<class WrapperMessage, class Params> | 17 template<class WrapperMessage, class Params> |
18 std::vector<std::pair<Params, IPC::Message> > | 18 std::vector<std::pair<Params, IPC::Message> > |
19 GetAllResourceMessagesMatching(const ResourceMessageTestSink& sink, | 19 GetAllResourceMessagesMatching(const ResourceMessageTestSink& sink, |
20 uint32 id) { | 20 uint32 id) { |
21 std::vector<std::pair<Params, IPC::Message> > result; | 21 std::vector<std::pair<Params, IPC::Message> > result; |
22 for (size_t i = 0; i < sink.message_count(); i++) { | 22 for (size_t i = 0; i < sink.message_count(); i++) { |
23 const IPC::Message* msg = sink.GetMessageAt(i); | 23 const IPC::Message* msg = sink.GetMessageAt(i); |
24 if (msg->type() == WrapperMessage::ID) { | 24 if (msg->type() == WrapperMessage::ID) { |
25 typename WrapperMessage::Param params; | 25 typename WrapperMessage::Param params; |
26 WrapperMessage::Read(msg, ¶ms); | 26 WrapperMessage::Read(msg, ¶ms); |
27 Params cur_params = get<0>(params); | 27 Params cur_params = base::get<0>(params); |
28 IPC::Message cur_msg = get<1>(params); | 28 IPC::Message cur_msg = base::get<1>(params); |
29 if (cur_msg.type() == id) { | 29 if (cur_msg.type() == id) { |
30 result.push_back(std::make_pair(cur_params, cur_msg)); | 30 result.push_back(std::make_pair(cur_params, cur_msg)); |
31 } | 31 } |
32 } | 32 } |
33 } | 33 } |
34 return result; | 34 return result; |
35 } | 35 } |
36 | 36 |
37 } // namespace | 37 } // namespace |
38 | 38 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 ResourceSyncCallHandler::~ResourceSyncCallHandler() { | 123 ResourceSyncCallHandler::~ResourceSyncCallHandler() { |
124 } | 124 } |
125 | 125 |
126 bool ResourceSyncCallHandler::OnMessageReceived(const IPC::Message& msg) { | 126 bool ResourceSyncCallHandler::OnMessageReceived(const IPC::Message& msg) { |
127 if (msg.type() != PpapiHostMsg_ResourceSyncCall::ID) | 127 if (msg.type() != PpapiHostMsg_ResourceSyncCall::ID) |
128 return false; | 128 return false; |
129 PpapiHostMsg_ResourceSyncCall::Schema::SendParam send_params; | 129 PpapiHostMsg_ResourceSyncCall::Schema::SendParam send_params; |
130 bool success = PpapiHostMsg_ResourceSyncCall::ReadSendParam( | 130 bool success = PpapiHostMsg_ResourceSyncCall::ReadSendParam( |
131 &msg, &send_params); | 131 &msg, &send_params); |
132 DCHECK(success); | 132 DCHECK(success); |
133 ResourceMessageCallParams call_params = get<0>(send_params); | 133 ResourceMessageCallParams call_params = base::get<0>(send_params); |
134 IPC::Message call_msg = get<1>(send_params); | 134 IPC::Message call_msg = base::get<1>(send_params); |
135 if (call_msg.type() != incoming_type_) | 135 if (call_msg.type() != incoming_type_) |
136 return false; | 136 return false; |
137 IPC::Message* wrapper_reply_msg = IPC::SyncMessage::GenerateReply(&msg); | 137 IPC::Message* wrapper_reply_msg = IPC::SyncMessage::GenerateReply(&msg); |
138 ResourceMessageReplyParams reply_params(call_params.pp_resource(), | 138 ResourceMessageReplyParams reply_params(call_params.pp_resource(), |
139 call_params.sequence()); | 139 call_params.sequence()); |
140 reply_params.set_result(result_); | 140 reply_params.set_result(result_); |
141 if (serialized_handle_) | 141 if (serialized_handle_) |
142 reply_params.AppendHandle(*serialized_handle_); | 142 reply_params.AppendHandle(*serialized_handle_); |
143 PpapiHostMsg_ResourceSyncCall::WriteReplyParams( | 143 PpapiHostMsg_ResourceSyncCall::WriteReplyParams( |
144 wrapper_reply_msg, reply_params, reply_msg_); | 144 wrapper_reply_msg, reply_params, reply_msg_); |
145 test_sink_->SetSyncReplyMessage(wrapper_reply_msg); | 145 test_sink_->SetSyncReplyMessage(wrapper_reply_msg); |
146 | 146 |
147 // Stash a copy of the message for inspection later. | 147 // Stash a copy of the message for inspection later. |
148 last_handled_msg_ = call_msg; | 148 last_handled_msg_ = call_msg; |
149 return true; | 149 return true; |
150 } | 150 } |
151 | 151 |
152 } // namespace proxy | 152 } // namespace proxy |
153 } // namespace ppapi | 153 } // namespace ppapi |
OLD | NEW |