[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 15:31:25 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 8a1511be400354c6aaf0b296674f83c957833232
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Nov 5 17:58:18 2010 +0000
Implement pluginElementNPObject
https://bugs.webkit.org/show_bug.cgi?id=49077
Reviewed by Adam Roben.
WebKit2:
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::pluginElementNPObject):
Send the GetPluginElementNPObject message.
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::getPluginElementNPObject):
Get the plug-in element NPObject and expose it to the other side of the connection.
* WebProcess/Plugins/PluginProxy.messages.in:
Add GetPluginElementNPObject.
LayoutTests:
Remove now passing test.
* platform/mac-snowleopard/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index e8eb5b5..8275e16 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2010-11-05 Anders Carlsson <andersca at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement pluginElementNPObject
+ https://bugs.webkit.org/show_bug.cgi?id=49077
+
+ Remove now passing test.
+
+ * platform/mac-snowleopard/Skipped:
+
2010-11-04 Ryosuke Niwa <rniwa at webkit.org>
Reviewed by Darin Adler.
diff --git a/LayoutTests/platform/mac-snowleopard/Skipped b/LayoutTests/platform/mac-snowleopard/Skipped
index 20fde57..d461dc7 100644
--- a/LayoutTests/platform/mac-snowleopard/Skipped
+++ b/LayoutTests/platform/mac-snowleopard/Skipped
@@ -12,7 +12,6 @@ plugins/private-browsing-mode.html
plugins/private-browsing-mode-2.html
plugins/netscape-plugin-property-access-exception.html
plugins/npruntime/throw-exception.html
-plugins/netscape-dom-access.html
plugins/npruntime/browser-object-identity.html
plugins/destroy-plugin-from-callback.html
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 4ae9f9d..d9092aa 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,21 @@
+2010-11-05 Anders Carlsson <andersca at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement pluginElementNPObject
+ https://bugs.webkit.org/show_bug.cgi?id=49077
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::pluginElementNPObject):
+ Send the GetPluginElementNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getPluginElementNPObject):
+ Get the plug-in element NPObject and expose it to the other side of the connection.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add GetPluginElementNPObject.
+
2010-11-04 Anders Carlsson <andersca at apple.com>
Reviewed by Oliver Hunt.
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.cpp b/WebKit2/PluginProcess/PluginControllerProxy.cpp
index 6beb25a..0ac6483 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.cpp
+++ b/WebKit2/PluginProcess/PluginControllerProxy.cpp
@@ -180,8 +180,15 @@ NPObject* PluginControllerProxy::windowScriptNPObject()
NPObject* PluginControllerProxy::pluginElementNPObject()
{
- notImplemented();
- return 0;
+ uint64_t pluginElementNPObjectID = 0;
+
+ if (!m_connection->connection()->sendSync(Messages::PluginProxy::GetPluginElementNPObject(), Messages::PluginProxy::GetPluginElementNPObject::Reply(pluginElementNPObjectID), m_pluginInstanceID))
+ return 0;
+
+ if (!pluginElementNPObjectID)
+ return 0;
+
+ return m_connection->npRemoteObjectMap()->createNPObjectProxy(pluginElementNPObjectID);
}
bool PluginControllerProxy::evaluate(NPObject*, const String& scriptString, NPVariant* result, bool allowPopups)
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.cpp b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
index 983d40e..e77310d 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
@@ -367,6 +367,18 @@ void PluginProxy::getWindowScriptNPObject(uint64_t& windowScriptNPObjectID)
releaseNPObject(windowScriptNPObject);
}
+void PluginProxy::getPluginElementNPObject(uint64_t& pluginElementNPObjectID)
+{
+ NPObject* pluginElementNPObject = m_pluginController->pluginElementNPObject();
+ if (!pluginElementNPObject) {
+ pluginElementNPObjectID = 0;
+ return;
+ }
+
+ pluginElementNPObjectID = m_connection->npRemoteObjectMap()->registerNPObject(pluginElementNPObject);
+ releaseNPObject(pluginElementNPObject);
+}
+
void PluginProxy::update(const IntRect& paintedRect)
{
if (paintedRect == m_frameRect)
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.h b/WebKit2/WebProcess/Plugins/PluginProxy.h
index 38cf676..059eafe 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.h
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.h
@@ -109,6 +109,7 @@ private:
void cookiesForURL(const String& urlString, String& cookieString);
void setCookiesForURL(const String& urlString, const String& cookieString);
void getWindowScriptNPObject(uint64_t& windowScriptNPObjectID);
+ void getPluginElementNPObject(uint64_t& pluginElementNPObjectID);
RefPtr<PluginProcessConnection> m_connection;
uint64_t m_pluginInstanceID;
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.messages.in b/WebKit2/WebProcess/Plugins/PluginProxy.messages.in
index 3a844f2..7bf8573 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.messages.in
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.messages.in
@@ -40,6 +40,10 @@ messages -> PluginProxy {
# Gets a reference to the window NPObject.
GetWindowScriptNPObject() -> (uint64_t windowScriptNPObjectID)
+
+ # Gets a reference to the plug-in element NPObject.
+ GetPluginElementNPObject() -> (uint64_t pluginElementNPObjectID)
+
}
#endif
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list