[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

andersca at apple.com andersca at apple.com
Wed Dec 22 11:34:51 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5878652624ef47739826af481642e5a00e19b2e2
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jul 29 20:41:00 2010 +0000

    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.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 309dc56..c44f18a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,17 @@
+2010-07-29  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Implement NPN_Status
+        https://bugs.webkit.org/show_bug.cgi?id=43205
+
+        * platform/mac-wk2/Skipped:
+        
+        Add plugins/access-after-page-destroyed.html since we don't support 
+        layoutTestController.setCanOpenWindows.
+
+        Remove plugins/set-status.html.
+
 2010-07-27  Ojan Vafai  <ojan at chromium.org>
 
         Reviewed by Adam Barth.
diff --git a/LayoutTests/platform/mac-wk2/Skipped b/LayoutTests/platform/mac-wk2/Skipped
index 99ca9e9..993517e 100644
--- a/LayoutTests/platform/mac-wk2/Skipped
+++ b/LayoutTests/platform/mac-wk2/Skipped
@@ -1425,7 +1425,6 @@ plugins/resize-from-plugin.html
 plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
 plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html
 plugins/return-negative-one-from-write.html
-plugins/set-status.html
 plugins/update-widgets-crash.html
 plugins/window-open.html
 
@@ -1644,6 +1643,7 @@ fast/loader/stateobjects/replacestate-in-iframe.html
 fast/loader/stateobjects/replacestate-then-pushstate.html
 fast/loader/stateobjects/replacestate-updates-location.html
 fast/parser/xhtml-close-while-parsing.xhtml
+plugins/access-after-page-destroyed.html
 http/tests/appcache/crash-when-navigating-away-then-back.html
 http/tests/media/video-cancel-load.html
 http/tests/misc/set-window-opener-to-null.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1eac9e4..951bd6a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-29  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Implement NPN_Status
+        https://bugs.webkit.org/show_bug.cgi?id=43205
+
+        * WebCore.exp.in:
+        Export Chrome::setStatusText.
+
 2010-07-29  Victor Wang  <victorw at chromium.org>
 
         Unreviewed, rolling out r64270.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index 664a8e8..0c137c9 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -596,6 +596,7 @@ __ZN7WebCore5Range6setEndEN3WTF10PassRefPtrINS_4NodeEEEiRi
 __ZN7WebCore5Range8setStartEN3WTF10PassRefPtrINS_4NodeEEEiRi
 __ZN7WebCore5RangeD1Ev
 __ZN7WebCore5cacheEv
+__ZN7WebCore6Chrome16setStatusbarTextEPNS_5FrameERKNS_6StringE
 __ZN7WebCore6Cursor8fromTypeENS0_4TypeE
 __ZN7WebCore6CursorD1Ev
 __ZN7WebCore6CursoraSERKS0_
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 018453f..b3cc35c 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,25 @@
+2010-07-29  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Implement NPN_Status
+        https://bugs.webkit.org/show_bug.cgi?id=43205
+
+        * 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.
+
 2010-07-29  Adam Roben  <aroben at apple.com>
 
         Always say "plugins directory" when referring to a directory
diff --git a/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp b/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
index 6c931b7..ea6b18a 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
+++ b/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
@@ -313,9 +313,16 @@ static NPError NPN_DestroyStream(NPP npp, NPStream* stream, NPReason reason)
     return plugin->destroyStream(stream, reason);
 }
 
-static void NPN_Status(NPP instance, const char* message)
+static void NPN_Status(NPP npp, const char* message)
 {
-    notImplemented();
+    String statusbarText;
+    if (!message)
+        statusbarText = "";
+    else
+        statusbarText = String::fromUTF8WithLatin1Fallback(message, strlen(message));
+
+    RefPtr<NetscapePlugin> plugin = NetscapePlugin::fromNPP(npp);
+    plugin->setStatusbarText(statusbarText);
 }
     
 static const char* NPN_UserAgent(NPP npp)
diff --git a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
index e0f28c1..eeb9ea7 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
+++ b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
@@ -143,6 +143,11 @@ NPError NetscapePlugin::destroyStream(NPStream* stream, NPReason reason)
     return pluginStream->destroy(reason);
 }
 
+void NetscapePlugin::setStatusbarText(const String& statusbarText)
+{
+    m_pluginController->setStatusbarText(statusbarText);
+}
+
 NPObject* NetscapePlugin::windowScriptNPObject()
 {
     return m_pluginController->windowScriptNPObject();
diff --git a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
index 636a059..f0b987e 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
+++ b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
@@ -59,6 +59,7 @@ public:
     void loadURL(const WebCore::String& method, const WebCore::String& urlString, const WebCore::String& target, const WebCore::HTTPHeaderMap& headerFields,
                  const Vector<char>& httpBody, bool sendNotification, void* notificationData);
     NPError destroyStream(NPStream*, NPReason);
+    void setStatusbarText(const WebCore::String&);
 
     // These return retained objects.
     NPObject* windowScriptNPObject();
diff --git a/WebKit2/WebProcess/Plugins/PluginController.h b/WebKit2/WebProcess/Plugins/PluginController.h
index 2dd6b8b..1d8eb38 100644
--- a/WebKit2/WebProcess/Plugins/PluginController.h
+++ b/WebKit2/WebProcess/Plugins/PluginController.h
@@ -64,6 +64,9 @@ public:
     // Get the NPObject that corresponds to the plug-in's element. Returns a retained object.
     virtual NPObject* pluginElementNPObject() = 0;
 
+    // Set the statusbar text.
+    virtual void setStatusbarText(const WebCore::String&) = 0;
+
 protected:
     virtual ~PluginController() { }
 };
diff --git a/WebKit2/WebProcess/Plugins/PluginView.cpp b/WebKit2/WebProcess/Plugins/PluginView.cpp
index b799d4a..9f6b9c7 100644
--- a/WebKit2/WebProcess/Plugins/PluginView.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginView.cpp
@@ -29,6 +29,7 @@
 #include "Plugin.h"
 #include "WebEvent.h"
 #include "WebPage.h"
+#include <WebCore/Chrome.h>
 #include <WebCore/DocumentLoader.h>
 #include <WebCore/Event.h>
 #include <WebCore/FocusController.h>
@@ -635,6 +636,18 @@ NPObject* PluginView::pluginElementNPObject()
     return m_npRuntimeObjectMap.getOrCreateNPObject(object);
 }
 
+void PluginView::setStatusbarText(const String& statusbarText)
+{
+    if (!frame())
+        return;
+    
+    Page* page = frame()->page();
+    if (!page)
+        return;
+
+    page->chrome()->setStatusbarText(frame(), statusbarText);
+}
+
 void PluginView::didFinishLoad(WebFrame* webFrame)
 {
     RefPtr<URLRequest> request = m_pendingFrameLoads.take(webFrame);
diff --git a/WebKit2/WebProcess/Plugins/PluginView.h b/WebKit2/WebProcess/Plugins/PluginView.h
index 0dd80df..a440115 100644
--- a/WebKit2/WebProcess/Plugins/PluginView.h
+++ b/WebKit2/WebProcess/Plugins/PluginView.h
@@ -103,6 +103,7 @@ private:
     virtual void cancelStreamLoad(uint64_t streamID);
     virtual NPObject* windowScriptNPObject();
     virtual NPObject* pluginElementNPObject();
+    virtual void setStatusbarText(const WebCore::String&);
 
     // WebFrame::LoadListener
     virtual void didFinishLoad(WebFrame*);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list