Title: [114224] trunk/Source/WebCore
Revision
114224
Author
tk...@chromium.org
Date
2012-04-15 23:12:05 -0700 (Sun, 15 Apr 2012)

Log 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().

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (114223 => 114224)


--- trunk/Source/WebCore/ChangeLog	2012-04-16 05:21:58 UTC (rev 114223)
+++ trunk/Source/WebCore/ChangeLog	2012-04-16 06:12:05 UTC (rev 114224)
@@ -1,3 +1,23 @@
+2012-04-15  Kent Tamura  <tk...@chromium.org>
+
+        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().
+
 2012-04-15  MORITA Hajime  <morr...@google.com>
 
         Unreviewed attempt to chromium-win build fix.

Modified: trunk/Source/WebCore/platform/text/LocalizedCalendarICU.cpp (114223 => 114224)


--- trunk/Source/WebCore/platform/text/LocalizedCalendarICU.cpp	2012-04-16 05:21:58 UTC (rev 114223)
+++ trunk/Source/WebCore/platform/text/LocalizedCalendarICU.cpp	2012-04-16 06:12:05 UTC (rev 114224)
@@ -79,24 +79,24 @@
     return labels.release();
 }
 
-static PassOwnPtr<Vector<String> > createLabelVector(UDateFormatSymbolType type, int32_t size)
+static PassOwnPtr<Vector<String> > createLabelVector(UDateFormatSymbolType type, int32_t startIndex, int32_t size)
 {
     ScopedDateFormat dateFormat;
     if (!dateFormat.get())
         return PassOwnPtr<Vector<String> >();
-    if (udat_countSymbols(dateFormat.get(), type) != size)
+    if (udat_countSymbols(dateFormat.get(), type) != startIndex + size)
         return PassOwnPtr<Vector<String> >();
 
     OwnPtr<Vector<String> > labels = adoptPtr(new Vector<String>());
     labels->reserveCapacity(size);
     for (int32_t i = 0; i < size; ++i) {
         UErrorCode status = U_ZERO_ERROR;
-        int32_t length = udat_getSymbols(dateFormat.get(), type, i, 0, 0, &status);
+        int32_t length = udat_getSymbols(dateFormat.get(), type, startIndex + i, 0, 0, &status);
         if (status != U_BUFFER_OVERFLOW_ERROR)
             return PassOwnPtr<Vector<String> >();
         Vector<UChar> buffer(length);
         status = U_ZERO_ERROR;
-        udat_getSymbols(dateFormat.get(), type, i, buffer.data(), length, &status);
+        udat_getSymbols(dateFormat.get(), type, startIndex + i, buffer.data(), length, &status);
         if (U_FAILURE(status))
             return PassOwnPtr<Vector<String> >();
         labels->append(String::adopt(buffer));
@@ -106,7 +106,7 @@
 
 static PassOwnPtr<Vector<String> > createMonthLabels()
 {
-    OwnPtr<Vector<String> > labels = createLabelVector(UDAT_MONTHS, 12);
+    OwnPtr<Vector<String> > labels = createLabelVector(UDAT_MONTHS, UCAL_JANUARY, 12);
     return labels ? labels.release() : createFallbackMonthLabels();
 }
 
@@ -132,7 +132,7 @@
 
 static PassOwnPtr<Vector<String> > createWeekDayShortLabels()
 {
-    OwnPtr<Vector<String> > labels = createLabelVector(UDAT_SHORT_WEEKDAYS, 7);
+    OwnPtr<Vector<String> > labels = createLabelVector(UDAT_SHORT_WEEKDAYS, UCAL_SUNDAY, 7);
     return labels ? labels.release() : createFallbackWeekDayShortLabels();
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to