WebCore:
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Apr 2009 01:00:20 +0000 (01:00 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Apr 2009 01:00:20 +0000 (01:00 +0000)
commit1c9d2eedff2da6d5d38e5384463175178fbf6e32
treeb86fcf09feca1a4d4b44a1e5aff376e8f0954757
parentaaa2e747c2a0dfaf11a4eef8eed38eb484676f70
WebCore:

2009-04-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6166612> Text boxes'¬†metrics should be based on
          the actual fonts used in them, not just the primary font

        Covered by many existing layout tests

        * platform/graphics/Font.cpp:
        (WebCore::Font::floatWidth): Added a fallbackFonts parameter. If the
        platform supports collecting fallback fonts in its complex font path
        and fallbackFonts is not null, all fallback fonts used for the text run
        will be added to it.

        * platform/graphics/Font.h:
        (WebCore::Font::width): Ditto.

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Removed an unnecessary namespace
        qualifier.
        (WebCore::Font::floatWidthForSimpleText): Added a fallbackFonts
        parameter, which is passed down to WidthIterator.

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Added a fallbackFonts parameter
        and used it to initialize the m_fallbackFonts member.
        (WebCore::WidthIterator::advance): Track the fonts being used and add
        any fallback fonts to the m_fallbackFonts set. Make sure to only add
        non-small-caps fonts.

        * platform/graphics/WidthIterator.h:

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
        implementation that returns false, meaning this platform's
        implementation of floatWidthForComplexText() does not populate the
        fallbackFonts set.
        (WebCore::Font::floatWidthForComplexText): Updated for the new
        prototype.

        * platform/graphics/chromium/FontLinux.cpp: Ditto.

        * platform/graphics/gtk/FontGtk.cpp: Ditto.

        * platform/graphics/mac/CoreTextController.cpp:
        (WebCore::CoreTextController::CoreTextController): Added a fallbackFonts
        parameter and used it to initialize the m_fallbackFonts member.
        (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Add
        fallback fonts to m_fallbackFonts.

        * platform/graphics/mac/CoreTextController.h:

        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
        implementation that returns true, indicating that the Mac
        implementations of floatWidthForComplexText() populate the fallbackFonts
        set.
        * platform/graphics/mac/FontMacATSUI.mm:
        (WebCore::ATSULayoutParameters::ATSULayoutParameters): Added a
        fallbackFonts parameter and used it to initialize the m_fallbackFonts
        member.
        (WebCore::ATSULayoutParameters::initialize): Add fallback fonts to
        m_fallbackFonts.
        (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
        parameter, which is passed down to ATSULayoutParameters.

        * platform/graphics/mac/FontMacCoreText.cpp:
        (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
        parameter, which is passed down to CoreTextController.

        * platform/graphics/win/FontWin.cpp:
        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
        implementation that returns true, indicating that the
        UniscribeController-based implementations of floatWidthForComplexText()
        populate the fallbackFonts set.
        (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
        parameter, which is passed down to UniscribeController.

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::UniscribeController): Added a
        fallbackfonts parameter and used it to initialize m_fallbackFonts.
        (WebCore::UniscribeController::advance): Add fallback fonts to
        m_fallbackFonts.

        * platform/graphics/win/UniscribeController.h:

        * platform/graphics/wx/FontWx.cpp:
        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
        implementation that returns false, meaning this platform's
        implementation of floatWidthForComplexText() does not populate the
        fallbackFonts set.
        (WebCore::Font::floatWidthForComplexText): Updated for the new
        prototype.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights): For an InlineTextBox
        with multiple fonts, compute a common baseline and line height by
        considering all fonts' ascents and descents (and line spacing, if
        applicable).

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::setFallbackFonts): Added. Temporarily stores
        the set of fallback fonts in a vector.
        (WebCore::InlineTextBox::takeFallbackFonts): Added. Returns the fallback
        fonts previously stored and removes them from storage.

        * rendering/InlineTextBox.h:

        * rendering/RenderText.cpp:
        (WebCore::RenderText::RenderText): Initialized the
        m_knownNotToUseFallbackFonts to false.
        (WebCore::RenderText::styleDidChange): Reset
        m_knownNotToUseFallbackFonts to false if the style difference is such that
        affects layout.
        (WebCore::RenderText::widthFromCache): Added a fallbackFonts parameter,
        which is passed down to Font::width().
        (WebCore::RenderText::trimmedPrefWidths): Updated for the change to
        widthFromCache().
        (WebCore::RenderText::calcPrefWidths): Made this call a private version
        of calcPrefWidths() that takes a fallbackFonts parameter and set the
        m_knownNotToUseFallbackFonts to true if the set comes back empty.
        The private version passes the fallbackFonts set to widthFromCache().
        (WebCore::RenderText::setText): Reset m_knownNotToUseFallbackFonts to
        false.
        (WebCore::RenderText::createFallbackFontMetricsBox): Added.
        (WebCore::RenderText::width): Added a fallbackFonts parameter, which is
        passed down to calcPrefWidths(), widthFromCache() and Font::width().
        Set m_knownNotToUseFallbackFonts to true when appropriate.

        * rendering/RenderText.h:

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::constructLine): Added an assertion and a continue
        statement to remove one level of indentation.
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Temporarily
        store the set of fallback fonts in the InlineTextBox.
        (WebCore::RenderBlock::computeVerticalPositionsForLine): Added an
        assertion.

