diff options
Diffstat (limited to 'WebCore/plugins/win/PluginViewWin.cpp')
-rw-r--r-- | WebCore/plugins/win/PluginViewWin.cpp | 101 |
1 files changed, 29 insertions, 72 deletions
diff --git a/WebCore/plugins/win/PluginViewWin.cpp b/WebCore/plugins/win/PluginViewWin.cpp index 04fda8e..01e425f 100644 --- a/WebCore/plugins/win/PluginViewWin.cpp +++ b/WebCore/plugins/win/PluginViewWin.cpp @@ -26,45 +26,41 @@ */ #include "config.h" - #include "PluginView.h" #include "BitmapImage.h" -#if !PLATFORM(WX) -#include "BitmapInfo.h" -#endif #include "Bridge.h" #include "Document.h" #include "DocumentLoader.h" #include "Element.h" #include "EventNames.h" -#include "FrameLoader.h" +#include "FocusController.h" +#include "Frame.h" #include "FrameLoadRequest.h" +#include "FrameLoader.h" #include "FrameTree.h" -#include "Frame.h" #include "FrameView.h" #include "GraphicsContext.h" -#include "HostWindow.h" -#include "Image.h" #include "HTMLNames.h" #include "HTMLPlugInElement.h" +#include "HostWindow.h" +#include "Image.h" +#include "JSDOMBinding.h" #include "JSDOMWindow.h" #include "KeyboardEvent.h" #include "MIMETypeRegistry.h" #include "MouseEvent.h" #include "Page.h" -#include "FocusController.h" #include "PlatformMouseEvent.h" +#include "PluginDatabase.h" +#include "PluginDebug.h" +#include "PluginMainThreadScheduler.h" #include "PluginMessageThrottlerWin.h" #include "PluginPackage.h" -#include "PluginMainThreadScheduler.h" #include "RenderWidget.h" -#include "JSDOMBinding.h" #include "ScriptController.h" -#include "PluginDatabase.h" -#include "PluginDebug.h" -#include "PluginPackage.h" #include "Settings.h" +#include "WebCoreInstanceHandle.h" #include "c_instance.h" #include "npruntime_impl.h" #include "runtime_root.h" @@ -72,6 +68,10 @@ #include <runtime/JSValue.h> #include <wtf/ASCIICType.h> +#if !PLATFORM(WX) +#include "BitmapInfo.h" +#endif + #if OS(WINCE) #undef LOG_NPERROR #define LOG_NPERROR(x) @@ -289,10 +289,10 @@ static bool registerPluginView() haveRegisteredWindowClass = true; #if PLATFORM(QT) - Page::setInstanceHandle((HINSTANCE)(qWinAppInst())); + WebCore::setInstanceHandle((HINSTANCE)(qWinAppInst())); #endif - ASSERT(Page::instanceHandle()); + ASSERT(WebCore::instanceHandle()); #if OS(WINCE) WNDCLASS wcex = { 0 }; @@ -309,7 +309,7 @@ static bool registerPluginView() wcex.lpfnWndProc = DefWindowProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; - wcex.hInstance = Page::instanceHandle(); + wcex.hInstance = WebCore::instanceHandle(); wcex.hIcon = 0; wcex.hCursor = LoadCursor(0, IDC_ARROW); wcex.hbrBackground = (HBRUSH)COLOR_WINDOW; @@ -867,73 +867,30 @@ NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const c return NPERR_NO_ERROR; } -NPError PluginView::getValueStatic(NPNVariable variable, void* value) +bool PluginView::platformGetValueStatic(NPNVariable, void*, NPError*) { - LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data()); - - return NPERR_GENERIC_ERROR; + return false; } -NPError PluginView::getValue(NPNVariable variable, void* value) +bool PluginView::platformGetValue(NPNVariable variable, void* value, NPError* result) { - LOG(Plugins, "PluginView::getValue(%s)", prettyNameForNPNVariable(variable).data()); - switch (variable) { -#if ENABLE(NETSCAPE_PLUGIN_API) - case NPNVWindowNPObject: { - if (m_isJavaScriptPaused) - return NPERR_GENERIC_ERROR; - - NPObject* windowScriptObject = m_parentFrame->script()->windowScriptNPObject(); - - // Return value is expected to be retained, as described here: <http://www.mozilla.org/projects/plugin/npruntime.html> - if (windowScriptObject) - _NPN_RetainObject(windowScriptObject); - - void** v = (void**)value; - *v = windowScriptObject; - - return NPERR_NO_ERROR; - } - - case NPNVPluginElementNPObject: { - if (m_isJavaScriptPaused) - return NPERR_GENERIC_ERROR; - - NPObject* pluginScriptObject = 0; - - if (m_element->hasTagName(appletTag) || m_element->hasTagName(embedTag) || m_element->hasTagName(objectTag)) - pluginScriptObject = static_cast<HTMLPlugInElement*>(m_element)->getNPObject(); - - // Return value is expected to be retained, as described here: <http://www.mozilla.org/projects/plugin/npruntime.html> - if (pluginScriptObject) - _NPN_RetainObject(pluginScriptObject); - - void** v = (void**)value; - *v = pluginScriptObject; - - return NPERR_NO_ERROR; - } -#endif - case NPNVnetscapeWindow: { HWND* w = reinterpret_cast<HWND*>(value); - *w = windowHandleForPageClient(parent() ? parent()->hostWindow()->platformPageClient() : 0); - - return NPERR_NO_ERROR; + *result = NPERR_NO_ERROR; + return true; } case NPNVSupportsWindowless: { - NPBool *result = reinterpret_cast<NPBool*>(value); - - *result = TRUE; - - return NPERR_NO_ERROR; + NPBool* flag = reinterpret_cast<NPBool*>(value); + *flag = TRUE; + *result = NPERR_NO_ERROR; + return true; } - default: - return NPERR_GENERIC_ERROR; + default: + return false; } } @@ -1011,7 +968,7 @@ bool PluginView::platformStart() HWND parentWindowHandle = windowHandleForPageClient(m_parentFrame->view()->hostWindow()->platformPageClient()); HWND window = ::CreateWindowEx(0, kWebPluginViewdowClassName, 0, flags, - 0, 0, 0, 0, parentWindowHandle, 0, Page::instanceHandle(), 0); + 0, 0, 0, 0, parentWindowHandle, 0, WebCore::instanceHandle(), 0); #if OS(WINDOWS) && (PLATFORM(QT) || PLATFORM(WX)) m_window = window; |