<head>
<style>
@font-face {
    /* FeatureTest.ttf is a small font for testing OpenType features.
     * It contains:
     * - The black box glyph which is associated with 'W', 'e', 'b', 'K', 'i' and 't'.
     * - A discretionary ligature glyph of 'WebKit'.
     */
    font-family: 'test';
    src: url(resources/FeatureTest.ttf);
}
.dligOn {
    font-family: 'test';
    -webkit-font-feature-settings: 'dlig';
}
.dligOff {
    font-family: 'test';
    -webkit-font-feature-settings: 'dlig' 0;
}
.dligNone {
    font-family: 'test';
}
</style>
<script>
if (window.testRunner)
    window.testRunner.waitUntilDone();

function test() {
    document.body.offsetTop;
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</head>
<body onload="setTimeout(test, 300)">
<p>Test for font-feature-settings property.  The first word of the following three words should be displayed like "WebKit", while others should be displayed as black boxes.</p>
<div class="dligOn">WebKit</div>
<div class="dligOff">WebKit</div>
<div class="dligNone">WebKit</div>
</body>
