Changeset 64304 in webkit


Ignore:
Timestamp:
Jul 29, 2010 1:41:00 PM (14 years ago)
Author:
andersca@apple.com
Message:

Implement NPN_Status
https://bugs.webkit.org/show_bug.cgi?id=43205

Reviewed by Sam Weinig.

WebCore:

  • WebCore.exp.in:

Export Chrome::setStatusText.

WebKit2:

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_Status):
Convert the message char* to a String and call NetscapePlugin::setStatusbarText.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::setStatusbarText):
Call PluginController::setStatusbarText.

  • WebProcess/Plugins/PluginController.h:

Add setStatusbarText.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setStatusbarText):
Call the Chrome member function.

LayoutTests:

  • platform/mac-wk2/Skipped:

Add plugins/access-after-page-destroyed.html since we don't support
layoutTestController.setCanOpenWindows.

Remove plugins/set-status.html.

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r64303 r64304  
     12010-07-29  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Implement NPN_Status
     6        https://bugs.webkit.org/show_bug.cgi?id=43205
     7
     8        * platform/mac-wk2/Skipped:
     9       
     10        Add plugins/access-after-page-destroyed.html since we don't support
     11        layoutTestController.setCanOpenWindows.
     12
     13        Remove plugins/set-status.html.
     14
    1152010-07-27  Ojan Vafai  <ojan@chromium.org>
    216
  • trunk/LayoutTests/platform/mac-wk2/Skipped

    r64251 r64304  
    14261426plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html
    14271427plugins/return-negative-one-from-write.html
    1428 plugins/set-status.html
    14291428plugins/update-widgets-crash.html
    14301429plugins/window-open.html
     
    16451644fast/loader/stateobjects/replacestate-updates-location.html
    16461645fast/parser/xhtml-close-while-parsing.xhtml
     1646plugins/access-after-page-destroyed.html
    16471647http/tests/appcache/crash-when-navigating-away-then-back.html
    16481648http/tests/media/video-cancel-load.html
  • trunk/WebCore/ChangeLog

    r64299 r64304  
     12010-07-29  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Implement NPN_Status
     6        https://bugs.webkit.org/show_bug.cgi?id=43205
     7
     8        * WebCore.exp.in:
     9        Export Chrome::setStatusText.
     10
    1112010-07-29  Victor Wang  <victorw@chromium.org>
    212
  • trunk/WebCore/WebCore.exp.in

    r64299 r64304  
    597597__ZN7WebCore5RangeD1Ev
    598598__ZN7WebCore5cacheEv
     599__ZN7WebCore6Chrome16setStatusbarTextEPNS_5FrameERKNS_6StringE
    599600__ZN7WebCore6Cursor8fromTypeENS0_4TypeE
    600601__ZN7WebCore6CursorD1Ev
  • trunk/WebKit2/ChangeLog

    r64300 r64304  
     12010-07-29  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Implement NPN_Status
     6        https://bugs.webkit.org/show_bug.cgi?id=43205
     7
     8        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
     9        (WebKit::NPN_Status):
     10        Convert the message char* to a String and call NetscapePlugin::setStatusbarText.
     11
     12        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
     13        (WebKit::NetscapePlugin::setStatusbarText):
     14        Call PluginController::setStatusbarText.
     15   
     16        * WebProcess/Plugins/PluginController.h:
     17        Add setStatusbarText.
     18
     19        * WebProcess/Plugins/PluginView.cpp:
     20        (WebKit::PluginView::setStatusbarText):
     21        Call the Chrome member function.
     22
    1232010-07-29  Adam Roben  <aroben@apple.com>
    224
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp

    r64248 r64304  
    314314}
    315315
    316 static void NPN_Status(NPP instance, const char* message)
    317 {
    318     notImplemented();
     316static void NPN_Status(NPP npp, const char* message)
     317{
     318    String statusbarText;
     319    if (!message)
     320        statusbarText = "";
     321    else
     322        statusbarText = String::fromUTF8WithLatin1Fallback(message, strlen(message));
     323
     324    RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
     325    plugin->setStatusbarText(statusbarText);
    319326}
    320327   
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp

    r64154 r64304  
    144144}
    145145
     146void NetscapePlugin::setStatusbarText(const String& statusbarText)
     147{
     148    m_pluginController->setStatusbarText(statusbarText);
     149}
     150
    146151NPObject* NetscapePlugin::windowScriptNPObject()
    147152{
  • trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h

    r64154 r64304  
    6060                 const Vector<char>& httpBody, bool sendNotification, void* notificationData);
    6161    NPError destroyStream(NPStream*, NPReason);
     62    void setStatusbarText(const WebCore::String&);
    6263
    6364    // These return retained objects.
  • trunk/WebKit2/WebProcess/Plugins/PluginController.h

    r63701 r64304  
    6565    virtual NPObject* pluginElementNPObject() = 0;
    6666
     67    // Set the statusbar text.
     68    virtual void setStatusbarText(const WebCore::String&) = 0;
     69
    6770protected:
    6871    virtual ~PluginController() { }
  • trunk/WebKit2/WebProcess/Plugins/PluginView.cpp

    r64167 r64304  
    3030#include "WebEvent.h"
    3131#include "WebPage.h"
     32#include <WebCore/Chrome.h>
    3233#include <WebCore/DocumentLoader.h>
    3334#include <WebCore/Event.h>
     
    636637}
    637638
     639void PluginView::setStatusbarText(const String& statusbarText)
     640{
     641    if (!frame())
     642        return;
     643   
     644    Page* page = frame()->page();
     645    if (!page)
     646        return;
     647
     648    page->chrome()->setStatusbarText(frame(), statusbarText);
     649}
     650
    638651void PluginView::didFinishLoad(WebFrame* webFrame)
    639652{
  • trunk/WebKit2/WebProcess/Plugins/PluginView.h

    r64154 r64304  
    104104    virtual NPObject* windowScriptNPObject();
    105105    virtual NPObject* pluginElementNPObject();
     106    virtual void setStatusbarText(const WebCore::String&);
    106107
    107108    // WebFrame::LoadListener
Note: See TracChangeset for help on using the changeset viewer.