OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #define STRSAFE_NO_DEPRECATE | 5 #define STRSAFE_NO_DEPRECATE |
6 #include "webkit/glue/plugins/test/plugin_windowless_test.h" | 6 #include "webkit/glue/plugins/test/plugin_windowless_test.h" |
7 #include "webkit/glue/plugins/test/plugin_client.h" | 7 #include "webkit/glue/plugins/test/plugin_client.h" |
8 | 8 |
9 #if defined(OS_MACOSX) | 9 #if defined(OS_MACOSX) |
10 #include <ApplicationServices/ApplicationServices.h> | 10 #include <ApplicationServices/ApplicationServices.h> |
11 #include <Carbon/Carbon.h> | 11 #include <Carbon/Carbon.h> |
12 #endif | 12 #endif |
13 | 13 |
14 namespace NPAPIClient { | 14 namespace NPAPIClient { |
15 | 15 |
16 // Remember the first plugin instance for tests involving multiple instances | 16 // Remember the first plugin instance for tests involving multiple instances |
17 WindowlessPluginTest* g_other_instance = NULL; | 17 WindowlessPluginTest* g_other_instance = NULL; |
18 | 18 |
19 WindowlessPluginTest::WindowlessPluginTest( | 19 WindowlessPluginTest::WindowlessPluginTest(NPP id, |
20 NPP id, NPNetscapeFuncs *host_functions, const std::string& test_name) | 20 NPNetscapeFuncs *host_functions) |
21 : PluginTest(id, host_functions), | 21 : PluginTest(id, host_functions) { |
22 test_name_(test_name) { | |
23 if (!g_other_instance) | 22 if (!g_other_instance) |
24 g_other_instance = this; | 23 g_other_instance = this; |
25 } | 24 } |
26 | 25 |
27 static bool IsPaintEvent(NPEvent* np_event) { | 26 static bool IsPaintEvent(NPEvent* np_event) { |
28 #if defined(OS_WIN) | 27 #if defined(OS_WIN) |
29 return WM_PAINT == np_event->event; | 28 return WM_PAINT == np_event->event; |
30 #elif defined(OS_MACOSX) | 29 #elif defined(OS_MACOSX) |
31 return np_event->what == updateEvt; | 30 return np_event->what == updateEvt; |
32 #endif | 31 #endif |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 if (!GetClipRgn(paint_dc, clipping_region)) { | 83 if (!GetClipRgn(paint_dc, clipping_region)) { |
85 SetError("No clipping region set in window DC"); | 84 SetError("No clipping region set in window DC"); |
86 DeleteObject(clipping_region); | 85 DeleteObject(clipping_region); |
87 SignalTestCompleted(); | 86 SignalTestCompleted(); |
88 return NPERR_GENERIC_ERROR; | 87 return NPERR_GENERIC_ERROR; |
89 } | 88 } |
90 | 89 |
91 DeleteObject(clipping_region); | 90 DeleteObject(clipping_region); |
92 #endif | 91 #endif |
93 | 92 |
94 if (test_name_ == "execute_script_delete_in_paint") { | 93 if (test_name() == "execute_script_delete_in_paint") { |
95 ExecuteScriptDeleteInPaint(browser); | 94 ExecuteScriptDeleteInPaint(browser); |
96 } else if (test_name_ == "multiple_instances_sync_calls") { | 95 } else if (test_name() == "multiple_instances_sync_calls") { |
97 MultipleInstanceSyncCalls(browser); | 96 MultipleInstanceSyncCalls(browser); |
98 } | 97 } |
99 #if OS_MACOSX | 98 #if OS_MACOSX |
100 } else if (IsWindowActivationEvent(np_event) && | 99 } else if (IsWindowActivationEvent(np_event) && |
101 test_name_ == "convert_point") { | 100 test_name() == "convert_point") { |
102 ConvertPoint(browser); | 101 ConvertPoint(browser); |
103 #endif | 102 #endif |
104 } else if (IsMouseMoveEvent(np_event) && | 103 } else if (IsMouseMoveEvent(np_event) && |
105 test_name_ == "execute_script_delete_in_mouse_move") { | 104 test_name() == "execute_script_delete_in_mouse_move") { |
106 ExecuteScript(browser, id(), "DeletePluginWithinScript();", NULL); | 105 ExecuteScript(browser, id(), "DeletePluginWithinScript();", NULL); |
107 SignalTestCompleted(); | 106 SignalTestCompleted(); |
108 } else if (IsMouseUpEvent(np_event) && | 107 } else if (IsMouseUpEvent(np_event) && |
109 test_name_ == "delete_frame_test") { | 108 test_name() == "delete_frame_test") { |
110 ExecuteScript( | 109 ExecuteScript( |
111 browser, id(), | 110 browser, id(), |
112 "parent.document.getElementById('frame').outerHTML = ''", NULL); | 111 "parent.document.getElementById('frame').outerHTML = ''", NULL); |
113 } | 112 } |
114 // If this test failed, then we'd have crashed by now. | 113 // If this test failed, then we'd have crashed by now. |
115 return PluginTest::HandleEvent(event); | 114 return PluginTest::HandleEvent(event); |
116 } | 115 } |
117 | 116 |
118 NPError WindowlessPluginTest::ExecuteScript(NPNetscapeFuncs* browser, NPP id, | 117 NPError WindowlessPluginTest::ExecuteScript(NPNetscapeFuncs* browser, NPP id, |
119 const std::string& script, NPVariant* result) { | 118 const std::string& script, NPVariant* result) { |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 SetError("Window x location is wrong"); | 216 SetError("Window x location is wrong"); |
218 else if (flipped_screen_y < 100 || flipped_screen_y > 300) | 217 else if (flipped_screen_y < 100 || flipped_screen_y > 300) |
219 SetError("Window y location is wrong"); | 218 SetError("Window y location is wrong"); |
220 #else | 219 #else |
221 SetError("Unimplemented"); | 220 SetError("Unimplemented"); |
222 #endif | 221 #endif |
223 SignalTestCompleted(); | 222 SignalTestCompleted(); |
224 } | 223 } |
225 | 224 |
226 } // namespace NPAPIClient | 225 } // namespace NPAPIClient |
OLD | NEW |