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_GET_JAVASCRIPT_URL_H_ 6 #define CONTENT_TEST_PLUGIN_PLUGIN_GET_JAVASCRIPT_URL_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 NPP_GetURLNotify for a javascript URL with _top 14 // as the target frame. 15 class ExecuteGetJavascriptUrlTest : public PluginTest { 16 public: 17 // Constructor. 18 ExecuteGetJavascriptUrlTest(NPP id, NPNetscapeFuncs *host_functions); 19 // 20 // NPAPI functions 21 // 22 virtual NPError SetWindow(NPWindow* pNPWindow) OVERRIDE; 23 virtual NPError NewStream(NPMIMEType type, NPStream* stream, 24 NPBool seekable, uint16* stype) OVERRIDE; 25 virtual int32 WriteReady(NPStream *stream) OVERRIDE; 26 virtual int32 Write(NPStream *stream, int32 offset, int32 len, 27 void *buffer) OVERRIDE; 28 virtual NPError DestroyStream(NPStream *stream, NPError reason) OVERRIDE; 29 virtual void URLNotify(const char* url, 30 NPReason reason, 31 void* data) OVERRIDE; 32 33 private: 34 #if defined(OS_WIN) 35 static void CALLBACK TimerProc(HWND window, UINT message, UINT_PTR timer_id, 36 DWORD elapsed_time); 37 #endif 38 bool test_started_; 39 // This flag is set to true in the context of the NPN_Evaluate call. 40 bool npn_evaluate_context_; 41 std::string self_url_; 42 43 #if defined(OS_WIN) 44 HWND window_; 45 #endif 46 }; 47 48 } // namespace NPAPIClient 49 50 #endif // CONTENT_TEST_PLUGIN_PLUGIN_GET_JAVASCRIPT_URL_H_ 51