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().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125741
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-08-15 Kent Tamura <tkent@chromium.org>
+
+ 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().
+
2012-08-15 Ryosuke Niwa <rniwa@webkit.org>
Update manual tests and comments to refer to TestRunner instead of LayoutTestController
window.log('number=' + numValue + ', string="' + stringValue + '"');
if (numValue == 0)
window.document.getElementById('date').value = stringValue;
+ },
+ localizeNumberString: function(numString) {
+ if (typeof numString == "number")
+ return numString.toLocaleString();
+ return numString.toString();
}
}
+2012-08-15 Kent Tamura <tkent@chromium.org>
+
+ Calendar Picker: Localize numbers in a calendar picker
+ https://bugs.webkit.org/show_bug.cgi?id=93704
+
+ Reviewed by Hajime Morita.
+
+ 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().
+
2012-08-15 MORITA Hajime <morrita@google.com>
Regression(121518) TextFieldDecorationElement formatting is broken.
return result[1];
}
+/**
+ * @param {!number} number
+ * @return {!string}
+ */
+function localizeNumber(number) {
+ return window.pagePopupController.localizeNumberString(number);
+}
+
/*
* @const
* @type {number}
if (year > ImperialEraLimit)
return "";
if (year > 1989)
- return "(平成" + (year - 1988) + "年)";
+ return "(平成" + localizeNumber(year - 1988) + "年)";
if (year == 1989)
return "(平成元年)";
if (year >= 1927)
- return "(昭和" + (year - 1925) + "年)";
+ return "(昭和" + localizeNumber(year - 1925) + "年)";
if (year > 1912)
- return "(大正" + (year - 1911) + "年)";
+ return "(大正" + localizeNumber(year - 1911) + "年)";
if (year == 1912 && month >= 7)
return "(大正元年)";
if (year > 1868)
- return "(明治" + (year - 1867) + "年)";
+ return "(明治" + localizeNumber(year - 1867) + "年)";
if (year == 1868)
return "(明治元年)";
return "";
* @return {!string}
*/
function formatYearMonth(year, month) {
- // FIXME: Need localized number?
- var yearString = String(year);
+ var yearString = localizeNumber(year);
var monthString = global.params.monthLabels[month];
switch (getLanguage()) {
case "eu":
var iterMonth = dayIterator.getUTCMonth();
var time = dayIterator.getTime();
var element = this._days[w][d];
- // FIXME: Need localized number?
- element.innerText = String(dayIterator.getUTCDate());
+ element.innerText = localizeNumber(dayIterator.getUTCDate());
element.className = ClassNames.Day;
element.dataset.submitValue = serializeDate(iterYear, iterMonth, dayIterator.getUTCDate());
if (outOfRange(time))
#include "PagePopupController.h"
#if ENABLE(PAGE_POPUP)
+#include "LocalizedNumber.h"
#include "PagePopupClient.h"
namespace WebCore {
m_popupClient->setValueAndClosePopup(numValue, stringValue);
}
+String PagePopupController::localizeNumberString(const String& numberString)
+{
+ return convertToLocalizedNumber(numberString);
+}
+
}
#endif
public:
static PassRefPtr<PagePopupController> create(PagePopupClient*);
void setValueAndClosePopup(int numValue, const String& stringValue);
+ String localizeNumberString(const String&);
private:
explicit PagePopupController(PagePopupClient*);
Conditional=PAGE_POPUP
] PagePopupController {
void setValueAndClosePopup(in long numberValue, in DOMString stringValue);
+ DOMString localizeNumberString(in DOMString numberString);
};
}