| // Copyright 2014 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef PPAPI_TESTS_TEST_MESSAGE_HANDLER_H_ | |
| #define PPAPI_TESTS_TEST_MESSAGE_HANDLER_H_ | |
| #include <string> | |
| #include <vector> | |
| #include "ppapi/c/ppb_messaging.h" | |
| #include "ppapi/tests/test_case.h" | |
| #include "ppapi/tests/test_utils.h" | |
| #include "ppapi/utility/threading/simple_thread.h" | |
| class TestMessageHandler : public TestCase { | |
| public: | |
| explicit TestMessageHandler(TestingInstance* instance); | |
| virtual ~TestMessageHandler(); | |
| private: | |
| // TestCase implementation. | |
| virtual bool Init(); | |
| virtual void RunTests(const std::string& filter); | |
| virtual void HandleMessage(const pp::Var& message_data); | |
| std::string TestRegisterErrorConditions(); | |
| std::string TestPostMessageAndAwaitResponse(); | |
| std::string TestArrayBuffer(); | |
| std::string TestExceptions(); | |
| // Wait for HandleMessage to be called, and return the Var it received. | |
| pp::Var WaitForMessage(); | |
| NestedEvent message_received_; | |
| pp::Var last_message_; | |
| const PPB_Messaging_1_2* ppb_messaging_if_; | |
| pp::SimpleThread handler_thread_; | |
| }; | |
| #endif // PPAPI_TESTS_TEST_MESSAGE_HANDLER_H_ | |