⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 125741 in webkit


Ignore:
Timestamp:
Aug 15, 2012, 8:54:03 PM (14 years ago)
Author:
tkent@chromium.org
Message:

Calendar Picker: Localize numbers in a calendar picker
https://bugs.webkit.org/show_bug.cgi?id=93704

Reviewed by Hajime Morita.

.:

  • ManualTests/forms/calendar-picker.html:

Add a mock pagePopupController.localizeNumberString().

Source/WebCore:

Because Number.toLocaleString() of V8 returns no localized
numbers, we provide a localization function via
PagePopupController.

No new tests. We have no ways to change the locale in layout tests.

  • Resources/pagepopups/calendarPicker.js:

(localizeNumber): Added. A wrapper for pagePopupController.localizeNumberString().
(formatJapaneseImperialEra): Use localizeNumber().
(formatYearMonth): ditto.
(DaysTable.prototype._renderMonth): ditto.

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::localizeNumberString):
Added. Just calls WebCore::convertToLocalizedNumber().

  • page/PagePopupController.h:

(PagePopupController): Declare localizeNumberString().

  • page/PagePopupController.idl: Add localizeNumberString().
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r125738 r125741  
     12012-08-15  Kent Tamura  <tkent@chromium.org>
     2
     3        Calendar Picker: Localize numbers in a calendar picker
     4        https://bugs.webkit.org/show_bug.cgi?id=93704
     5
     6        Reviewed by Hajime Morita.
     7
     8        * ManualTests/forms/calendar-picker.html:
     9        Add a mock pagePopupController.localizeNumberString().
     10
    1112012-08-15  Ryosuke Niwa  <rniwa@webkit.org>
    212
  • trunk/ManualTests/forms/calendar-picker.html

    r125641 r125741  
    9494            if (numValue == 0)
    9595                window.document.getElementById('date').value = stringValue;
     96        },
     97        localizeNumberString: function(numString) {
     98            if (typeof numString == "number")
     99                return numString.toLocaleString();
     100            return numString.toString();
    96101        }
    97102    }
  • trunk/Source/WebCore/ChangeLog

    r125739 r125741  
     12012-08-15  Kent Tamura  <tkent@chromium.org>
     2
     3        Calendar Picker: Localize numbers in a calendar picker
     4        https://bugs.webkit.org/show_bug.cgi?id=93704
     5
     6        Reviewed by Hajime Morita.
     7
     8        Because Number.toLocaleString() of V8 returns no localized
     9        numbers, we provide a localization function via
     10        PagePopupController.
     11
     12        No new tests. We have no ways to change the locale in layout tests.
     13
     14        * Resources/pagepopups/calendarPicker.js:
     15        (localizeNumber): Added. A wrapper for pagePopupController.localizeNumberString().
     16        (formatJapaneseImperialEra): Use localizeNumber().
     17        (formatYearMonth): ditto.
     18        (DaysTable.prototype._renderMonth): ditto.
     19        * page/PagePopupController.cpp:
     20        (WebCore::PagePopupController::localizeNumberString):
     21        Added. Just calls WebCore::convertToLocalizedNumber().
     22        * page/PagePopupController.h:
     23        (PagePopupController): Declare localizeNumberString().
     24        * page/PagePopupController.idl: Add localizeNumberString().
     25
    1262012-08-15  MORITA Hajime  <morrita@google.com>
    227
  • trunk/Source/WebCore/Resources/pagepopups/calendarPicker.js

    r125641 r125741  
    9898}
    9999
     100/**
     101 * @param {!number} number
     102 * @return {!string}
     103 */
     104function localizeNumber(number) {
     105    return window.pagePopupController.localizeNumberString(number);
     106}
     107
    100108/*
    101109 * @const
     
    115123        return "";
    116124    if (year > 1989)
    117         return "(平成" + (year - 1988) + "年)";
     125        return "(平成" + localizeNumber(year - 1988) + "年)";
    118126    if (year == 1989)
    119127        return "(平成元年)";
    120128    if (year >= 1927)
    121         return "(昭和" + (year - 1925) + "年)";
     129        return "(昭和" + localizeNumber(year - 1925) + "年)";
    122130    if (year > 1912)
    123         return "(大正" + (year - 1911) + "年)";
     131        return "(大正" + localizeNumber(year - 1911) + "年)";
    124132    if (year == 1912 && month >= 7)
    125133        return "(大正元年)";
    126134    if (year > 1868)
    127         return "(明治" + (year - 1867) + "年)";
     135        return "(明治" + localizeNumber(year - 1867) + "年)";
    128136    if (year == 1868)
    129137        return "(明治元年)";
     
    137145 */
    138146function formatYearMonth(year, month) {
    139     // FIXME: Need localized number?
    140     var yearString = String(year);
     147    var yearString = localizeNumber(year);
    141148    var monthString = global.params.monthLabels[month];
    142149    switch (getLanguage()) {
     
    858865            var time = dayIterator.getTime();
    859866            var element = this._days[w][d];
    860             // FIXME: Need localized number?
    861             element.innerText = String(dayIterator.getUTCDate());
     867            element.innerText = localizeNumber(dayIterator.getUTCDate());
    862868            element.className = ClassNames.Day;
    863869            element.dataset.submitValue = serializeDate(iterYear, iterMonth, dayIterator.getUTCDate());
  • trunk/Source/WebCore/page/PagePopupController.cpp

    r118482 r125741  
    3333
    3434#if ENABLE(PAGE_POPUP)
     35#include "LocalizedNumber.h"
    3536#include "PagePopupClient.h"
    3637
     
    5354}
    5455
     56String PagePopupController::localizeNumberString(const String& numberString)
     57{
     58    return convertToLocalizedNumber(numberString);
     59}
     60
    5561}
    5662#endif
  • trunk/Source/WebCore/page/PagePopupController.h

    r118482 r125741  
    4545    static PassRefPtr<PagePopupController> create(PagePopupClient*);
    4646    void setValueAndClosePopup(int numValue, const String& stringValue);
     47    String localizeNumberString(const String&);
    4748
    4849private:
  • trunk/Source/WebCore/page/PagePopupController.idl

    r118482 r125741  
    3434    ] PagePopupController {
    3535        void setValueAndClosePopup(in long numberValue, in DOMString stringValue);
     36        DOMString localizeNumberString(in DOMString numberString);
    3637    };
    3738}
Note: See TracChangeset for help on using the changeset viewer.