[Chromium] Implement PluginViewBase::getFormValue
authorbashi@chromium.org <bashi@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Dec 2011 03:39:51 +0000 (03:39 +0000)
committerbashi@chromium.org <bashi@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Dec 2011 03:39:51 +0000 (03:39 +0000)
https://bugs.webkit.org/show_bug.cgi?id=64434

Adds getFormValue() to WebPluginContainerImpl as an implementation of PluginViewBase::getFormValue().

Reviewed by Darin Fisher.

No new tests. No behavior change at this time. We should add a test for PPAPI after chromium supports the feature.

* public/WebPlugin.h: Added getFormValue().
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::getFormValue): Added.
* src/WebPluginContainerImpl.h: Added getFormValue().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@102873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebPlugin.h
Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
Source/WebKit/chromium/src/WebPluginContainerImpl.h

index cf1f767..d6005af 100644 (file)
@@ -1,3 +1,19 @@
+2011-12-14  Kenichi Ishibashi  <bashi@chromium.org>
+
+        [Chromium] Implement PluginViewBase::getFormValue
+        https://bugs.webkit.org/show_bug.cgi?id=64434
+
+        Adds getFormValue() to WebPluginContainerImpl as an implementation of PluginViewBase::getFormValue().
+
+        Reviewed by Darin Fisher.
+
+        No new tests. No behavior change at this time. We should add a test for PPAPI after chromium supports the feature.
+
+        * public/WebPlugin.h: Added getFormValue().
+        * src/WebPluginContainerImpl.cpp:
+        (WebKit::WebPluginContainerImpl::getFormValue): Added.
+        * src/WebPluginContainerImpl.h: Added getFormValue().
+
 2011-12-14  Sami Kyostila  <skyostil@chromium.org>
 
         [chromium] Fix CCLayerTreeHostTest shutdown race
index bd417c6..f0eeade 100644 (file)
@@ -58,6 +58,11 @@ public:
 
     virtual NPObject* scriptableObject() = 0;
 
+    // Returns true if the form submission value is successfully obtained
+    // from the plugin. The value would be associated with the name attribute
+    // of the corresponding object element.
+    virtual bool getFormValue(WebString&) { return false; }
+
     virtual void paint(WebCanvas*, const WebRect&) = 0;
 
     // Coordinates are relative to the containing window.
index 948f5d6..95eca88 100644 (file)
@@ -464,6 +464,16 @@ NPObject* WebPluginContainerImpl::scriptableObject()
     return m_webPlugin->scriptableObject();
 }
 
+bool WebPluginContainerImpl::getFormValue(String& value)
+{
+    WebString webValue;
+    if (m_webPlugin->getFormValue(webValue)) {
+        value = webValue;
+        return true;
+    }
+    return false;
+}
+
 void WebPluginContainerImpl::willDestroyPluginLoadObserver(WebPluginLoadObserver* observer)
 {
     size_t pos = m_pluginLoadObservers.find(observer);
index 3748f12..8d6794d 100644 (file)
@@ -38,6 +38,7 @@
 #include <wtf/OwnPtr.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
 
 struct NPObject;
 
@@ -70,6 +71,9 @@ public:
         return adoptRef(new WebPluginContainerImpl(element, webPlugin));
     }
 
+    // PluginViewBase methods
+    virtual bool getFormValue(String&);
+
     // Widget methods
     virtual void setFrameRect(const WebCore::IntRect&);
     virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&);