| Index: ppapi/proxy/resource_message_test_sink.cc
|
| diff --git a/ppapi/proxy/resource_message_test_sink.cc b/ppapi/proxy/resource_message_test_sink.cc
|
| index 75a47396c67f405d6bdbc666fd0e069d4bfeca70..7f45faea65f3036275cd8d56a288ac4b7ffe330f 100644
|
| --- a/ppapi/proxy/resource_message_test_sink.cc
|
| +++ b/ppapi/proxy/resource_message_test_sink.cc
|
| @@ -15,15 +15,11 @@ namespace {
|
|
|
| // Backend for GetFirstResource[Call|Reply]Matching.
|
| template<class WrapperMessage, class Params>
|
| -int GetNextResourceMessageMatching(const ResourceMessageTestSink& sink,
|
| - uint32 id,
|
| - int start_index,
|
| - Params* params,
|
| - IPC::Message* nested_msg) {
|
| - if (start_index < 0)
|
| - return -1;
|
| - int message_count = static_cast<int>(sink.message_count());
|
| - for (int i = start_index; i < message_count; i++) {
|
| +bool GetFirstResourceMessageMatching(const ResourceMessageTestSink& sink,
|
| + uint32 id,
|
| + Params* params,
|
| + IPC::Message* nested_msg) {
|
| + for (size_t i = 0; i < sink.message_count(); i++) {
|
| const IPC::Message* msg = sink.GetMessageAt(i);
|
| if (msg->type() == WrapperMessage::ID) {
|
| Params cur_params;
|
| @@ -32,18 +28,36 @@ int GetNextResourceMessageMatching(const ResourceMessageTestSink& sink,
|
| if (cur_msg.type() == id) {
|
| *params = cur_params;
|
| *nested_msg = cur_msg;
|
| - return i;
|
| + return true;
|
| }
|
| }
|
| }
|
| - return -1;
|
| + return false;
|
| +}
|
| +
|
| +// Backend for GetAllResource[Calls|Replies]Matching.
|
| +template<class WrapperMessage, class Params>
|
| +std::vector<std::pair<Params, IPC::Message> >
|
| +GetAllResourceMessagesMatching(const ResourceMessageTestSink& sink,
|
| + uint32 id) {
|
| + std::vector<std::pair<Params, IPC::Message> > result;
|
| + for (size_t i = 0; i < sink.message_count(); i++) {
|
| + const IPC::Message* msg = sink.GetMessageAt(i);
|
| + if (msg->type() == WrapperMessage::ID) {
|
| + Params cur_params;
|
| + IPC::Message cur_msg;
|
| + WrapperMessage::Read(msg, &cur_params, &cur_msg);
|
| + if (cur_msg.type() == id) {
|
| + result.push_back(std::make_pair(cur_params, cur_msg));
|
| + }
|
| + }
|
| + }
|
| + return result;
|
| }
|
|
|
| } // namespace
|
|
|
| -ResourceMessageTestSink::ResourceMessageTestSink()
|
| - : next_resource_call_(0),
|
| - next_resource_reply_(0) {
|
| +ResourceMessageTestSink::ResourceMessageTestSink() {
|
| }
|
|
|
| ResourceMessageTestSink::~ResourceMessageTestSink() {
|
| @@ -77,48 +91,30 @@ bool ResourceMessageTestSink::GetFirstResourceCallMatching(
|
| uint32 id,
|
| ResourceMessageCallParams* params,
|
| IPC::Message* nested_msg) const {
|
| - int index = GetNextResourceMessageMatching<PpapiHostMsg_ResourceCall,
|
| - ResourceMessageCallParams>(
|
| - *this, id, 0 /* start_index */, params, nested_msg);
|
| - return index >= 0;
|
| + return GetFirstResourceMessageMatching<PpapiHostMsg_ResourceCall,
|
| + ResourceMessageCallParams>(
|
| + *this, id, params, nested_msg);
|
| }
|
|
|
| bool ResourceMessageTestSink::GetFirstResourceReplyMatching(
|
| uint32 id,
|
| ResourceMessageReplyParams* params,
|
| IPC::Message* nested_msg) {
|
| - int index = GetNextResourceMessageMatching<PpapiPluginMsg_ResourceReply,
|
| - ResourceMessageReplyParams>(
|
| - *this, id, 0 /* start_index */, params, nested_msg);
|
| - return index >= 0;
|
| + return GetFirstResourceMessageMatching<PpapiPluginMsg_ResourceReply,
|
| + ResourceMessageReplyParams>(
|
| + *this, id, params, nested_msg);
|
| }
|
|
|
| -bool ResourceMessageTestSink::GetNextResourceCallMatching(
|
| - uint32 id,
|
| - ResourceMessageCallParams* params,
|
| - IPC::Message* nested_msg) {
|
| - int index = GetNextResourceMessageMatching<PpapiHostMsg_ResourceCall,
|
| - ResourceMessageCallParams>(
|
| - *this, id, next_resource_call_, params, nested_msg);
|
| - if (index >= 0) {
|
| - next_resource_call_ = index + 1;
|
| - return true;
|
| - }
|
| - return false;
|
| +ResourceMessageTestSink::ResourceCallVector
|
| +ResourceMessageTestSink::GetAllResourceCallsMatching(uint32 id) {
|
| + return GetAllResourceMessagesMatching<PpapiHostMsg_ResourceCall,
|
| + ResourceMessageCallParams>(*this, id);
|
| }
|
|
|
| -bool ResourceMessageTestSink::GetNextResourceReplyMatching(
|
| - uint32 id,
|
| - ResourceMessageReplyParams* params,
|
| - IPC::Message* nested_msg) {
|
| - int index = GetNextResourceMessageMatching<PpapiPluginMsg_ResourceReply,
|
| - ResourceMessageReplyParams>(
|
| - *this, id, next_resource_reply_, params, nested_msg);
|
| - if (index >= 0) {
|
| - next_resource_reply_ = index + 1;
|
| - return true;
|
| - }
|
| - return false;
|
| +ResourceMessageTestSink::ResourceReplyVector
|
| +ResourceMessageTestSink::GetAllResourceRepliesMatching(uint32 id) {
|
| + return GetAllResourceMessagesMatching<PpapiPluginMsg_ResourceReply,
|
| + ResourceMessageReplyParams>(*this, id);
|
| }
|
|
|
| ResourceSyncCallHandler::ResourceSyncCallHandler(
|
|
|