Changeset 63629 in webkit


Ignore:
Timestamp:
Jul 18, 2010 11:57:38 AM (14 years ago)
Author:
andersca@apple.com
Message:

Begin work on NPRuntime support
https://bugs.webkit.org/show_bug.cgi?id=42519

Reviewed by Dan Bernstein.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):
Handle NPNVWindowNPObject and NPNVPluginElementNPObject.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::windowScriptNPObject):
(WebKit::NetscapePlugin::pluginElementNPObject):
Call the plug-in controller.

  • WebProcess/Plugins/PluginController.h:

Add new windowScriptNPObject and pluginElementNPObject functions.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowScriptNPObject):
(WebKit::PluginView::pluginElementNPObject):
Add stubbed out functions.

Location:
trunk/WebKit2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r63628 r63629  
     12010-07-18  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Begin work on NPRuntime support
     6        https://bugs.webkit.org/show_bug.cgi?id=42519
     7
     8        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
     9        (WebKit::NPN_GetValue):
     10        Handle NPNVWindowNPObject and NPNVPluginElementNPObject.
     11
     12        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
     13        (WebKit::NetscapePlugin::windowScriptNPObject):
     14        (WebKit::NetscapePlugin::pluginElementNPObject):
     15        Call the plug-in controller.
     16
     17        * WebProcess/Plugins/PluginController.h:
     18        Add new windowScriptNPObject and pluginElementNPObject functions.
     19
     20        * WebProcess/Plugins/PluginView.cpp:
     21        (WebKit::PluginView::windowScriptNPObject):
     22        (WebKit::PluginView::pluginElementNPObject):
     23        Add stubbed out functions.
     24
    1252010-07-18  Anders Carlsson  <andersca@apple.com>
    226
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp

    r63628 r63629  
    149149}
    150150
    151 static NPError NPN_GetValue(NPP instance, NPNVariable variable, void *value)
     151static NPError NPN_GetValue(NPP npp, NPNVariable variable, void *value)
    152152{
    153153    switch (variable) {
     154        case NPNVWindowNPObject: {
     155            RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
     156
     157            NPObject* windowNPObject = plugin->windowScriptNPObject();
     158            *(NPObject**)value = windowNPObject;
     159            break;
     160        }
     161        case NPNVPluginElementNPObject: {
     162            RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
     163
     164            NPObject* pluginElementNPObject = plugin->pluginElementNPObject();
     165            *(NPObject**)value = pluginElementNPObject;
     166            break;
     167        }
    154168#if PLATFORM(MAC)
    155169        case NPNVsupportsCoreGraphicsBool:
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp

    r63612 r63629  
    144144}
    145145
     146NPObject* NetscapePlugin::windowScriptNPObject()
     147{
     148    return m_pluginController->windowScriptNPObject();
     149}
     150
     151NPObject* NetscapePlugin::pluginElementNPObject()
     152{
     153    return m_pluginController->pluginElementNPObject();
     154}
     155
    146156void NetscapePlugin::cancelStreamLoad(NetscapePluginStream* pluginStream)
    147157{
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h

    r63612 r63629  
    5555    void loadURL(const WebCore::String& urlString, const WebCore::String& target, bool sendNotification, void* notificationData);
    5656    NPError destroyStream(NPStream*, NPReason);
     57
     58    // These return retained objects.
     59    NPObject* windowScriptNPObject();
     60    NPObject* pluginElementNPObject();
    5761
    5862    void cancelStreamLoad(NetscapePluginStream*);
  • trunk/WebKit2/WebProcess/Plugins/PluginController.h

    r63473 r63629  
    2626#ifndef PluginController_h
    2727#define PluginController_h
     28
     29struct NPObject;
    2830
    2931namespace WebCore {
     
    5557    virtual void cancelStreamLoad(uint64_t streamID) = 0;
    5658
     59    // Get the NPObject that corresponds to the window JavaScript object. Returns a retained object.
     60    virtual NPObject* windowScriptNPObject() = 0;
     61
     62    // Get the NPObject that corresponds to the plug-in's element. Returns a retained object.
     63    virtual NPObject* pluginElementNPObject() = 0;
     64
    5765protected:
    5866    virtual ~PluginController() { }
  • trunk/WebKit2/WebProcess/Plugins/PluginView.cpp

    r63611 r63629  
    532532}
    533533
     534NPObject* PluginView::windowScriptNPObject()
     535{
     536    // FIXME: Implement.
     537    return 0;
     538}
     539
     540NPObject* PluginView::pluginElementNPObject()
     541{
     542    // FIXME: Implement.
     543    return 0;
     544}
     545
    534546void PluginView::didFinishLoad(WebFrame* webFrame)
    535547{
  • trunk/WebKit2/WebProcess/Plugins/PluginView.h

    r63611 r63629  
    9191    virtual void loadURL(uint64_t requestID, const WebCore::String& urlString, const WebCore::String& target, bool allowPopups);
    9292    virtual void cancelStreamLoad(uint64_t streamID);
     93    virtual NPObject* windowScriptNPObject();
     94    virtual NPObject* pluginElementNPObject();
    9395
    9496    // WebFrame::LoadListener
Note: See TracChangeset for help on using the changeset viewer.