diff options
Diffstat (limited to 'content/renderer/browser_plugin/browser_plugin_bindings.cc')
-rw-r--r-- | content/renderer/browser_plugin/browser_plugin_bindings.cc | 29 |
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); } |