Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2573)

Unified Diff: content/shell/app/webkit_test_platform_support_linux.cc

Issue 394963002: linux: Add tests for FontRenderParams on Linux. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix embarrassingly-broken comparison Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/config/linux/BUILD.gn ('k') | ui/gfx/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/app/webkit_test_platform_support_linux.cc
diff --git a/content/shell/app/webkit_test_platform_support_linux.cc b/content/shell/app/webkit_test_platform_support_linux.cc
index 8f9fe91c50c98dbec471fc0ea562393b793e97d9..eb052e3f5e09dc7df960ccc2801ca2d477f052ff 100644
--- a/content/shell/app/webkit_test_platform_support_linux.cc
+++ b/content/shell/app/webkit_test_platform_support_linux.cc
@@ -4,160 +4,65 @@
#include "content/shell/app/webkit_test_platform_support.h"
-#include <fontconfig/fontconfig.h>
-#include <unistd.h>
-
-#include <iostream>
-
-#include "base/files/file_path.h"
+#include "base/file_util.h"
#include "base/files/file_path.h"
#include "base/logging.h"
#include "base/path_service.h"
+#include "ui/gfx/test/fontconfig_util_linux.h"
namespace content {
namespace {
-bool CheckAndLoadFontFile(
- FcConfig* fontcfg, const char* path1, const char* path2) {
- const char* font = path1;
- if (access(font, R_OK) < 0) {
- font = path2;
- if (access(font, R_OK) < 0) {
- LOG(WARNING) << "You are missing " << path1 << " or " << path2 << ". "
- << "Without this, some layout tests may fail. See "
- << "http://code.google.com/p/chromium/wiki/LayoutTestsLinux "
- << "for more.\n";
- return false;
- }
- }
- if (!FcConfigAppFontAddFile(
- fontcfg, reinterpret_cast<const FcChar8*>(font))) {
- LOG(ERROR) << "Failed to load font " << font << "\n";
- return false;
- }
- return true;
-}
+const char* const kLocalFonts[] = {
+ "AHEM____.TTF",
+ "GardinerModBug.ttf",
+ "GardinerModCat.ttf",
+};
-static bool LoadFontResources(const base::FilePath& base_path,
- FcConfig* font_config) {
- const char* const own_fonts[] = {"AHEM____.TTF", "GardinerModBug.ttf",
- "GardinerModCat.ttf"};
+} // namespace
- for (size_t i = 0; i < arraysize(own_fonts); ++i) {
- base::FilePath font_path = base_path.Append(own_fonts[i]);
- if (access(font_path.value().c_str(), R_OK) < 0 ||
- !FcConfigAppFontAddFile(
- font_config,
- reinterpret_cast<const FcChar8*>(font_path.value().c_str()))) {
- LOG(ERROR) << "Failed to load test font resource "
- << font_path.value().c_str() << ".\n";
- return false;
- }
- }
+bool CheckLayoutSystemDeps() {
return true;
}
-const char* const kFonts[] = {
- "/usr/share/fonts/truetype/kochi/kochi-gothic.ttf",
- "/usr/share/fonts/truetype/kochi/kochi-mincho.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Arial_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Courier_New.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Georgia.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Georgia_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Georgia_Bold_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Georgia_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Impact.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS_Bold_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Bold_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Verdana.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Verdana_Bold.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Verdana_Bold_Italic.ttf",
- "/usr/share/fonts/truetype/msttcorefonts/Verdana_Italic.ttf",
- // The DejaVuSans font is used by the css2.1 tests.
- "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf",
- "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_hi.ttf",
- "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_ta.ttf",
- "/usr/share/fonts/truetype/ttf-indic-fonts-core/MuktiNarrow.ttf",
-};
-
-bool SetupFontConfig() {
- FcInit();
+bool WebKitTestPlatformInitialize() {
+ gfx::SetUpFontconfig();
base::FilePath base_path;
PathService::Get(base::DIR_MODULE, &base_path);
- base::FilePath fonts_conf = base_path.Append(FILE_PATH_LITERAL("fonts.conf"));
-
- FcConfig* font_config = FcConfigCreate();
- if (!FcConfigParseAndLoad(
- font_config,
- reinterpret_cast<const FcChar8*>(fonts_conf.value().c_str()),
- true)) {
- LOG(ERROR) << "Failed to parse fontconfig config file\n";
+ if (!gfx::LoadConfigFileIntoFontconfig(
+ base_path.Append(FILE_PATH_LITERAL("fonts.conf"))))
return false;
- }
- for (size_t i = 0; i < arraysize(kFonts); ++i) {
- if (access(kFonts[i], R_OK) < 0) {
- LOG(ERROR) << "You are missing " << kFonts[i] << ". Try re-running "
- << "build/install-build-deps.sh. Also see "
- << "http://code.google.com/p/chromium/wiki/LayoutTestsLinux";
+ for (size_t i = 0; i < gfx::kNumSystemFontsForFontconfig; ++i) {
+ if (!gfx::LoadFontIntoFontconfig(
+ base::FilePath(gfx::kSystemFontsForFontconfig[i]))) {
return false;
}
- if (!FcConfigAppFontAddFile(
- font_config, reinterpret_cast<const FcChar8*>(kFonts[i]))) {
- LOG(ERROR) << "Failed to load font " << kFonts[i] << "\n";
+ }
+ for (size_t i = 0; i < arraysize(kLocalFonts); ++i) {
+ if (!gfx::LoadFontIntoFontconfig(base_path.Append(kLocalFonts[i])))
return false;
- }
}
- if (!CheckAndLoadFontFile(
- font_config,
- "/usr/share/fonts/truetype/thai/Garuda.ttf",
- "/usr/share/fonts/truetype/tlwg/Garuda.ttf")) {
+ base::FilePath garuda_path("/usr/share/fonts/truetype/thai/Garuda.ttf");
+ if (!base::PathExists(garuda_path))
+ garuda_path = base::FilePath("/usr/share/fonts/truetype/tlwg/Garuda.ttf");
+ if (!gfx::LoadFontIntoFontconfig(garuda_path))
return false;
- }
// We special case these fonts because they're only needed in a few layout
// tests.
- CheckAndLoadFontFile(
- font_config,
- "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf",
- "/usr/share/fonts/truetype/ttf-punjabi-fonts/lohit_pa.ttf");
-
- if (!LoadFontResources(base_path, font_config))
- return false;
-
- if (!FcConfigSetCurrent(font_config)) {
- LOG(ERROR) << "Failed to set the default font configuration\n";
- return false;
+ base::FilePath lohit_path(
+ "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf");
+ if (!base::PathExists(lohit_path)) {
+ lohit_path = base::FilePath(
+ "/usr/share/fonts/truetype/ttf-punjabi-fonts/lohit_pa.ttf");
}
+ gfx::LoadFontIntoFontconfig(lohit_path);
return true;
}
-} // namespace
-
-bool CheckLayoutSystemDeps() {
- return true;
-}
-
-bool WebKitTestPlatformInitialize() {
- return SetupFontConfig();
-}
-
} // namespace content
« no previous file with comments | « build/config/linux/BUILD.gn ('k') | ui/gfx/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698