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

Unified Diff: ppapi/tests/test_message_handler.cc

Issue 564573002: PPAPI: Make PPP_MessageHandler work in PNaCl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/tests/test_message_handler.h ('k') | ppapi/thunk/interfaces_ppb_public_dev_channel.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/tests/test_message_handler.cc
diff --git a/ppapi/tests/test_message_handler.cc b/ppapi/tests/test_message_handler.cc
index 54474f7033c4b0ef39251da6ba3c84269f3412f7..5b59f7d7c606af162fa7acbb86740b9e52c20d0a 100644
--- a/ppapi/tests/test_message_handler.cc
+++ b/ppapi/tests/test_message_handler.cc
@@ -11,6 +11,7 @@
#include "ppapi/c/pp_var.h"
#include "ppapi/c/ppb_file_io.h"
+#include "ppapi/c/ppb_messaging.h"
#include "ppapi/c/ppp_message_handler.h"
#include "ppapi/cpp/file_io.h"
#include "ppapi/cpp/file_ref.h"
@@ -43,9 +44,9 @@ class EchoingMessageHandler {
const pp::MessageLoop& loop)
: pp_instance_(instance),
message_handler_loop_(loop),
- ppb_messaging_if_(static_cast<const PPB_Messaging_1_1*>(
+ ppb_messaging_if_(static_cast<const PPB_Messaging_1_2*>(
pp::Module::Get()->GetBrowserInterface(
- PPB_MESSAGING_INTERFACE_1_1))),
+ PPB_MESSAGING_INTERFACE_1_2))),
ppp_message_handler_if_(),
is_registered_(false),
test_finished_event_(instance),
@@ -114,23 +115,24 @@ class EchoingMessageHandler {
}
static void HandleMessage(PP_Instance instance,
void* user_data,
- struct PP_Var message_data) {
+ const PP_Var* message_data) {
EchoingMessageHandler* thiz =
static_cast<EchoingMessageHandler*>(user_data);
if (pp::MessageLoop::GetCurrent() != thiz->message_handler_loop_)
thiz->AddError("HandleMessage was called on the wrong thread!");
if (instance != thiz->pp_instance_)
thiz->AddError("HandleMessage was passed the wrong instance!");
- pp::Var var(message_data);
+ pp::Var var(*message_data);
if (var.is_string() && var.AsString() == "FINISHED_TEST")
thiz->test_finished_event_.Signal();
else
- thiz->ppb_messaging_if_->PostMessage(instance, message_data);
+ thiz->ppb_messaging_if_->PostMessage(instance, *message_data);
}
- static PP_Var HandleBlockingMessage(PP_Instance instance,
- void* user_data,
- struct PP_Var message_data) {
+ static void HandleBlockingMessage(PP_Instance instance,
+ void* user_data,
+ const PP_Var* message_data,
+ PP_Var* result) {
EchoingMessageHandler* thiz =
static_cast<EchoingMessageHandler*>(user_data);
if (pp::MessageLoop::GetCurrent() != thiz->message_handler_loop_)
@@ -142,9 +144,9 @@ class EchoingMessageHandler {
// giving us a ref-count. The ref-count it has will be decremented after we
// return. But we need to add a ref when returning a PP_Var, to pass to the
// caller.
- pp::Var take_ref(message_data);
+ pp::Var take_ref(*message_data);
take_ref.Detach();
- return message_data;
+ *result = *message_data;
}
static void Destroy(PP_Instance instance, void* user_data) {
@@ -164,10 +166,10 @@ class EchoingMessageHandler {
const PP_Instance pp_instance_;
const pp::MessageLoop message_handler_loop_;
const pp::MessageLoop main_loop_;
- const PPB_Messaging_1_1* const ppb_messaging_if_;
+ const PPB_Messaging_1_2* const ppb_messaging_if_;
// Spiritually, this member is const, but we can't initialize it in C++03,
// so it has to be non-const to be set in the constructor body.
- PPP_MessageHandler_0_1 ppp_message_handler_if_;
+ PPP_MessageHandler_0_2 ppp_message_handler_if_;
// is_registered_ is only read/written on the main thread.
bool is_registered_;
@@ -186,12 +188,11 @@ class EchoingMessageHandler {
void FakeHandleMessage(PP_Instance instance,
void* user_data,
- struct PP_Var message_data) {}
-PP_Var FakeHandleBlockingMessage(PP_Instance instance,
- void* user_data,
- struct PP_Var message_data) {
- return PP_MakeUndefined();
-}
+ const PP_Var* message_data) {}
+void FakeHandleBlockingMessage(PP_Instance instance,
+ void* user_data,
+ const PP_Var* message_data,
+ PP_Var* result) {}
void FakeDestroy(PP_Instance instance, void* user_data) {}
} // namespace
@@ -207,8 +208,8 @@ TestMessageHandler::~TestMessageHandler() {
}
bool TestMessageHandler::Init() {
- ppb_messaging_if_ = static_cast<const PPB_Messaging_1_1*>(
- pp::Module::Get()->GetBrowserInterface(PPB_MESSAGING_INTERFACE_1_1));
+ ppb_messaging_if_ = static_cast<const PPB_Messaging_1_2*>(
+ pp::Module::Get()->GetBrowserInterface(PPB_MESSAGING_INTERFACE_1_2));
return ppb_messaging_if_ &&
CheckTestingInterface() &&
handler_thread_.Start();
@@ -227,7 +228,7 @@ void TestMessageHandler::HandleMessage(const pp::Var& message_data) {
std::string TestMessageHandler::TestRegisterErrorConditions() {
{
// Test registering with the main thread as the message loop.
- PPP_MessageHandler_0_1 fake_ppp_message_handler = {
+ PPP_MessageHandler_0_2 fake_ppp_message_handler = {
&FakeHandleMessage, &FakeHandleBlockingMessage, &FakeDestroy
};
pp::MessageLoop main_loop = pp::MessageLoop::GetForMainThread();
@@ -240,7 +241,7 @@ std::string TestMessageHandler::TestRegisterErrorConditions() {
}
{
// Test registering with incomplete PPP_Messaging interface.
- PPP_MessageHandler_0_1 bad_ppp_ifs[] = {
+ PPP_MessageHandler_0_2 bad_ppp_ifs[] = {
{ NULL, &FakeHandleBlockingMessage, &FakeDestroy },
{ &FakeHandleMessage, NULL, &FakeDestroy },
{ &FakeHandleMessage, &FakeHandleBlockingMessage, NULL }};
« no previous file with comments | « ppapi/tests/test_message_handler.h ('k') | ppapi/thunk/interfaces_ppb_public_dev_channel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698