1// Copyright (c) 2009 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 CONTENT_TEST_PLUGIN_PLUGIN_CREATE_INSTANCE_IN_PAINT_H_
6#define CONTENT_TEST_PLUGIN_PLUGIN_CREATE_INSTANCE_IN_PAINT_H_
7
8#include "content/test/plugin/plugin_test.h"
9
10namespace NPAPIClient {
11
12// This class tests that creating a new plugin via script while handling a
13// Windows message doesn't cause a deadlock.
14class CreateInstanceInPaintTest : public PluginTest {
15 public:
16  // Constructor.
17  CreateInstanceInPaintTest(NPP id, NPNetscapeFuncs *host_functions);
18  //
19  // NPAPI functions
20  //
21  virtual NPError SetWindow(NPWindow* pNPWindow);
22
23 private:
24  static LRESULT CALLBACK WindowProc(
25      HWND window, UINT message, WPARAM wparam, LPARAM lparam);
26
27  HWND window_;
28  bool created_;
29};
30
31}  // namespace NPAPIClient
32
33#endif  // CONTENT_TEST_PLUGIN_PLUGIN_CREATE_INSTANCE_IN_PAINT_H_
34