1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef PPAPI_TESTS_TEST_MESSAGE_HANDLER_H_ 6 #define PPAPI_TESTS_TEST_MESSAGE_HANDLER_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "ppapi/c/ppb_messaging.h" 12 #include "ppapi/tests/test_case.h" 13 #include "ppapi/tests/test_utils.h" 14 #include "ppapi/utility/threading/simple_thread.h" 15 16 class TestMessageHandler : public TestCase { 17 public: 18 explicit TestMessageHandler(TestingInstance* instance); 19 virtual ~TestMessageHandler(); 20 21 private: 22 // TestCase implementation. 23 virtual bool Init(); 24 virtual void RunTests(const std::string& filter); 25 virtual void HandleMessage(const pp::Var& message_data); 26 27 std::string TestRegisterErrorConditions(); 28 std::string TestPostMessageAndAwaitResponse(); 29 std::string TestExceptions(); 30 31 const PPB_Messaging_1_2* ppb_messaging_if_; 32 pp::SimpleThread handler_thread_; 33 34 // For TestExceptions(): 35 NestedEvent message_received_; 36 std::string last_message_; 37 }; 38 39 #endif // PPAPI_TESTS_TEST_MESSAGE_HANDLER_H_ 40 41