summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/ScriptExecutionContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/dom/ScriptExecutionContext.cpp')
-rw-r--r--WebCore/dom/ScriptExecutionContext.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/WebCore/dom/ScriptExecutionContext.cpp b/WebCore/dom/ScriptExecutionContext.cpp
index 45d4e23..f7046e3 100644
--- a/WebCore/dom/ScriptExecutionContext.cpp
+++ b/WebCore/dom/ScriptExecutionContext.cpp
@@ -36,6 +36,10 @@
#include <wtf/MainThread.h>
#include <wtf/PassRefPtr.h>
+#if USE(JSC)
+#include "JSDOMWindow.h"
+#endif
+
namespace WebCore {
class ProcessMessagesSoonTask : public ScriptExecutionContext::Task {
@@ -195,4 +199,20 @@ ScriptExecutionContext::Task::~Task()
{
}
+#if USE(JSC)
+JSC::JSGlobalData* ScriptExecutionContext::globalData()
+{
+ if (isDocument())
+ return JSDOMWindow::commonJSGlobalData();
+
+#if ENABLE(WORKERS)
+ if (isWorkerContext())
+ return static_cast<WorkerContext*>(this)->script()->globalData();
+#endif
+
+ ASSERT_NOT_REACHED();
+ return 0;
+}
+#endif
+
} // namespace WebCore