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 16class 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