1 // Copyright (c) 2011 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.
5 #ifndef CONTENT_TEST_PLUGIN_PLUGIN_THREAD_ASYNC_CALL_TEST_H_
6 #define CONTENT_TEST_PLUGIN_PLUGIN_THREAD_ASYNC_CALL_TEST_H_
8 #include "content/test/plugin/plugin_test.h"
11 class ShadowingAtExitManager
;
14 namespace NPAPIClient
{
16 // This class tests scheduling and unscheduling of async callbacks using
17 // NPN_PluginThreadAsyncCall.
18 class PluginThreadAsyncCallTest
: public PluginTest
{
20 PluginThreadAsyncCallTest(NPP id
, NPNetscapeFuncs
*host_functions
);
21 virtual ~PluginThreadAsyncCallTest();
23 virtual NPError
New(uint16 mode
, int16 argc
, const char* argn
[],
24 const char* argv
[], NPSavedData
* saved
) OVERRIDE
;
26 virtual NPError
Destroy() OVERRIDE
;
29 void OnCallSucceeded();
30 void OnCallCompleted();
33 // base::Thread needs one of these.
34 base::ShadowingAtExitManager
* at_exit_manager_
;
36 DISALLOW_COPY_AND_ASSIGN(PluginThreadAsyncCallTest
);
39 } // namespace NPAPIClient
41 #endif // CONTENT_TEST_PLUGIN_PLUGIN_THREAD_ASYNC_CALL_TEST_H_