Bug 79756
| Summary: | [GTK] css3/flexbox/inline-flexbox.html fails | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Philippe Normand <pnormand> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | bugs-noreply, deleted_user, mrobinson, zimmermann |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Philippe Normand
Since it's been added, it seems.
http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r109083%20(18907)/css3/flexbox/inline-flexbox-diffs.html
I'll skip it for now.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ojan Vafai
Looks like it's only failing on the GTK bots. Looking at the toggling expected/actual image result at http://build.webkit.org/results/GTK%20Linux%2032-bit%20Release/r109021%20(21857)/results.html it appears to be a text kerning bug in the GTK port.
Martin Robinson
Leaving my comments here as well as #webkit, just in case ojan is away. Assuming that the "actual image" output is the flexbox example, it seems that flexbox is somehow triggering the complex text rendering path. I say this because the kerning errors that Ojan describes are actually ligatures. When complex text is active an 'f' character and an 'l' character combine into one ligature.
It makes sense that text rendered via the complex text path and the simple text path look different. I'm surprised it passes on other platforms. Unless of course, this bug only occurs on GTK+.
An easy fix for this is to force the reference HTML to use complex text rendering, but perhaps it's a bug that flexbox text is rendered via the complex text path.
Martin Robinson
This change seems to fix this test and several others and to produce much more consistent results. I'm afraid we should probably revert this change and rebaseline one more time.
--- a/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp
+++ b/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp
@@ -161,11 +161,11 @@ static void initializeGtkFontSettings(const char* testURL)
ASSERT(screen);
const cairo_font_options_t* screenOptions = gdk_screen_get_font_options(screen);
ASSERT(screenOptions);
- cairo_font_options_t* options = cairo_font_options_copy(screenOptions);
- // Turn off text metrics hinting, which quantizes metrics to pixels in device space.
- cairo_font_options_set_hint_metrics(options, CAIRO_HINT_METRICS_OFF);
- gdk_screen_set_font_options(screen, options);
- cairo_font_options_destroy(options);
+ //cairo_font_options_t* options = cairo_font_options_copy(screenOptions);
+ //// Turn off text metrics hinting, which quantizes metrics to pixels in device space.
+ //cairo_font_options_set_hint_metrics(options, CAIRO_HINT_METRICS_OFF);
+ //gdk_screen_set_font_options(screen, options);
+ //cairo_font_options_destroy(options);
}
Martin Robinson
Ccing Nikolas Zimmmermann who might be able to provide more context here.
Deleted User
<inline-flexbox.html> doesn't exist anymore: https://wpt.fyi/results/css?label=master&product=chrome%5Bexperimental%5D&product=edge%5Bexperimental%5D&product=firefox%5Bexperimental%5D&product=safari%5Bexperimental%5D&product=webkitgtk&aligned&q=inline-flexbox