summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp')
-rw-r--r--chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp27
1 files changed, 4 insertions, 23 deletions
diff --git a/chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp b/chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp
index fcfb12f00e7..c9ef7c4195c 100644
--- a/chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp
+++ b/chromium/third_party/WebKit/Source/bindings/v8/DOMDataStore.cpp
@@ -37,40 +37,21 @@
namespace WebCore {
-DOMDataStore::DOMDataStore(WrapperWorldType type)
- : m_type(type)
+DOMDataStore::DOMDataStore(bool isMainWorld)
+ : m_isMainWorld(isMainWorld)
, m_wrapperMap(v8::Isolate::GetCurrent()) // FIXME Don't call GetCurrent twice.
{
- V8PerIsolateData::current()->registerDOMDataStore(this);
}
DOMDataStore::~DOMDataStore()
{
- ASSERT(m_type != MainWorld); // We never actually destruct the main world's DOMDataStore.
- V8PerIsolateData::current()->unregisterDOMDataStore(this);
+ ASSERT(!m_isMainWorld); // We never actually destruct the main world's DOMDataStore.
m_wrapperMap.clear();
}
-DOMDataStore& DOMDataStore::mainWorldStore()
-{
- DEFINE_STATIC_LOCAL(DOMDataStore, mainWorldDOMDataStore, (MainWorld));
- ASSERT(isMainThread());
- return mainWorldDOMDataStore;
-}
-
DOMDataStore& DOMDataStore::current(v8::Isolate* isolate)
{
- V8PerIsolateData* data = isolate ? V8PerIsolateData::from(isolate) : V8PerIsolateData::current();
- if (UNLIKELY(!!data->workerDOMDataStore()))
- return *data->workerDOMDataStore();
-
- if (DOMWrapperWorld::isolatedWorldsExist()) {
- DOMWrapperWorld* isolatedWorld = DOMWrapperWorld::isolatedWorld(isolate->GetEnteredContext());
- if (UNLIKELY(!!isolatedWorld))
- return isolatedWorld->isolatedWorldDOMDataStore();
- }
-
- return mainWorldStore();
+ return DOMWrapperWorld::current(isolate).domDataStore();
}
} // namespace WebCore