summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/DOMWrapperWorld.h
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-06 11:45:16 +0100
committerSteve Block <steveblock@google.com>2011-05-12 13:44:10 +0100
commitcad810f21b803229eb11403f9209855525a25d57 (patch)
tree29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /WebCore/bindings/js/DOMWrapperWorld.h
parent121b0cf4517156d0ac5111caf9830c51b69bae8f (diff)
downloadexternal_webkit-cad810f21b803229eb11403f9209855525a25d57.zip
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'WebCore/bindings/js/DOMWrapperWorld.h')
-rw-r--r--WebCore/bindings/js/DOMWrapperWorld.h97
1 files changed, 0 insertions, 97 deletions
diff --git a/WebCore/bindings/js/DOMWrapperWorld.h b/WebCore/bindings/js/DOMWrapperWorld.h
deleted file mode 100644
index 35b68fc..0000000
--- a/WebCore/bindings/js/DOMWrapperWorld.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Samuel Weinig <sam@webkit.org>
- * Copyright (C) 2009 Google, Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef DOMWrapperWorld_h
-#define DOMWrapperWorld_h
-
-#include "Document.h"
-#include "JSDOMGlobalObject.h"
-#include "JSDOMWrapper.h"
-#include <runtime/WeakGCMap.h>
-#include <wtf/Forward.h>
-
-namespace WebCore {
-
-class ScriptController;
-
-typedef JSC::WeakGCMap<void*, DOMObject*> DOMObjectWrapperMap;
-typedef JSC::WeakGCMap<StringImpl*, JSC::JSString*> JSStringCache;
-
-class DOMWrapperWorld : public RefCounted<DOMWrapperWorld> {
-public:
- static PassRefPtr<DOMWrapperWorld> create(JSC::JSGlobalData* globalData, bool isNormal = false)
- {
- return adoptRef(new DOMWrapperWorld(globalData, isNormal));
- }
- ~DOMWrapperWorld();
-
- void registerWorld();
- void unregisterWorld();
-
- void didCreateWrapperCache(Document* document) { m_documentsWithWrapperCaches.add(document); }
- void didDestroyWrapperCache(Document* document) { m_documentsWithWrapperCaches.remove(document); }
-
- void didCreateWindowShell(ScriptController* scriptController) { m_scriptControllersWithWindowShells.add(scriptController); }
- void didDestroyWindowShell(ScriptController* scriptController) { m_scriptControllersWithWindowShells.remove(scriptController); }
-
- // FIXME: can we make this private?
- DOMObjectWrapperMap m_wrappers;
- JSStringCache m_stringCache;
-
- bool isNormal() const { return m_isNormal; }
-
-protected:
- DOMWrapperWorld(JSC::JSGlobalData*, bool isNormal);
-
-private:
- JSC::JSGlobalData* m_globalData;
- HashSet<Document*> m_documentsWithWrapperCaches;
- HashSet<ScriptController*> m_scriptControllersWithWindowShells;
- bool m_isNormal;
- bool m_isRegistered;
-};
-
-DOMWrapperWorld* normalWorld(JSC::JSGlobalData&);
-DOMWrapperWorld* mainThreadNormalWorld();
-inline DOMWrapperWorld* debuggerWorld() { return mainThreadNormalWorld(); }
-inline DOMWrapperWorld* pluginWorld() { return mainThreadNormalWorld(); }
-
-inline DOMWrapperWorld* currentWorld(JSC::ExecState* exec)
-{
- return static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->world();
-}
-
-// From Document.h
-
-inline Document::JSWrapperCache* Document::getWrapperCache(DOMWrapperWorld* world)
-{
- if (world->isNormal()) {
- if (Document::JSWrapperCache* wrapperCache = m_normalWorldWrapperCache)
- return wrapperCache;
- ASSERT(!m_wrapperCacheMap.contains(world));
- } else if (Document::JSWrapperCache* wrapperCache = m_wrapperCacheMap.get(world))
- return wrapperCache;
- return createWrapperCache(world);
-}
-
-} // namespace WebCore
-
-#endif // DOMWrapperWorld_h