Home | History | Annotate | Download | only in plugin
      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