Changeset 114224 in webkit


Ignore:
Timestamp:
Apr 15, 2012 11:12:05 PM (12 years ago)
Author:
tkent@chromium.org
Message:

WebCore::weekDayShortLabels() for ICU always returns the fallback labels
https://bugs.webkit.org/show_bug.cgi?id=83991

Reviewed by Hajime Morita.

We need to specfiy 1-based index to udat_getSymbols() with
UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
returns 8.

No new tests because this behavior depends on locale setting.

  • platform/text/LocalizedCalendarICU.cpp:

(WebCore::createLabelVector): Add startIndex argument.
(WebCore::createMonthLabels):
Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
(WebCore::createWeekDayShortLabels):
Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r114222 r114224  
     12012-04-15  Kent Tamura  <tkent@chromium.org>
     2
     3        WebCore::weekDayShortLabels() for ICU always returns the fallback labels
     4        https://bugs.webkit.org/show_bug.cgi?id=83991
     5
     6        Reviewed by Hajime Morita.
     7
     8        We need to specfiy 1-based index to udat_getSymbols() with
     9        UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
     10        returns 8.
     11
     12        No new tests because this behavior depends on locale setting.
     13
     14        * platform/text/LocalizedCalendarICU.cpp:
     15        (WebCore::createLabelVector): Add startIndex argument.
     16        (WebCore::createMonthLabels):
     17        Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
     18        (WebCore::createWeekDayShortLabels):
     19        Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().
     20
    1212012-04-15  MORITA Hajime  <morrita@google.com>
    222
  • trunk/Source/WebCore/platform/text/LocalizedCalendarICU.cpp

    r113416 r114224  
    8080}
    8181
    82 static PassOwnPtr<Vector<String> > createLabelVector(UDateFormatSymbolType type, int32_t size)
     82static PassOwnPtr<Vector<String> > createLabelVector(UDateFormatSymbolType type, int32_t startIndex, int32_t size)
    8383{
    8484    ScopedDateFormat dateFormat;
    8585    if (!dateFormat.get())
    8686        return PassOwnPtr<Vector<String> >();
    87     if (udat_countSymbols(dateFormat.get(), type) != size)
     87    if (udat_countSymbols(dateFormat.get(), type) != startIndex + size)
    8888        return PassOwnPtr<Vector<String> >();
    8989
     
    9292    for (int32_t i = 0; i < size; ++i) {
    9393        UErrorCode status = U_ZERO_ERROR;
    94         int32_t length = udat_getSymbols(dateFormat.get(), type, i, 0, 0, &status);
     94        int32_t length = udat_getSymbols(dateFormat.get(), type, startIndex + i, 0, 0, &status);
    9595        if (status != U_BUFFER_OVERFLOW_ERROR)
    9696            return PassOwnPtr<Vector<String> >();
    9797        Vector<UChar> buffer(length);
    9898        status = U_ZERO_ERROR;
    99         udat_getSymbols(dateFormat.get(), type, i, buffer.data(), length, &status);
     99        udat_getSymbols(dateFormat.get(), type, startIndex + i, buffer.data(), length, &status);
    100100        if (U_FAILURE(status))
    101101            return PassOwnPtr<Vector<String> >();
     
    107107static PassOwnPtr<Vector<String> > createMonthLabels()
    108108{
    109     OwnPtr<Vector<String> > labels = createLabelVector(UDAT_MONTHS, 12);
     109    OwnPtr<Vector<String> > labels = createLabelVector(UDAT_MONTHS, UCAL_JANUARY, 12);
    110110    return labels ? labels.release() : createFallbackMonthLabels();
    111111}
     
    133133static PassOwnPtr<Vector<String> > createWeekDayShortLabels()
    134134{
    135     OwnPtr<Vector<String> > labels = createLabelVector(UDAT_SHORT_WEEKDAYS, 7);
     135    OwnPtr<Vector<String> > labels = createLabelVector(UDAT_SHORT_WEEKDAYS, UCAL_SUNDAY, 7);
    136136    return labels ? labels.release() : createFallbackWeekDayShortLabels();
    137137}
Note: See TracChangeset for help on using the changeset viewer.