1// Copyright (c) 2013 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 "ui/keyboard/keyboard.h"
6
7#include "base/files/file_path.h"
8#include "base/path_service.h"
9#include "ui/base/resource/resource_bundle.h"
10#include "ui/keyboard/webui/vk_webui_controller.h"
11
12namespace keyboard {
13
14static bool initialized = false;
15
16void ResetKeyboardForTesting() {
17  initialized = false;
18}
19
20void InitializeKeyboard() {
21  if (initialized)
22    return;
23  initialized = true;
24
25  base::FilePath pak_dir;
26  PathService::Get(base::DIR_MODULE, &pak_dir);
27  base::FilePath pak_file = pak_dir.Append(
28      FILE_PATH_LITERAL("keyboard_resources.pak"));
29  ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath(
30      pak_file, ui::SCALE_FACTOR_100P);
31}
32
33void InitializeWebUIBindings() {
34  CHECK(initialized);
35  base::FilePath content_resources;
36  DCHECK(PathService::Get(base::DIR_MODULE, &content_resources));
37  content_resources =
38      content_resources.Append(FILE_PATH_LITERAL("content_resources.pak"));
39  ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath(
40      content_resources, ui::SCALE_FACTOR_100P);
41
42  content::WebUIControllerFactory::RegisterFactory(
43      VKWebUIControllerFactory::GetInstance());
44}
45
46}  // namespace keyboard
47