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