<script>
var englishArguments = {
locale: 'en-US',
- monthLabels : ['January', 'February', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October', 'November', 'December'],
dayLabels : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
todayLabel : 'Today',
clearLabel : 'Clear',
};
var japaneseArguments = {
locale: 'ja-JP',
- monthLabels : ['1月', '2月', '3月', '4月', '5月', '6月',
- '7月', '8月', '9月', '10月', '11月', '12月'],
dayLabels : ['日', '月', '火', '水', '木', '金', '土'],
todayLabel : '今日',
clearLabel : 'クリア',
locale: 'ar',
isRTL: false,
isCalendarRTL: true,
- monthLabels : ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو',
- 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
dayLabels : ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
todayLabel : 'اليوم',
clearLabel : 'مسح',
};
var datalistArguments = {
locale: 'en-US',
- monthLabels : ['January', 'February', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October', 'November', 'December'],
dayLabels : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
todayLabel : 'Today',
clearLabel : 'Clear',
};
var longDatalistArguments = {
locale: 'en-US',
- monthLabels : ['January', 'February', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October', 'November', 'December'],
dayLabels : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
todayLabel : 'Today',
clearLabel : 'Clear',
locale: 'ar',
isRTL: true,
isCalendarRTL: true,
- monthLabels : ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو',
- 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
dayLabels : ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
todayLabel : 'اليوم',
clearLabel : 'مسح',
locale: 'ar',
isRTL: true,
isCalendarRTL: true,
- monthLabels : ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو',
- 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
dayLabels : ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
todayLabel : 'اليوم',
clearLabel : 'مسح',
};
var weekArguments = {
locale: 'en-US',
- monthLabels : ['January', 'February', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October', 'November', 'December'],
dayLabels : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
todayLabel : 'This Week',
clearLabel : 'Clear',
};
var monthArguments = {
locale: 'en-US',
- monthLabels : ['January', 'February', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October', 'November', 'December'],
dayLabels : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
todayLabel : 'This Month',
clearLabel : 'Clear',
if (typeof numString == "number")
return numString.toLocaleString();
return numString.toString();
+ },
+ formatMonth: function(year, zeroBaseMonth) {
+ var monthLabels = ['<January>', '<February>', '<March>', '<April>', '<May>', '<June>',
+ '<July>', '<August>', '<September>', '<October>', '<November>', '<December>'];
+ return monthLabels[zeroBaseMonth] + " " + year;
}
}
+2012-11-15 Kent Tamura <tkent@chromium.org>
+
+ Support stand-alone month names in calendar picker
+ https://bugs.webkit.org/show_bug.cgi?id=102196
+
+ Reviewed by Kentaro Hara.
+
+ We have showed non stand-alone month names in any locales. However
+ we should show stand-alone month names in some locales such as
+ Russian.
+
+ This patch introduce PagePopupController::formatMonth. It is
+ exposed to page-popups, and format year-month pairs in the same
+ way as input[type=month].
+
+ No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.
+
+ * Resources/pagepopups/calendarPicker.js:
+ (Month.prototype.toLocaleString):
+ Calls pagePopupController.formatMonth except Japanese locale.
+ (handleArgumentsTimeout):
+ Remove unnecessary default monthLabels.
+ * page/PagePopupController.cpp:
+ (WebCore::PagePopupController::formatMonth): Added.
+ * page/PagePopupController.h:
+ (PagePopupController): Declare formatMonth.
+ * page/PagePopupController.idl: Add formatMonth.
+
2012-11-15 Eugene Klyuchnikov <eustas.bug@gmail.com>
Web Inspector: Fix new JS compiler warnings.
Month.prototype.toLocaleString = function() {
if (isNaN(this.year) || isNaN(this.year))
return "Invalid Month";
- var yearString = localizeNumber(this.year);
- var monthString = global.params.monthLabels[this.month];
- switch (getLanguage()) {
- case "eu":
- case "fil":
- case "lt":
- case "ml":
- case "mt":
- case "tl":
- case "ur":
- return yearString + " " + monthString;
- case "hu":
- return yearString + ". " + monthString;
- case "ja":
- return yearString + "年" + formatJapaneseImperialEra(this.year, this.month) + " " + monthString;
- case "zh":
- return yearString + "年" + monthString;
- case "ko":
- return yearString + "년 " + monthString;
- case "lv":
- return yearString + ". g. " + monthString;
- case "pt":
- return monthString + " de " + yearString;
- case "sr":
- return monthString + ". " + yearString;
- default:
- return monthString + " " + yearString;
- }
+ if (getLanguage() == "ja")
+ return "" + this.year + "年" + formatJapaneseImperialEra(this.year, this.month) + " " + (this.month + 1) + "月";
+ return window.pagePopupController.formatMonth(this.year, this.month);
};
function createUTCDate(year, month, date) {
if (global.argumentsReceived)
return;
var args = {
- monthLabels : ["m1", "m2", "m3", "m4", "m5", "m6",
- "m7", "m8", "m9", "m10", "m11", "m12"],
dayLabels : ["d1", "d2", "d3", "d4", "d5", "d6", "d7"],
todayLabel : "Today",
clearLabel : "Clear",
* @return {?string} An error message, or null if the argument has no errors.
*/
CalendarPicker.validateConfig = function(config) {
- if (!config.monthLabels)
- return "No monthLabels.";
- if (config.monthLabels.length != 12)
- return "monthLabels is not an array with 12 elements.";
if (!config.dayLabels)
return "No dayLabels.";
if (config.dayLabels.length != 7)