Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 74 if (!m_popup) | 74 if (!m_popup) |
| 75 return; | 75 return; |
| 76 m_chromeClient->closePagePopup(m_popup); | 76 m_chromeClient->closePagePopup(m_popup); |
| 77 } | 77 } |
| 78 | 78 |
| 79 WebCore::IntSize DateTimeChooserImpl::contentSize() | 79 WebCore::IntSize DateTimeChooserImpl::contentSize() |
| 80 { | 80 { |
| 81 return WebCore::IntSize(0, 0); | 81 return WebCore::IntSize(0, 0); |
| 82 } | 82 } |
| 83 | 83 |
| 84 static String valueToDateTimeString(double value, AtomicString type) | |
| 85 { | |
| 86 WebCore::DateComponents components; | |
| 87 if (type == WebCore::InputTypeNames::date()) | |
| 88 components.setMillisecondsSinceEpochForDate(value); | |
|
Miguel Garcia
2013/11/11 11:35:13
perhaps consider early return in all these branche
keishi
2013/11/19 03:28:04
When the set*() method fails the components.type()
| |
| 89 else if (type == WebCore::InputTypeNames::datetimelocal()) | |
| 90 components.setMillisecondsSinceEpochForDateTimeLocal(value); | |
| 91 else if (type == WebCore::InputTypeNames::month()) | |
| 92 components.setMonthsSinceEpoch(value); | |
| 93 else if (type == WebCore::InputTypeNames::time()) | |
| 94 components.setMillisecondsSinceMidnight(value); | |
| 95 else if (type == WebCore::InputTypeNames::week()) | |
| 96 components.setMillisecondsSinceEpochForWeek(value); | |
| 97 else | |
| 98 ASSERT_NOT_REACHED(); | |
| 99 return components.type() == WebCore::DateComponents::Invalid ? String() : co mponents.toString(); | |
|
Miguel Garcia
2013/11/11 11:35:13
and then just return String() always here.
| |
| 100 } | |
| 101 | |
| 84 void DateTimeChooserImpl::writeDocument(WebCore::DocumentWriter& writer) | 102 void DateTimeChooserImpl::writeDocument(WebCore::DocumentWriter& writer) |
| 85 { | 103 { |
| 86 WebCore::DateComponents minDate; | |
| 87 WebCore::DateComponents maxDate; | |
| 88 if (m_parameters.type == WebCore::InputTypeNames::month()) { | |
| 89 minDate.setMonthsSinceEpoch(m_parameters.minimum); | |
| 90 maxDate.setMonthsSinceEpoch(m_parameters.maximum); | |
| 91 } else if (m_parameters.type == WebCore::InputTypeNames::week()) { | |
| 92 minDate.setMillisecondsSinceEpochForWeek(m_parameters.minimum); | |
| 93 maxDate.setMillisecondsSinceEpochForWeek(m_parameters.maximum); | |
| 94 } else { | |
| 95 minDate.setMillisecondsSinceEpochForDate(m_parameters.minimum); | |
| 96 maxDate.setMillisecondsSinceEpochForDate(m_parameters.maximum); | |
| 97 } | |
| 98 String stepString = String::number(m_parameters.step); | 104 String stepString = String::number(m_parameters.step); |
| 99 String stepBaseString = String::number(m_parameters.stepBase, 11, WTF::Trunc ateTrailingZeros); | 105 String stepBaseString = String::number(m_parameters.stepBase, 11, WTF::Trunc ateTrailingZeros); |
| 100 IntRect anchorRectInScreen = m_chromeClient->rootViewToScreen(m_parameters.a nchorRectInRootView); | 106 IntRect anchorRectInScreen = m_chromeClient->rootViewToScreen(m_parameters.a nchorRectInRootView); |
| 101 String todayLabelString; | 107 String todayLabelString; |
| 102 String otherDateLabelString; | 108 String otherDateLabelString; |
| 103 if (m_parameters.type == WebCore::InputTypeNames::month()) { | 109 if (m_parameters.type == WebCore::InputTypeNames::month()) { |
| 104 todayLabelString = locale().queryString(WebLocalizedString::ThisMonthBut tonLabel); | 110 todayLabelString = locale().queryString(WebLocalizedString::ThisMonthBut tonLabel); |
| 105 otherDateLabelString = locale().queryString(WebLocalizedString::OtherMon thLabel); | 111 otherDateLabelString = locale().queryString(WebLocalizedString::OtherMon thLabel); |
| 106 } else if (m_parameters.type == WebCore::InputTypeNames::week()) { | 112 } else if (m_parameters.type == WebCore::InputTypeNames::week()) { |
| 107 todayLabelString = locale().queryString(WebLocalizedString::ThisWeekButt onLabel); | 113 todayLabelString = locale().queryString(WebLocalizedString::ThisWeekButt onLabel); |
| 108 otherDateLabelString = locale().queryString(WebLocalizedString::OtherWee kLabel); | 114 otherDateLabelString = locale().queryString(WebLocalizedString::OtherWee kLabel); |
| 109 } else { | 115 } else { |
| 110 todayLabelString = locale().queryString(WebLocalizedString::CalendarToda y); | 116 todayLabelString = locale().queryString(WebLocalizedString::CalendarToda y); |
| 111 otherDateLabelString = locale().queryString(WebLocalizedString::OtherDat eLabel); | 117 otherDateLabelString = locale().queryString(WebLocalizedString::OtherDat eLabel); |
| 112 } | 118 } |
| 113 | 119 |
| 114 addString("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer); | 120 addString("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer); |
| 115 writer.addData(pickerCommonCss, sizeof(pickerCommonCss)); | 121 writer.addData(pickerCommonCss, sizeof(pickerCommonCss)); |
| 116 writer.addData(pickerButtonCss, sizeof(pickerButtonCss)); | 122 writer.addData(pickerButtonCss, sizeof(pickerButtonCss)); |
| 117 writer.addData(suggestionPickerCss, sizeof(suggestionPickerCss)); | 123 writer.addData(suggestionPickerCss, sizeof(suggestionPickerCss)); |
| 118 writer.addData(calendarPickerCss, sizeof(calendarPickerCss)); | 124 writer.addData(calendarPickerCss, sizeof(calendarPickerCss)); |
| 119 addString("</style></head><body><div id=main>Loading...</div><script>\n" | 125 addString("</style></head><body><div id=main>Loading...</div><script>\n" |
| 120 "window.dialogArguments = {\n", writer); | 126 "window.dialogArguments = {\n", writer); |
| 121 addProperty("anchorRectInScreen", anchorRectInScreen, writer); | 127 addProperty("anchorRectInScreen", anchorRectInScreen, writer); |
| 122 addProperty("min", minDate.toString(), writer); | 128 addProperty("min", valueToDateTimeString(m_parameters.minimum, m_parameters. type), writer); |
| 123 addProperty("max", maxDate.toString(), writer); | 129 addProperty("max", valueToDateTimeString(m_parameters.maximum, m_parameters. type), writer); |
| 124 addProperty("step", stepString, writer); | 130 addProperty("step", stepString, writer); |
| 125 addProperty("stepBase", stepBaseString, writer); | 131 addProperty("stepBase", stepBaseString, writer); |
| 126 addProperty("required", m_parameters.required, writer); | 132 addProperty("required", m_parameters.required, writer); |
| 127 addProperty("currentValue", m_parameters.currentValue, writer); | 133 addProperty("currentValue", valueToDateTimeString(m_parameters.doubleValue, m_parameters.type), writer); |
| 128 addProperty("locale", m_parameters.locale.string(), writer); | 134 addProperty("locale", m_parameters.locale.string(), writer); |
| 129 addProperty("todayLabel", todayLabelString, writer); | 135 addProperty("todayLabel", todayLabelString, writer); |
| 130 addProperty("clearLabel", locale().queryString(WebLocalizedString::CalendarC lear), writer); | 136 addProperty("clearLabel", locale().queryString(WebLocalizedString::CalendarC lear), writer); |
| 131 addProperty("weekLabel", locale().queryString(WebLocalizedString::WeekNumber Label), writer); | 137 addProperty("weekLabel", locale().queryString(WebLocalizedString::WeekNumber Label), writer); |
| 132 addProperty("weekStartDay", m_locale->firstDayOfWeek(), writer); | 138 addProperty("weekStartDay", m_locale->firstDayOfWeek(), writer); |
| 133 addProperty("shortMonthLabels", m_locale->shortMonthLabels(), writer); | 139 addProperty("shortMonthLabels", m_locale->shortMonthLabels(), writer); |
| 134 addProperty("dayLabels", m_locale->weekDayShortLabels(), writer); | 140 addProperty("dayLabels", m_locale->weekDayShortLabels(), writer); |
| 135 addProperty("isLocaleRTL", m_locale->isRTL(), writer); | 141 addProperty("isLocaleRTL", m_locale->isRTL(), writer); |
| 136 addProperty("isRTL", m_parameters.isAnchorElementRTL, writer); | 142 addProperty("isRTL", m_parameters.isAnchorElementRTL, writer); |
| 137 addProperty("mode", m_parameters.type.string(), writer); | 143 addProperty("mode", m_parameters.type.string(), writer); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 179 void DateTimeChooserImpl::didClosePopup() | 185 void DateTimeChooserImpl::didClosePopup() |
| 180 { | 186 { |
| 181 ASSERT(m_client); | 187 ASSERT(m_client); |
| 182 m_popup = 0; | 188 m_popup = 0; |
| 183 m_client->didEndChooser(); | 189 m_client->didEndChooser(); |
| 184 } | 190 } |
| 185 | 191 |
| 186 } // namespace blink | 192 } // namespace blink |
| 187 | 193 |
| 188 #endif // ENABLE(INPUT_MULTIPLE_FIELDS_UI) | 194 #endif // ENABLE(INPUT_MULTIPLE_FIELDS_UI) |
| OLD | NEW |