• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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