| Index: Source/WebCore/bindings/v8/NPV8Object.cpp
|
| ===================================================================
|
| --- Source/WebCore/bindings/v8/NPV8Object.cpp (revision 97018)
|
| +++ Source/WebCore/bindings/v8/NPV8Object.cpp (working copy)
|
| @@ -31,6 +31,7 @@
|
| #include "PlatformSupport.h"
|
| #include "DOMWindow.h"
|
| #include "Frame.h"
|
| +#include "NPObjectWrapper.h"
|
| #include "OwnArrayPtr.h"
|
| #include "PlatformString.h"
|
| #include "ScriptSourceCode.h"
|
| @@ -283,8 +284,13 @@
|
| if (!npObject)
|
| return false;
|
|
|
| - if (npObject->_class != npScriptObjectClass)
|
| - return false;
|
| + if (npObject->_class != npScriptObjectClass) {
|
| + // Check if the object passed in is wrapped. If yes, then we need to invoke on the underlying object.
|
| + NPObject* actualObject = NPObjectWrapper::getUnderlyingNPObject(npObject);
|
| + if (!actualObject)
|
| + return false;
|
| + npObject = actualObject;
|
| + }
|
|
|
| v8::HandleScope handleScope;
|
| v8::Handle<v8::Context> context = toV8Context(npp, npObject);
|
|
|