Title: [122212] trunk
- Revision
- 122212
- Author
- [email protected]
- Date
- 2012-07-10 04:19:37 -0700 (Tue, 10 Jul 2012)
Log Message
RTL calendar picker for <input type=date> is too narrow and clipped
https://bugs.webkit.org/show_bug.cgi?id=90864
Reviewed by Kentaro Hara.
.:
* ManualTests/forms/calendar-picker.html:
- Add isRTL:true for the arabic setting
- Reset the iframe size when the setting is changed.
Source/WebCore:
Tests: ManualTests/forms/calendar-picker.html
* Resources/calendarPicker.js:
(fixWindowSize):
Checks the left edge of elemenets in RTL.
(layout): Add dir=ltr for the manual test, which re-uses the document.
Modified Paths
Diff
Modified: trunk/ChangeLog (122211 => 122212)
--- trunk/ChangeLog 2012-07-10 10:49:47 UTC (rev 122211)
+++ trunk/ChangeLog 2012-07-10 11:19:37 UTC (rev 122212)
@@ -1,3 +1,14 @@
+2012-07-10 Kent Tamura <[email protected]>
+
+ RTL calendar picker for <input type=date> is too narrow and clipped
+ https://bugs.webkit.org/show_bug.cgi?id=90864
+
+ Reviewed by Kentaro Hara.
+
+ * ManualTests/forms/calendar-picker.html:
+ - Add isRTL:true for the arabic setting
+ - Reset the iframe size when the setting is changed.
+
2012-07-10 Sheriff Bot <[email protected]>
Unreviewed, rolling out r122178.
Modified: trunk/ManualTests/forms/calendar-picker.html (122211 => 122212)
--- trunk/ManualTests/forms/calendar-picker.html 2012-07-10 10:49:47 UTC (rev 122211)
+++ trunk/ManualTests/forms/calendar-picker.html 2012-07-10 11:19:37 UTC (rev 122212)
@@ -58,6 +58,7 @@
};
var arabicArguments = {
locale: 'ar',
+ isRTL: true,
monthLabels : ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو',
'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
dayLabels : ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
@@ -95,6 +96,9 @@
}
function selected(select) {
+ var frame = document.getElementsByTagName('iframe')[0];
+ frame.style.width = '100px';
+ frame.style.height = '100px';
switch (select.selectedIndex) {
case 0:
openCalendar(englishArguments);
Modified: trunk/Source/WebCore/ChangeLog (122211 => 122212)
--- trunk/Source/WebCore/ChangeLog 2012-07-10 10:49:47 UTC (rev 122211)
+++ trunk/Source/WebCore/ChangeLog 2012-07-10 11:19:37 UTC (rev 122212)
@@ -1,3 +1,17 @@
+2012-07-10 Kent Tamura <[email protected]>
+
+ RTL calendar picker for <input type=date> is too narrow and clipped
+ https://bugs.webkit.org/show_bug.cgi?id=90864
+
+ Reviewed by Kentaro Hara.
+
+ Tests: ManualTests/forms/calendar-picker.html
+
+ * Resources/calendarPicker.js:
+ (fixWindowSize):
+ Checks the left edge of elemenets in RTL.
+ (layout): Add dir=ltr for the manual test, which re-uses the document.
+
2012-07-10 Sheriff Bot <[email protected]>
Unreviewed, rolling out r122178.
Modified: trunk/Source/WebCore/Resources/calendarPicker.js (122211 => 122212)
--- trunk/Source/WebCore/Resources/calendarPicker.js 2012-07-10 10:49:47 UTC (rev 122211)
+++ trunk/Source/WebCore/Resources/calendarPicker.js 2012-07-10 11:19:37 UTC (rev 122212)
@@ -310,13 +310,23 @@
maxCellWidth = headers[i].offsetWidth;
}
var DaysAreaContainerBorder = 1;
- var maxRight = Math.max(yearMonthRightElement.offsetLeft + yearMonthRightElement.offsetWidth,
- daysAreaElement.offsetLeft + maxCellWidth * 7 + DaysAreaContainerBorder);
+ var main = $("main");
+ var yearMonthEnd;
+ var daysAreaEnd;
+ if (global.params.isRTL) {
+ var startOffset = main.offsetLeft + main.offsetWidth;
+ yearMonthEnd = startOffset - yearMonthRightElement.offsetLeft;
+ daysAreaEnd = startOffset - (daysAreaElement.offsetLeft + daysAreaElement.offsetWidth) + maxCellWidth * 7 + DaysAreaContainerBorder;
+ } else {
+ yearMonthEnd = yearMonthRightElement.offsetLeft + yearMonthRightElement.offsetWidth;
+ daysAreaEnd = daysAreaElement.offsetLeft + maxCellWidth * 7 + DaysAreaContainerBorder;
+ }
+
+ var maxEnd = Math.max(yearMonthEnd, daysAreaEnd);
var MainPadding = 6;
var MainBorder = 1;
- var desiredBodyWidth = maxRight + MainPadding + MainBorder;
+ var desiredBodyWidth = maxEnd + MainPadding + MainBorder;
- var main = $("main");
var mainHeight = main.offsetHeight;
main.style.width = "auto";
daysAreaElement.style.width = "100%";
@@ -355,6 +365,8 @@
function layout() {
if (global.params.isRTL)
document.body.dir = "rtl";
+ else
+ document.body.dir = "ltr";
var main = $("main");
var params = global.params;
main.removeChild(main.firstChild);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes