Refactor management of overview window copy lifetime into a separate class.
[chromium-blink-merge.git] / content / test / plugin / plugin_javascript_open_popup.h
blob1bc764e6c0702119f6892795e4b9e450d0424d97
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_JAVASCRIPT_OPEN_POPUP_H_
6 #define CONTENT_TEST_PLUGIN_PLUGIN_JAVASCRIPT_OPEN_POPUP_H_
8 #include "base/compiler_specific.h"
9 #include "content/test/plugin/plugin_test.h"
11 namespace NPAPIClient {
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;
24 private:
25 bool popup_window_test_started_;
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;
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);
43 bool test_completed_;
46 } // namespace NPAPIClient
48 #endif // CONTENT_TEST_PLUGIN_PLUGIN_JAVASCRIPT_OPEN_POPUP_H_