1// Copyright (c) 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "config.h"
6#include "InitModules.h"
7
8#include "bindings/modules/v8/ModuleBindingsInitializer.h"
9#include "core/EventTypeNames.h"
10#include "core/dom/Document.h"
11#include "modules/EventModulesFactory.h"
12#include "modules/EventModulesNames.h"
13#include "modules/EventTargetModulesNames.h"
14#include "modules/IndexedDBNames.h"
15
16namespace blink {
17
18void ModulesInitializer::init()
19{
20    ASSERT(!isInitialized());
21
22    // Strings must be initialized before calling CoreInitializer::init().
23    EventNames::initModules();
24    EventTargetNames::initModules();
25    Document::registerEventFactory(EventModulesFactory::create());
26    ModuleBindingsInitializer::init();
27    IndexedDBNames::init();
28
29    CoreInitializer::init();
30
31    ASSERT(isInitialized());
32}
33
34} // namespace blink
35