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 ~PluginThreadAsyncCallTest() override
;
23 NPError
New(uint16 mode
,
27 NPSavedData
* saved
) override
;
29 NPError
Destroy() override
;
32 void OnCallSucceeded();
33 void OnCallCompleted();
36 // base::Thread needs one of these.
37 base::ShadowingAtExitManager
* at_exit_manager_
;
39 DISALLOW_COPY_AND_ASSIGN(PluginThreadAsyncCallTest
);
42 } // namespace NPAPIClient
44 #endif // CONTENT_TEST_PLUGIN_PLUGIN_THREAD_ASYNC_CALL_TEST_H_