[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