Remove the RenderProcessHost observer and attach the WebContentsObserver earlier...
[chromium-blink-merge.git] / mojo / views / views_init_internal.cc
blob6d92c7ce2b1c5b69e32fc2ed9af169fa4747160f
1 // Copyright 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.
5 #include "mojo/views/views_init_internal.h"
7 #include "base/i18n/icu_util.h"
8 #include "base/lazy_instance.h"
9 #include "base/path_service.h"
10 #include "ui/base/resource/resource_bundle.h"
11 #include "ui/base/ui_base_paths.h"
13 namespace mojo {
15 namespace {
17 // Used to ensure we only init once.
18 class Setup {
19 public:
20 Setup() {
21 base::i18n::InitializeICU();
23 ui::RegisterPathProvider();
25 base::FilePath ui_test_pak_path;
26 CHECK(PathService::Get(ui::UI_TEST_PAK, &ui_test_pak_path));
27 ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path);
29 // There is a bunch of static state in gfx::Font, by running this now,
30 // before any other apps load, we ensure all the state is set up.
31 gfx::Font();
34 ~Setup() {
37 private:
38 DISALLOW_COPY_AND_ASSIGN(Setup);
41 static base::LazyInstance<Setup>::Leaky setup = LAZY_INSTANCE_INITIALIZER;
43 } // namespace
45 void InitViews() {
46 setup.Get();
49 } // namespace mojo