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. 4 5 #ifndef CONTENT_TEST_PLUGIN_PLUGIN_JAVASCRIPT_OPEN_POPUP_H_ 6 #define CONTENT_TEST_PLUGIN_PLUGIN_JAVASCRIPT_OPEN_POPUP_H_ 7 8 #include "base/compiler_specific.h" 9 #include "content/test/plugin/plugin_test.h" 10 11 namespace NPAPIClient { 12 13 // This class tests the case where a windowed plugin instance is 14 // instantiated in a popup window. The plugin instance needs to 15 // have a valid parent window. 16 class ExecuteJavascriptOpenPopupWithPluginTest : public PluginTest { 17 public: 18 // Constructor. 19 ExecuteJavascriptOpenPopupWithPluginTest( 20 NPP id, NPNetscapeFuncs *host_functions); 21 // NPAPI SetWindow handler. 22 virtual NPError SetWindow(NPWindow* window) OVERRIDE; 23 24 private: 25 bool popup_window_test_started_; 26 }; 27 28 // This class represents a windowed plugin instance instantiated within a 29 // popup window. It verifies that the plugin instance has a valid parent. 30 class ExecuteJavascriptPopupWindowTargetPluginTest : public PluginTest { 31 public: 32 ExecuteJavascriptPopupWindowTargetPluginTest( 33 NPP id, NPNetscapeFuncs *host_functions); 34 // NPAPI SetWindow handler. 35 virtual NPError SetWindow(NPWindow* window) OVERRIDE; 36 37 private: 38 // Do a platform-specific validation of the passed-in |window|. 39 // E.g. on Windows, verifies window->window is a reasonable HWND. 40 // Returns true if the test should be marked complete. 41 bool CheckWindow(NPWindow* window); 42 43 bool test_completed_; 44 }; 45 46 } // namespace NPAPIClient 47 48 #endif // CONTENT_TEST_PLUGIN_PLUGIN_JAVASCRIPT_OPEN_POPUP_H_ 49