[GTK] Use WEBKITOUTPUTDIR to find fonts in DumpRenderTree
authortony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2012 01:18:34 +0000 (01:18 +0000)
committertony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2012 01:18:34 +0000 (01:18 +0000)
https://bugs.webkit.org/show_bug.cgi?id=90215

Reviewed by Martin Robinson.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(initializeFonts): Check for WEBKITOUTPUTDIR first.
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.setup_environ_for_server): Copy the environment variable to the child process.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::inititializeFontConfigSetting): Check for WEBKITOUTPUTDIR first.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@121499 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/DumpRenderTree/gtk/DumpRenderTree.cpp
Tools/Scripts/webkitpy/layout_tests/port/gtk.py
Tools/WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp

index a5d6b31..a9ba658 100644 (file)
@@ -1,3 +1,17 @@
+2012-06-28  Tony Chang  <tony@chromium.org>
+
+        [GTK] Use WEBKITOUTPUTDIR to find fonts in DumpRenderTree
+        https://bugs.webkit.org/show_bug.cgi?id=90215
+
+        Reviewed by Martin Robinson.
+
+        * DumpRenderTree/gtk/DumpRenderTree.cpp:
+        (initializeFonts): Check for WEBKITOUTPUTDIR first.
+        * Scripts/webkitpy/layout_tests/port/gtk.py:
+        (GtkPort.setup_environ_for_server): Copy the environment variable to the child process.
+        * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
+        (WTR::inititializeFontConfigSetting): Check for WEBKITOUTPUTDIR first.
+
 2012-06-28  Dirk Pranke  <dpranke@chromium.org>
 
         derive ChromiumPort from WebKitPort in NRWT in order to support skipping tests if symbols are missing
index 19b9666..a3bbd68 100644 (file)
@@ -190,9 +190,15 @@ static void initializeFonts(const char* testURL = 0)
     if (!FcConfigParseAndLoad(config, reinterpret_cast<FcChar8*>(fontConfigFilename.get()), true))
         g_error("Couldn't load font configuration file from: %s", fontConfigFilename.get());
 
-    CString topLevelPath = getTopLevelPath();
-    GOwnPtr<char> fontsPath(g_build_filename(topLevelPath.data(), "WebKitBuild", "Dependencies",
-                                             "Root", "webkitgtk-test-fonts", NULL));
+    GOwnPtr<char> fontsPath;
+    const char* webkitOutputDir = g_getenv("WEBKITOUTPUTDIR");
+    if (webkitOutputDir)
+        fontsPath.set(g_build_filename(webkitOutputDir, "Dependencies", "Root", "webkitgtk-test-fonts", NULL));
+    else {
+        CString topLevelPath = getTopLevelPath();
+        fontsPath.set(g_build_filename(topLevelPath.data(), "WebKitBuild", "Dependencies", "Root", "webkitgtk-test-fonts", NULL));
+    }
+
     if (!g_file_test(fontsPath.get(), static_cast<GFileTest>(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)))
         g_error("Could not locate test fonts at %s. Is WEBKIT_TOP_LEVEL set?", fontsPath.get());
 
index 26e1c84..6c59427 100644 (file)
@@ -64,6 +64,7 @@ class GtkPort(WebKitPort, PulseAudioSanitizer):
         environment['AUDIO_RESOURCES_PATH'] = self._filesystem.join(self._config.webkit_base_dir(),
                                                                     'Source', 'WebCore', 'platform',
                                                                     'audio', 'resources')
+        self._copy_value_from_environ_if_set(environment, 'WEBKITOUTPUTDIR')
         if self.get_option('webkit_test_runner'):
             # FIXME: This is a workaround to ensure that testing with WebKitTestRunner is started with
             # a non-existing cache. This should be removed when (and if) it will be possible to properly
index c97ca92..19acfd8 100644 (file)
@@ -86,9 +86,15 @@ void inititializeFontConfigSetting()
     if (!FcConfigParseAndLoad(config, reinterpret_cast<FcChar8*>(fontConfigFilename.get()), true))
         g_error("Couldn't load font configuration file from: %s", fontConfigFilename.get());
 
-    CString topLevelPath = getTopLevelPath();
-    GOwnPtr<char> fontsPath(g_build_filename(topLevelPath.data(), "WebKitBuild", "Dependencies",
-                                             "Root", "webkitgtk-test-fonts", NULL));
+    GOwnPtr<char> fontsPath;
+    const char* webkitOutputDir = g_getenv("WEBKITOUTPUTDIR");
+    if (webkitOutputDir)
+        fontsPath.set(g_build_filename(webkitOutputDir, "Dependencies", "Root", "webkitgtk-test-fonts", NULL));
+    else {
+        CString topLevelPath = getTopLevelPath();
+        fontsPath.set(g_build_filename(topLevelPath.data(), "WebKitBuild", "Dependencies", "Root", "webkitgtk-test-fonts", NULL));
+    }
+
     if (!g_file_test(fontsPath.get(), static_cast<GFileTest>(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)))
         g_error("Could not locate test fonts at %s. Is WEBKIT_TOP_LEVEL set?", fontsPath.get());