summaryrefslogtreecommitdiffstats
path: root/content/renderer/browser_plugin/browser_plugin_bindings.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/browser_plugin/browser_plugin_bindings.cc')
-rw-r--r--content/renderer/browser_plugin/browser_plugin_bindings.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/content/renderer/browser_plugin/browser_plugin_bindings.cc b/content/renderer/browser_plugin/browser_plugin_bindings.cc
index 2bf0387..a6cfb39 100644
--- a/content/renderer/browser_plugin/browser_plugin_bindings.cc
+++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc
@@ -54,6 +54,7 @@ const char kAttributeMaxHeight[] = "maxHeight";
const char kAttributeMaxWidth[] = "maxWidth";
const char kAttributeMinHeight[] = "minHeight";
const char kAttributeMinWidth[] = "minWidth";
+const char kAttributeName[] = "name";
const char kAttributePartition[] = "partition";
const char kAttributeSrc[] = "src";
@@ -576,6 +577,33 @@ class BrowserPluginPropertyBindingMinWidth
DISALLOW_COPY_AND_ASSIGN(BrowserPluginPropertyBindingMinWidth);
};
+class BrowserPluginPropertyBindingName
+ : public BrowserPluginPropertyBinding {
+ public:
+ BrowserPluginPropertyBindingName() :
+ BrowserPluginPropertyBinding(kAttributeName) {
+ }
+ virtual bool GetProperty(BrowserPluginBindings* bindings,
+ NPVariant* result) OVERRIDE {
+ std::string name = bindings->instance()->name_attribute();
+ return StringToNPVariant(name, result);
+ return true;
+ }
+ virtual bool SetProperty(BrowserPluginBindings* bindings,
+ NPObject* np_obj,
+ const NPVariant* variant) OVERRIDE {
+ std::string name = StringFromNPVariant(*variant);
+ bindings->instance()->SetNameAttribute(name);
+ return true;
+ }
+ virtual std::string GetDOMAttributeValue(
+ BrowserPlugin* browser_plugin) OVERRIDE {
+ return browser_plugin->name_attribute();
+ }
+ private:
+ DISALLOW_COPY_AND_ASSIGN(BrowserPluginPropertyBindingName);
+};
+
class BrowserPluginPropertyBindingPartition
: public BrowserPluginPropertyBinding {
public:
@@ -672,6 +700,7 @@ BrowserPluginBindings::BrowserPluginBindings(BrowserPlugin* instance)
property_bindings_.push_back(new BrowserPluginPropertyBindingMaxWidth);
property_bindings_.push_back(new BrowserPluginPropertyBindingMinHeight);
property_bindings_.push_back(new BrowserPluginPropertyBindingMinWidth);
+ property_bindings_.push_back(new BrowserPluginPropertyBindingName);
property_bindings_.push_back(new BrowserPluginPropertyBindingPartition);
property_bindings_.push_back(new BrowserPluginPropertyBindingSrc);
}