webkit_test_platform_support_linux.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
1// Copyright 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 "content/shell/app/webkit_test_platform_support.h"
6
7#include "base/files/file_path.h"
8#include "base/files/file_util.h"
9#include "base/logging.h"
10#include "base/path_service.h"
11#include "ui/gfx/test/fontconfig_util_linux.h"
12
13namespace content {
14
15namespace {
16
17const char* const kLocalFonts[] = {
18  "AHEM____.TTF",
19  "GardinerModBug.ttf",
20  "GardinerModCat.ttf",
21};
22
23}  // namespace
24
25bool CheckLayoutSystemDeps() {
26  return true;
27}
28
29bool WebKitTestPlatformInitialize() {
30  gfx::SetUpFontconfig();
31
32  base::FilePath base_path;
33  PathService::Get(base::DIR_MODULE, &base_path);
34  if (!gfx::LoadConfigFileIntoFontconfig(
35          base_path.Append(FILE_PATH_LITERAL("fonts.conf"))))
36    return false;
37
38  for (size_t i = 0; i < gfx::kNumSystemFontsForFontconfig; ++i) {
39    if (!gfx::LoadFontIntoFontconfig(
40            base::FilePath(gfx::kSystemFontsForFontconfig[i]))) {
41      return false;
42    }
43  }
44  for (size_t i = 0; i < arraysize(kLocalFonts); ++i) {
45    if (!gfx::LoadFontIntoFontconfig(base_path.Append(kLocalFonts[i])))
46      return false;
47  }
48
49  base::FilePath garuda_path("/usr/share/fonts/truetype/thai/Garuda.ttf");
50  if (!base::PathExists(garuda_path))
51    garuda_path = base::FilePath("/usr/share/fonts/truetype/tlwg/Garuda.ttf");
52  if (!gfx::LoadFontIntoFontconfig(garuda_path))
53    return false;
54
55  // We special case these fonts because they're only needed in a few layout
56  // tests.
57  base::FilePath lohit_path(
58      "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf");
59  if (!base::PathExists(lohit_path)) {
60    lohit_path = base::FilePath(
61        "/usr/share/fonts/truetype/ttf-punjabi-fonts/lohit_pa.ttf");
62  }
63  gfx::LoadFontIntoFontconfig(lohit_path);
64
65  return true;
66}
67
68}  // namespace content
69