const WrapperTypeInfo* npObjectTypeInfo()
{
- static const WrapperTypeInfo typeInfo = { gin::kEmbedderBlink, 0, 0, 0, 0, 0, 0, 0, WrapperTypeObjectPrototype };
+ static const WrapperTypeInfo typeInfo = { gin::kEmbedderBlink, 0, 0, 0, 0, 0, 0, 0, WrapperTypeObjectPrototype, false };
return &typeInfo;
}
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
-static v8::Local<v8::Context> toV8Context(NPP npp, NPObject* npObject)
+static v8::Local<v8::Context> mainWorldContext(v8::Isolate* isolate, NPP npp, NPObject* npObject)
{
ASSERT(npObject->_class == &V8NPObjectClass);
V8NPObject* object = reinterpret_cast<V8NPObject*>(npObject);
DOMWindow* window = object->rootObject;
if (!window || !window->isCurrentlyDisplayedInFrame())
return v8::Local<v8::Context>();
- return ScriptController::mainWorldContext(object->rootObject->frame());
+ return toV8Context(isolate, object->rootObject->frame(), DOMWrapperWorld::mainWorld());
}
static PassOwnPtr<v8::Handle<v8::Value>[]> createValueListFromVariantArgs(const NPVariant* arguments, uint32_t argumentCount, NPObject* owner, v8::Isolate* isolate)
return reinterpret_cast<NPObject*>(v8npObject);
}
}
+ objectVector = &iter->value;
} else {
- iter = v8NPObjectMap->set(v8ObjectHash, V8NPObjectVector()).iterator;
+ objectVector = &v8NPObjectMap->set(v8ObjectHash, V8NPObjectVector()).storedValue->value;
}
- objectVector = &iter->value;
}
V8NPObject* v8npObject = reinterpret_cast<V8NPObject*>(_NPN_CreateObject(npp, &V8NPObjectClass));
v8::HandleScope handleScope(isolate);
// FIXME: should use the plugin's owner frame as the security context.
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
VOID_TO_NPVARIANT(*result);
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
if (V8NPObject* object = npObjectToV8NPObject(npObject)) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
if (V8NPObject* object = npObjectToV8NPObject(npObject)) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Context::Scope scope(context);
if (V8NPObject* object = npObjectToV8NPObject(npObject)) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Context::Scope scope(context);
if (V8NPObject* object = npObjectToV8NPObject(npObject)) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Context::Scope scope(context);
return;
}
- v8::HandleScope handleScope(v8::Isolate::GetCurrent());
- v8::Handle<v8::Context> context = toV8Context(0, npObject);
+ v8::Isolate* isolate = v8::Isolate::GetCurrent();
+ v8::HandleScope handleScope(isolate);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, 0, npObject);
if (context.IsEmpty())
return;
if (V8NPObject* object = npObjectToV8NPObject(npObject)) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope handleScope(isolate);
- v8::Local<v8::Context> context = toV8Context(npp, npObject);
+ v8::Local<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Context::Scope scope(context);
if (V8NPObject* object = npObjectToV8NPObject(npObject)) {
v8::HandleScope handleScope(isolate);
- v8::Handle<v8::Context> context = toV8Context(npp, npObject);
+ v8::Handle<v8::Context> context = mainWorldContext(isolate, npp, npObject);
if (context.IsEmpty())
return false;
v8::Context::Scope scope(context);