diff options
-rw-r--r-- | webkit/glue/plugins/plugin_host.cc | 7 | ||||
-rw-r--r-- | webkit/glue/plugins/test/plugin_execute_script_delete_test.cc | 14 |
2 files changed, 18 insertions, 3 deletions
diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc index 66750ac..12e6330 100644 --- a/webkit/glue/plugins/plugin_host.cc +++ b/webkit/glue/plugins/plugin_host.cc @@ -741,6 +741,13 @@ NPError NPN_GetValue(NPP id, NPNVariable variable, void *value) { rv = NPERR_NO_ERROR; break; } + case NPNVSupportsWindowless: + { + NPBool* supports_windowless = reinterpret_cast<NPBool*>(value); + *supports_windowless = TRUE; + rv = NPERR_NO_ERROR; + break; + } case default_plugin::kMissingPluginStatusStart + default_plugin::MISSING_PLUGIN_AVAILABLE: // fall through diff --git a/webkit/glue/plugins/test/plugin_execute_script_delete_test.cc b/webkit/glue/plugins/test/plugin_execute_script_delete_test.cc index cb8a025..7137ceb 100644 --- a/webkit/glue/plugins/test/plugin_execute_script_delete_test.cc +++ b/webkit/glue/plugins/test/plugin_execute_script_delete_test.cc @@ -16,9 +16,17 @@ int16 ExecuteScriptDeleteTest::HandleEvent(void* event) { NPEvent* np_event = reinterpret_cast<NPEvent*>(event); if (WM_PAINT == np_event->event ) { NPNetscapeFuncs* browser = NPAPIClient::PluginClient::HostFunctions(); - NPUTF8* urlString = "javascript:DeletePluginWithinScript()"; - NPUTF8* targetString = NULL; - browser->geturl(id(), urlString, targetString); + + NPBool supports_windowless = 0; + NPError result = browser->getvalue(id(), NPNVSupportsWindowless, + &supports_windowless); + if ((result != NPERR_NO_ERROR) || (supports_windowless != TRUE)) { + SetError("Failed to read NPNVSupportsWindowless value"); + } else { + NPUTF8* urlString = "javascript:DeletePluginWithinScript()"; + NPUTF8* targetString = NULL; + browser->geturl(id(), urlString, targetString); + } SignalTestCompleted(); } // If this test failed, then we'd have crashed by now. |