1197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// found in the LICENSE file.
4197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
5197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "config.h"
6197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/ModuleProxy.h"
7197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
87242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "wtf/StdLibExtras.h"
9197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
10c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink {
11197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
12197021e6b966cfb06891637935ef33fff06433d1Ben MurdochModuleProxy& ModuleProxy::moduleProxy()
13197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{
14197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    DEFINE_STATIC_LOCAL(ModuleProxy, moduleProxy, ());
15197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    return moduleProxy;
16197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch}
17197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivoid ModuleProxy::didLeaveScriptContextForRecursionScope(v8::Isolate* isolate)
19197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{
20197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    RELEASE_ASSERT(m_didLeaveScriptContextForRecursionScope);
217242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    (*m_didLeaveScriptContextForRecursionScope)(isolate);
22197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch}
23197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
247242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivoid ModuleProxy::registerDidLeaveScriptContextForRecursionScope(void (*didLeaveScriptContext)(v8::Isolate*))
25197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{
26197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    m_didLeaveScriptContextForRecursionScope = didLeaveScriptContext;
27197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch}
28197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
29c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink
30