LayoutTests:

2009-04-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - updated results for <rdar://problem/6166612> Text boxes'¬†metrics should be based on
          the actual fonts used in them, not just the primary font

        * editing/selection/extend-selection-bidi-expected.txt:
        * fast/text/offsetForPosition-cluster-at-zero-expected.txt:
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.checksum:
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.png:
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.txt:
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.checksum:
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.png:
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.txt:
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.checksum:
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.png:
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.txt:
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.checksum:
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.png:
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.txt:
        * platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.checksum:
        * platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.png:
        * platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.txt:
        * platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.checksum:
        * platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.png:
        * platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.txt:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.checksum:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.png:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.checksum:
        * platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.png:
        * platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.txt:
        * platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.checksum:
        * platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.png:
        * platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
        * platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.checksum:
        * platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.png:
        * platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-02-c-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-02-c-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-02-c-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-03-c-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-03-c-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-03-c-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-04-c-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-04-c-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-04-c-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.txt:
        * platform/mac/css2.1/t090501-c414-flt-01-b-expected.checksum:
        * platform/mac/css2.1/t090501-c414-flt-01-b-expected.png:
        * platform/mac/css2.1/t090501-c414-flt-01-b-expected.txt:
        * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.checksum:
        * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.png:
        * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.txt:
        * platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.checksum:
        * platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.png:
        * platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.txt:
        * platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.checksum:
        * platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.png:
        * platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.txt:
        * platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.checksum:
        * platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.png:
        * platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.txt:
        * platform/mac/css2.1/t1202-counter-03-b-expected.checksum:
        * platform/mac/css2.1/t1202-counter-03-b-expected.png:
        * platform/mac/css2.1/t1202-counter-03-b-expected.txt:
        * platform/mac/css2.1/t1202-counter-04-b-expected.checksum:
        * platform/mac/css2.1/t1202-counter-04-b-expected.png:
        * platform/mac/css2.1/t1202-counter-04-b-expected.txt:
        * platform/mac/css2.1/t1202-counter-09-b-expected.checksum:
        * platform/mac/css2.1/t1202-counter-09-b-expected.png:
        * platform/mac/css2.1/t1202-counter-09-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-03-b-expected.checksum:
        * platform/mac/css2.1/t1202-counters-03-b-expected.png:
        * platform/mac/css2.1/t1202-counters-03-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-04-b-expected.checksum:
        * platform/mac/css2.1/t1202-counters-04-b-expected.png:
        * platform/mac/css2.1/t1202-counters-04-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-09-b-expected.checksum:
        * platform/mac/css2.1/t1202-counters-09-b-expected.png:
        * platform/mac/css2.1/t1202-counters-09-b-expected.txt:
        * platform/mac/editing/deleting/5144139-2-expected.checksum:
        * platform/mac/editing/deleting/5144139-2-expected.png:
        * platform/mac/editing/deleting/5144139-2-expected.txt:
        * platform/mac/editing/input/devanagari-ligature-expected.checksum:
        * platform/mac/editing/input/devanagari-ligature-expected.png:
        * platform/mac/editing/input/devanagari-ligature-expected.txt:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.checksum:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.png:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.txt:
        * platform/mac/editing/selection/caret-rtl-2-expected.checksum:
        * platform/mac/editing/selection/caret-rtl-2-expected.png:
        * platform/mac/editing/selection/caret-rtl-2-expected.txt:
        * platform/mac/editing/selection/caret-rtl-expected.checksum:
        * platform/mac/editing/selection/caret-rtl-expected.png:
        * platform/mac/editing/selection/caret-rtl-expected.txt:
        * platform/mac/editing/selection/extend-selection-bidi-expected.checksum:
        * platform/mac/editing/selection/extend-selection-bidi-expected.png:
        * platform/mac/fast/css/beforeSelectorOnCodeElement-expected.checksum:
        * platform/mac/fast/css/beforeSelectorOnCodeElement-expected.png:
        * platform/mac/fast/css/beforeSelectorOnCodeElement-expected.txt:
        * platform/mac/fast/css/rtl-ordering-expected.checksum:
        * platform/mac/fast/css/rtl-ordering-expected.png:
        * platform/mac/fast/css/rtl-ordering-expected.txt:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.checksum:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.png:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
        * platform/mac/fast/css/text-security-expected.checksum:
        * platform/mac/fast/css/text-security-expected.png:
        * platform/mac/fast/css/text-security-expected.txt:
        * platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.checksum:
        * platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.png:
        * platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.txt:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.checksum:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.png:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.txt:
        * platform/mac/fast/events/updateLayoutForHitTest-expected.checksum:
        * platform/mac/fast/events/updateLayoutForHitTest-expected.png:
        * platform/mac/fast/events/updateLayoutForHitTest-expected.txt:
        * platform/mac/fast/forms/select-visual-hebrew-expected.checksum:
        * platform/mac/fast/forms/select-visual-hebrew-expected.png:
        * platform/mac/fast/forms/select-visual-hebrew-expected.txt:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.checksum:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.png:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.checksum:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/lists/w3-list-styles-expected.checksum:
        * platform/mac/fast/lists/w3-list-styles-expected.png:
        * platform/mac/fast/lists/w3-list-styles-expected.txt:
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.checksum:
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.png:
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.txt:
        * platform/mac/fast/text/capitalize-boundaries-expected.checksum:
        * platform/mac/fast/text/capitalize-boundaries-expected.png:
        * platform/mac/fast/text/capitalize-boundaries-expected.txt:
        * platform/mac/fast/text/cg-fallback-bolding-expected.checksum:
        * platform/mac/fast/text/cg-fallback-bolding-expected.png:
        * platform/mac/fast/text/cg-fallback-bolding-expected.txt:
        * platform/mac/fast/text/complex-text-opacity-expected.checksum:
        * platform/mac/fast/text/complex-text-opacity-expected.png:
        * platform/mac/fast/text/complex-text-opacity-expected.txt:
        * platform/mac/fast/text/in-rendered-text-rtl-expected.checksum:
        * platform/mac/fast/text/in-rendered-text-rtl-expected.png:
        * platform/mac/fast/text/in-rendered-text-rtl-expected.txt:
        * platform/mac/fast/text/international/001-expected.checksum:
        * platform/mac/fast/text/international/001-expected.png:
        * platform/mac/fast/text/international/001-expected.txt:
        * platform/mac/fast/text/international/002-expected.checksum:
        * platform/mac/fast/text/international/002-expected.png:
        * platform/mac/fast/text/international/002-expected.txt:
        * platform/mac/fast/text/international/003-expected.checksum:
        * platform/mac/fast/text/international/003-expected.png:
        * platform/mac/fast/text/international/003-expected.txt:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.png:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
        * platform/mac/fast/text/international/bidi-L2-run-reordering-expected.checksum:
        * platform/mac/fast/text/international/bidi-L2-run-reordering-expected.png:
        * platform/mac/fast/text/international/bidi-L2-run-reordering-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.checksum:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.png:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.checksum:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.png:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/mac/fast/text/international/bidi-european-terminators-expected.checksum:
        * platform/mac/fast/text/international/bidi-european-terminators-expected.png:
        * platform/mac/fast/text/international/bidi-european-terminators-expected.txt:
        * platform/mac/fast/text/international/bidi-fallback-font-weight-expected.checksum:
        * platform/mac/fast/text/international/bidi-fallback-font-weight-expected.png:
        * platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt:
        * platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum:
        * platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
        * platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
        * platform/mac/fast/text/international/bidi-innertext-expected.checksum:
        * platform/mac/fast/text/international/bidi-innertext-expected.png:
        * platform/mac/fast/text/international/bidi-innertext-expected.txt:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.txt:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.txt:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.txt:
        * platform/mac/fast/text/international/bidi-listbox-atsui-expected.checksum:
        * platform/mac/fast/text/international/bidi-listbox-atsui-expected.png:
        * platform/mac/fast/text/international/bidi-listbox-atsui-expected.txt:
        * platform/mac/fast/text/international/bidi-listbox-expected.checksum:
        * platform/mac/fast/text/international/bidi-listbox-expected.png:
        * platform/mac/fast/text/international/bidi-listbox-expected.txt:
        * platform/mac/fast/text/international/bidi-menulist-expected.checksum:
        * platform/mac/fast/text/international/bidi-menulist-expected.png:
        * platform/mac/fast/text/international/bidi-menulist-expected.txt:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
        * platform/mac/fast/text/international/bidi-override-expected.checksum:
        * platform/mac/fast/text/international/bidi-override-expected.png:
        * platform/mac/fast/text/international/bidi-override-expected.txt:
        * platform/mac/fast/text/international/hindi-spacing-expected.checksum:
        * platform/mac/fast/text/international/hindi-spacing-expected.png:
        * platform/mac/fast/text/international/hindi-spacing-expected.txt:
        * platform/mac/fast/text/international/rtl-caret-expected.checksum:
        * platform/mac/fast/text/international/rtl-caret-expected.png:
        * platform/mac/fast/text/international/rtl-caret-expected.txt:
        * platform/mac/fast/text/international/thai-line-breaks-expected.checksum:
        * platform/mac/fast/text/international/thai-line-breaks-expected.png:
        * platform/mac/fast/text/international/thai-line-breaks-expected.txt:
        * platform/mac/fast/text/international/wrap-CJK-001-expected.checksum:
        * platform/mac/fast/text/international/wrap-CJK-001-expected.png:
        * platform/mac/fast/text/international/wrap-CJK-001-expected.txt:
        * platform/mac/fast/text/wide-zero-width-space-expected.checksum:
        * platform/mac/fast/text/wide-zero-width-space-expected.png:
        * platform/mac/fast/text/wide-zero-width-space-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
