| Index: Source/bindings/v8/DOMWrapperWorld.cpp
|
| diff --git a/Source/bindings/v8/DOMWrapperWorld.cpp b/Source/bindings/v8/DOMWrapperWorld.cpp
|
| index b469b2f149a2ca40c27b6e16f353a539f076d47b..a5e8cec381d44aafa73bf1ce567022e9a4723e0d 100644
|
| --- a/Source/bindings/v8/DOMWrapperWorld.cpp
|
| +++ b/Source/bindings/v8/DOMWrapperWorld.cpp
|
| @@ -32,6 +32,7 @@
|
| #include "DOMWrapperWorld.h"
|
|
|
| #include "DOMDataStore.h"
|
| +#include "ScriptExecutionContext.h"
|
| #include "V8Binding.h"
|
| #include "V8DOMActivityLogger.h"
|
| #include "V8DOMWindow.h"
|
| @@ -64,6 +65,16 @@ DOMWrapperWorld::DOMWrapperWorld(int worldId, int extensionGroup)
|
| m_domDataStore = adoptPtr(new DOMDataStore(IsolatedWorld));
|
| }
|
|
|
| +DOMWrapperWorld* DOMWrapperWorld::current(ScriptExecutionContext* scriptExecutionContext)
|
| +{
|
| + if (scriptExecutionContext->isWorkerContext())
|
| + return 0;
|
| + ASSERT(isMainThread());
|
| + ASSERT(v8::Context::InContext());
|
| + DOMWrapperWorld* world = isolatedWorld(v8::Context::GetCurrent());
|
| + return world ? world : mainThreadNormalWorld();
|
| +}
|
| +
|
| DOMWrapperWorld* mainThreadNormalWorld()
|
| {
|
| ASSERT(isMainThread());
|
|
|