| 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 509ace278428444cfd7c37a62aed318108fa552f..4284e2b0c0431a0d3a2d279c31755149be7622b7 100644
|
| --- a/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| +++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc
|
| @@ -231,9 +231,7 @@ class BrowserPluginMethodBinding {
|
| class BrowserPluginBindingAttach: public BrowserPluginMethodBinding {
|
| public:
|
| BrowserPluginBindingAttach()
|
| - : BrowserPluginMethodBinding(
|
| - browser_plugin::kMethodInternalAttach, 1) {
|
| - }
|
| + : BrowserPluginMethodBinding(browser_plugin::kMethodInternalAttach, 2) {}
|
|
|
| virtual bool Invoke(BrowserPluginBindings* bindings,
|
| const NPVariant* args,
|
| @@ -241,8 +239,12 @@ class BrowserPluginBindingAttach: public BrowserPluginMethodBinding {
|
| if (!bindings->instance()->render_view())
|
| return false;
|
|
|
| + int instance_id = IntFromNPVariant(args[0]);
|
| + if (!instance_id)
|
| + return false;
|
| +
|
| scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
|
| - v8::Handle<v8::Value> obj(blink::WebBindings::toV8Value(&args[0]));
|
| + v8::Handle<v8::Value> obj(blink::WebBindings::toV8Value(&args[1]));
|
| scoped_ptr<base::Value> value(
|
| converter->FromV8Value(obj, bindings->instance()->render_view()->
|
| GetWebView()->mainFrame()->mainWorldScriptContext()));
|
| @@ -254,7 +256,7 @@ class BrowserPluginBindingAttach: public BrowserPluginMethodBinding {
|
|
|
| scoped_ptr<base::DictionaryValue> extra_params(
|
| static_cast<base::DictionaryValue*>(value.release()));
|
| - bindings->instance()->Attach(extra_params.Pass());
|
| + bindings->instance()->Attach(instance_id, extra_params.Pass());
|
| return true;
|
| }
|
|
|
| @@ -262,28 +264,6 @@ class BrowserPluginBindingAttach: public BrowserPluginMethodBinding {
|
| DISALLOW_COPY_AND_ASSIGN(BrowserPluginBindingAttach);
|
| };
|
|
|
| -class BrowserPluginBindingAttachWindowTo : public BrowserPluginMethodBinding {
|
| - public:
|
| - BrowserPluginBindingAttachWindowTo()
|
| - : BrowserPluginMethodBinding(
|
| - browser_plugin::kMethodInternalAttachWindowTo, 2) {
|
| - }
|
| -
|
| - virtual bool Invoke(BrowserPluginBindings* bindings,
|
| - const NPVariant* args,
|
| - NPVariant* result) OVERRIDE {
|
| - blink::WebNode node;
|
| - WebBindings::getNode(NPVARIANT_TO_OBJECT(args[0]), &node);
|
| - int window_id = IntFromNPVariant(args[1]);
|
| - BOOLEAN_TO_NPVARIANT(BrowserPlugin::AttachWindowTo(node, window_id),
|
| - *result);
|
| - return true;
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(BrowserPluginBindingAttachWindowTo);
|
| -};
|
| -
|
| // BrowserPluginPropertyBinding ------------------------------------------------
|
|
|
| class BrowserPluginPropertyBinding {
|
| @@ -671,7 +651,6 @@ BrowserPluginBindings::BrowserPluginBindings(BrowserPlugin* instance)
|
| np_object_->message_channel = weak_ptr_factory_.GetWeakPtr();
|
|
|
| method_bindings_.push_back(new BrowserPluginBindingAttach);
|
| - method_bindings_.push_back(new BrowserPluginBindingAttachWindowTo);
|
|
|
| property_bindings_.push_back(
|
| new BrowserPluginPropertyBindingAllowTransparency);
|
|
|