| Index: Source/web/WebBindings.cpp
|
| diff --git a/Source/web/WebBindings.cpp b/Source/web/WebBindings.cpp
|
| index 75b047f70aebf2425a862da89958291c40e7b0e9..48bf15d64543a7dbfc62d98063031b572351666f 100644
|
| --- a/Source/web/WebBindings.cpp
|
| +++ b/Source/web/WebBindings.cpp
|
| @@ -254,6 +254,20 @@ static bool getNodeImpl(NPObject* object, WebNode* webNode, v8::Isolate* isolate
|
| return true;
|
| }
|
|
|
| +static bool getNodeFromV8ObjectImpl(v8::Handle<v8::Object> obj, blink::WebNode* node)
|
| +{
|
| + if (obj.IsEmpty())
|
| + return false;
|
| +
|
| + v8::Isolate* isolate = v8::Isolate::GetCurrent();
|
| + Element* native = V8Element::hasInstance(obj, isolate) ? V8Element::toNative(obj) : 0;
|
| + if (!native)
|
| + return false;
|
| +
|
| + *node = WebNode(native);
|
| + return true;
|
| +}
|
| +
|
| static bool getElementImpl(NPObject* object, WebElement* webElement, v8::Isolate* isolate)
|
| {
|
| if (!object)
|
| @@ -359,6 +373,11 @@ bool WebBindings::getNode(NPObject* node, WebNode* webNode)
|
| return getNodeImpl(node, webNode, v8::Isolate::GetCurrent());
|
| }
|
|
|
| +bool WebBindings::getNodeFromV8Object(v8::Handle<v8::Object> obj, WebNode* webNode)
|
| +{
|
| + return getNodeFromV8ObjectImpl(obj, webNode);
|
| +}
|
| +
|
| bool WebBindings::getElement(NPObject* element, WebElement* webElement)
|
| {
|
| return getElementImpl(element, webElement, v8::Isolate::GetCurrent());
|
|
|