| Index: content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| diff --git a/content/renderer/browser_plugin/browser_plugin_bindings.cc b/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| index 624e19f88e5f65047960943516d472f3ece0ade7..6758242b9a83186c9926df14c6f4ac8ee077509b 100644
|
| --- a/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| +++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| @@ -51,18 +51,6 @@ std::string StringFromNPVariant(const NPVariant& variant) {
|
| return std::string(np_string.UTF8Characters, np_string.UTF8Length);
|
| }
|
|
|
| -bool StringToNPVariant(const std::string &in, NPVariant *variant) {
|
| - size_t length = in.size();
|
| - NPUTF8 *chars = static_cast<NPUTF8 *>(malloc(length));
|
| - if (!chars) {
|
| - VOID_TO_NPVARIANT(*variant);
|
| - return false;
|
| - }
|
| - memcpy(chars, in.c_str(), length);
|
| - STRINGN_TO_NPVARIANT(chars, length, *variant);
|
| - return true;
|
| -}
|
| -
|
| // Depending on where the attribute comes from it could be a string, int32,
|
| // or a double. Javascript tends to produce an int32 or a string, but setting
|
| // the value from the developer tools console may also produce a double.
|
| @@ -515,97 +503,6 @@ class BrowserPluginPropertyBindingMinWidth
|
| DISALLOW_COPY_AND_ASSIGN(BrowserPluginPropertyBindingMinWidth);
|
| };
|
|
|
| -class BrowserPluginPropertyBindingPartition
|
| - : public BrowserPluginPropertyBinding {
|
| - public:
|
| - BrowserPluginPropertyBindingPartition()
|
| - : BrowserPluginPropertyBinding(browser_plugin::kAttributePartition) {
|
| - }
|
| - virtual bool GetProperty(BrowserPluginBindings* bindings,
|
| - NPVariant* result) OVERRIDE {
|
| - std::string partition_id = bindings->instance()->GetPartitionAttribute();
|
| - return StringToNPVariant(partition_id, result);
|
| - }
|
| - virtual bool SetProperty(BrowserPluginBindings* bindings,
|
| - NPObject* np_obj,
|
| - const NPVariant* variant) OVERRIDE {
|
| - std::string new_value = StringFromNPVariant(*variant);
|
| - std::string old_value = bindings->instance()->GetPartitionAttribute();
|
| - if (old_value != new_value) {
|
| - UpdateDOMAttribute(bindings, new_value);
|
| - std::string error_message;
|
| - if (!bindings->instance()->ParsePartitionAttribute(&error_message)) {
|
| - // Reset to old value on error.
|
| - UpdateDOMAttribute(bindings, old_value);
|
| - // Exceptions must be set as the last operation before returning to
|
| - // script.
|
| - WebBindings::setException(
|
| - np_obj, static_cast<const NPUTF8 *>(error_message.c_str()));
|
| - return false;
|
| - }
|
| - }
|
| - return true;
|
| - }
|
| - virtual void RemoveProperty(BrowserPluginBindings* bindings,
|
| - NPObject* np_obj) OVERRIDE {
|
| - std::string error_message;
|
| - if (bindings->instance()->CanRemovePartitionAttribute(&error_message)) {
|
| - bindings->instance()->RemoveDOMAttribute(name());
|
| - } else {
|
| - WebBindings::setException(
|
| - np_obj, static_cast<const NPUTF8 *>(error_message.c_str()));
|
| - }
|
| - }
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(BrowserPluginPropertyBindingPartition);
|
| -};
|
| -
|
| -class BrowserPluginPropertyBindingSrc : public BrowserPluginPropertyBinding {
|
| - public:
|
| - BrowserPluginPropertyBindingSrc()
|
| - : BrowserPluginPropertyBinding(browser_plugin::kAttributeSrc) {
|
| - }
|
| - virtual bool GetProperty(BrowserPluginBindings* bindings,
|
| - NPVariant* result) OVERRIDE {
|
| - std::string src = bindings->instance()->GetSrcAttribute();
|
| - return StringToNPVariant(src, result);
|
| - }
|
| - virtual bool SetProperty(BrowserPluginBindings* bindings,
|
| - NPObject* np_obj,
|
| - const NPVariant* variant) OVERRIDE {
|
| - std::string new_value = StringFromNPVariant(*variant);
|
| - // We should not be issuing navigation IPCs if we attempt to set the
|
| - // src property to the empty string. Instead, we want to simply restore
|
| - // the src attribute back to its old value.
|
| - if (new_value.empty()) {
|
| - return true;
|
| - }
|
| - std::string old_value = bindings->instance()->GetSrcAttribute();
|
| - // If the new value was empty then we're effectively resetting the
|
| - // attribute to the old value here. This will be picked up by <webview>'s
|
| - // mutation observer and will restore the src attribute after it has been
|
| - // removed.
|
| - UpdateDOMAttribute(bindings, new_value);
|
| - std::string error_message;
|
| - if (!bindings->instance()->ParseSrcAttribute(&error_message)) {
|
| - // Reset to old value on error.
|
| - UpdateDOMAttribute(bindings, old_value);
|
| - // Exceptions must be set as the last operation before returning to
|
| - // script.
|
| - WebBindings::setException(
|
| - np_obj, static_cast<const NPUTF8 *>(error_message.c_str()));
|
| - return false;
|
| - }
|
| - return true;
|
| - }
|
| - virtual void RemoveProperty(BrowserPluginBindings* bindings,
|
| - NPObject* np_obj) OVERRIDE {
|
| - bindings->instance()->RemoveDOMAttribute(name());
|
| - }
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(BrowserPluginPropertyBindingSrc);
|
| -};
|
| -
|
|
|
| // BrowserPluginBindings ------------------------------------------------------
|
|
|
| @@ -635,8 +532,6 @@ 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 BrowserPluginPropertyBindingPartition);
|
| - property_bindings_.push_back(new BrowserPluginPropertyBindingSrc);
|
| }
|
|
|
| BrowserPluginBindings::~BrowserPluginBindings() {
|
|
|