260 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/selection/extend-selection-bidi-expected.txt
LayoutTests/fast/text/offsetForPosition-cluster-at-zero-expected.txt
LayoutTests/platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.checksum
LayoutTests/platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.png
LayoutTests/platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.txt
LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.checksum
LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.png
LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.txt
LayoutTests/platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.checksum
LayoutTests/platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.png
LayoutTests/platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.txt
LayoutTests/platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.checksum
LayoutTests/platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.png
LayoutTests/platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.txt
LayoutTests/platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.checksum
LayoutTests/platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.png
LayoutTests/platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.txt
LayoutTests/platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.checksum
LayoutTests/platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.png
LayoutTests/platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.txt
LayoutTests/platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.checksum
LayoutTests/platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.png
LayoutTests/platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.txt
LayoutTests/platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.checksum
LayoutTests/platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.png
LayoutTests/platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.txt
LayoutTests/platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.checksum
LayoutTests/platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.png
LayoutTests/platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.txt
LayoutTests/platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.checksum
LayoutTests/platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.png
LayoutTests/platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c414-flt-02-c-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c414-flt-02-c-expected.png
LayoutTests/platform/mac/css2.1/t0905-c414-flt-02-c-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c414-flt-03-c-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c414-flt-03-c-expected.png
LayoutTests/platform/mac/css2.1/t0905-c414-flt-03-c-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c414-flt-04-c-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c414-flt-04-c-expected.png
LayoutTests/platform/mac/css2.1/t0905-c414-flt-04-c-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.png
LayoutTests/platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.png
LayoutTests/platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.png
LayoutTests/platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.png
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.png
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.checksum
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.png
LayoutTests/platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.txt
LayoutTests/platform/mac/css2.1/t090501-c414-flt-01-b-expected.checksum
LayoutTests/platform/mac/css2.1/t090501-c414-flt-01-b-expected.png
LayoutTests/platform/mac/css2.1/t090501-c414-flt-01-b-expected.txt
LayoutTests/platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.checksum
LayoutTests/platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.png
LayoutTests/platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.txt
LayoutTests/platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.checksum
LayoutTests/platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.png
LayoutTests/platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.txt
LayoutTests/platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.checksum
LayoutTests/platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.png
LayoutTests/platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.txt
LayoutTests/platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.checksum
LayoutTests/platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.png
LayoutTests/platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.txt
LayoutTests/platform/mac/css2.1/t1202-counter-03-b-expected.checksum
LayoutTests/platform/mac/css2.1/t1202-counter-03-b-expected.png
LayoutTests/platform/mac/css2.1/t1202-counter-03-b-expected.txt
LayoutTests/platform/mac/css2.1/t1202-counter-04-b-expected.checksum
LayoutTests/platform/mac/css2.1/t1202-counter-04-b-expected.png
LayoutTests/platform/mac/css2.1/t1202-counter-04-b-expected.txt
LayoutTests/platform/mac/css2.1/t1202-counter-09-b-expected.checksum
LayoutTests/platform/mac/css2.1/t1202-counter-09-b-expected.png
LayoutTests/platform/mac/css2.1/t1202-counter-09-b-expected.txt
LayoutTests/platform/mac/css2.1/t1202-counters-03-b-expected.checksum
LayoutTests/platform/mac/css2.1/t1202-counters-03-b-expected.png
LayoutTests/platform/mac/css2.1/t1202-counters-03-b-expected.txt
LayoutTests/platform/mac/css2.1/t1202-counters-04-b-expected.checksum
LayoutTests/platform/mac/css2.1/t1202-counters-04-b-expected.png
LayoutTests/platform/mac/css2.1/t1202-counters-04-b-expected.txt
LayoutTests/platform/mac/css2.1/t1202-counters-09-b-expected.checksum
LayoutTests/platform/mac/css2.1/t1202-counters-09-b-expected.png
LayoutTests/platform/mac/css2.1/t1202-counters-09-b-expected.txt
LayoutTests/platform/mac/editing/deleting/5144139-2-expected.checksum
LayoutTests/platform/mac/editing/deleting/5144139-2-expected.png
LayoutTests/platform/mac/editing/deleting/5144139-2-expected.txt
LayoutTests/platform/mac/editing/input/devanagari-ligature-expected.checksum
LayoutTests/platform/mac/editing/input/devanagari-ligature-expected.png
LayoutTests/platform/mac/editing/input/devanagari-ligature-expected.txt
LayoutTests/platform/mac/editing/pasteboard/copy-paste-bidi-expected.checksum
LayoutTests/platform/mac/editing/pasteboard/copy-paste-bidi-expected.png
LayoutTests/platform/mac/editing/pasteboard/copy-paste-bidi-expected.txt
LayoutTests/platform/mac/editing/selection/caret-rtl-2-expected.checksum
LayoutTests/platform/mac/editing/selection/caret-rtl-2-expected.png
LayoutTests/platform/mac/editing/selection/caret-rtl-2-expected.txt
LayoutTests/platform/mac/editing/selection/caret-rtl-expected.checksum
LayoutTests/platform/mac/editing/selection/caret-rtl-expected.png
LayoutTests/platform/mac/editing/selection/caret-rtl-expected.txt
LayoutTests/platform/mac/editing/selection/extend-selection-bidi-expected.checksum
LayoutTests/platform/mac/editing/selection/extend-selection-bidi-expected.png
LayoutTests/platform/mac/fast/css/beforeSelectorOnCodeElement-expected.checksum
LayoutTests/platform/mac/fast/css/beforeSelectorOnCodeElement-expected.png
LayoutTests/platform/mac/fast/css/beforeSelectorOnCodeElement-expected.txt
LayoutTests/platform/mac/fast/css/rtl-ordering-expected.checksum
LayoutTests/platform/mac/fast/css/rtl-ordering-expected.png
LayoutTests/platform/mac/fast/css/rtl-ordering-expected.txt
LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-expected.checksum
LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-expected.png
LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-expected.txt
LayoutTests/platform/mac/fast/css/text-security-expected.checksum
LayoutTests/platform/mac/fast/css/text-security-expected.png
LayoutTests/platform/mac/fast/css/text-security-expected.txt
LayoutTests/platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.checksum
LayoutTests/platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.png
LayoutTests/platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.txt
LayoutTests/platform/mac/fast/encoding/invalid-UTF-8-expected.checksum
LayoutTests/platform/mac/fast/encoding/invalid-UTF-8-expected.png
LayoutTests/platform/mac/fast/encoding/invalid-UTF-8-expected.txt
LayoutTests/platform/mac/fast/events/updateLayoutForHitTest-expected.checksum
LayoutTests/platform/mac/fast/events/updateLayoutForHitTest-expected.png
LayoutTests/platform/mac/fast/events/updateLayoutForHitTest-expected.txt
LayoutTests/platform/mac/fast/forms/select-visual-hebrew-expected.checksum
LayoutTests/platform/mac/fast/forms/select-visual-hebrew-expected.png
LayoutTests/platform/mac/fast/forms/select-visual-hebrew-expected.txt
LayoutTests/platform/mac/fast/forms/select-writing-direction-natural-expected.checksum
LayoutTests/platform/mac/fast/forms/select-writing-direction-natural-expected.png
LayoutTests/platform/mac/fast/forms/select-writing-direction-natural-expected.txt
LayoutTests/platform/mac/fast/forms/visual-hebrew-text-field-expected.checksum
LayoutTests/platform/mac/fast/forms/visual-hebrew-text-field-expected.png
LayoutTests/platform/mac/fast/forms/visual-hebrew-text-field-expected.txt
LayoutTests/platform/mac/fast/lists/w3-list-styles-expected.checksum
LayoutTests/platform/mac/fast/lists/w3-list-styles-expected.png
LayoutTests/platform/mac/fast/lists/w3-list-styles-expected.txt
LayoutTests/platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.checksum
LayoutTests/platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.png
LayoutTests/platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.txt
LayoutTests/platform/mac/fast/text/capitalize-boundaries-expected.checksum
LayoutTests/platform/mac/fast/text/capitalize-boundaries-expected.png
LayoutTests/platform/mac/fast/text/capitalize-boundaries-expected.txt
LayoutTests/platform/mac/fast/text/cg-fallback-bolding-expected.checksum
LayoutTests/platform/mac/fast/text/cg-fallback-bolding-expected.png
LayoutTests/platform/mac/fast/text/cg-fallback-bolding-expected.txt
LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.checksum
LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.png
LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.txt
LayoutTests/platform/mac/fast/text/in-rendered-text-rtl-expected.checksum
LayoutTests/platform/mac/fast/text/in-rendered-text-rtl-expected.png
LayoutTests/platform/mac/fast/text/in-rendered-text-rtl-expected.txt
LayoutTests/platform/mac/fast/text/international/001-expected.checksum
LayoutTests/platform/mac/fast/text/international/001-expected.png
LayoutTests/platform/mac/fast/text/international/001-expected.txt
LayoutTests/platform/mac/fast/text/international/002-expected.checksum
LayoutTests/platform/mac/fast/text/international/002-expected.png
LayoutTests/platform/mac/fast/text/international/002-expected.txt
LayoutTests/platform/mac/fast/text/international/003-expected.checksum
LayoutTests/platform/mac/fast/text/international/003-expected.png
LayoutTests/platform/mac/fast/text/international/003-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-L2-run-reordering-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-L2-run-reordering-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-L2-run-reordering-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-european-terminators-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-european-terminators-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-european-terminators-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-innertext-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-innertext-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-innertext-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-001-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-001-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-001-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-002-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-002-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-002-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-003-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-003-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-linebreak-003-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-listbox-atsui-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-listbox-atsui-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-listbox-atsui-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-listbox-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-listbox-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-listbox-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-menulist-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-menulist-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-menulist-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt
LayoutTests/platform/mac/fast/text/international/bidi-override-expected.checksum
LayoutTests/platform/mac/fast/text/international/bidi-override-expected.png
LayoutTests/platform/mac/fast/text/international/bidi-override-expected.txt
LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.checksum
LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.png
LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.txt
LayoutTests/platform/mac/fast/text/international/rtl-caret-expected.checksum
LayoutTests/platform/mac/fast/text/international/rtl-caret-expected.png
LayoutTests/platform/mac/fast/text/international/rtl-caret-expected.txt
LayoutTests/platform/mac/fast/text/international/thai-line-breaks-expected.checksum
LayoutTests/platform/mac/fast/text/international/thai-line-breaks-expected.png
LayoutTests/platform/mac/fast/text/international/thai-line-breaks-expected.txt
LayoutTests/platform/mac/fast/text/international/wrap-CJK-001-expected.checksum
LayoutTests/platform/mac/fast/text/international/wrap-CJK-001-expected.png
LayoutTests/platform/mac/fast/text/international/wrap-CJK-001-expected.txt
LayoutTests/platform/mac/fast/text/wide-zero-width-space-expected.checksum
LayoutTests/platform/mac/fast/text/wide-zero-width-space-expected.png
LayoutTests/platform/mac/fast/text/wide-zero-width-space-expected.txt
WebCore/ChangeLog
WebCore/platform/graphics/Font.cpp
WebCore/platform/graphics/Font.h
WebCore/platform/graphics/FontFastPath.cpp
WebCore/platform/graphics/WidthIterator.cpp
WebCore/platform/graphics/WidthIterator.h
WebCore/platform/graphics/chromium/FontChromiumWin.cpp
WebCore/platform/graphics/chromium/FontLinux.cpp
WebCore/platform/graphics/gtk/FontGtk.cpp
WebCore/platform/graphics/mac/CoreTextController.cpp
WebCore/platform/graphics/mac/CoreTextController.h
WebCore/platform/graphics/mac/FontMac.mm
WebCore/platform/graphics/mac/FontMacATSUI.mm
WebCore/platform/graphics/mac/FontMacCoreText.cpp
WebCore/platform/graphics/win/FontWin.cpp
WebCore/platform/graphics/win/UniscribeController.cpp
WebCore/platform/graphics/win/UniscribeController.h
WebCore/platform/graphics/wx/FontWx.cpp
WebCore/rendering/InlineFlowBox.cpp
WebCore/rendering/InlineTextBox.cpp
WebCore/rendering/InlineTextBox.h
WebCore/rendering/RenderText.cpp
WebCore/rendering/RenderText.h
WebCore/rendering/bidi.cpp