Changeset 129854 in webkit
- Timestamp:
- Sep 27, 2012 11:18:15 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r129852 r129854 1 2012-09-27 Yoshifumi Inoue <yosin@chromium.org> 2 3 [Forms] Adding placeholder feature to DateTimeNumericElement, and update its existing subclasses. 4 https://bugs.webkit.org/show_bug.cgi?id=97863 5 6 Reviewed by Kent Tamura. 7 8 This patch is a part of preparation of implementing multiple fields 9 date/time input UI. 10 11 This patch introduces placeholder feature to DateTimeNumericElement 12 to display date format guide in field, e.g. displaying "dd/mm/yyyy". 13 14 Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and 15 ENABLE_INPUT_MULTIPLE_FIELDS_UI. 16 17 No new tests. This patch doesn't change behavior. 18 19 * html/shadow/DateTimeFieldElements.cpp: 20 (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement): Changed to pass placeholder class to base class. 21 (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): ditto 22 (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): ditto 23 (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): ditto 24 * html/shadow/DateTimeNumericFieldElement.cpp: Removed no more needed static function displaySizeOfNumbre(). 25 (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Changed to add new parameter to take placeholder. 26 (WebCore::DateTimeNumericFieldElement::visibleValue): Changed to use m_placholder. 27 * html/shadow/DateTimeNumericFieldElement.h: 28 (DateTimeNumericFieldElement): Changed to add a member variable m_placholder to hold placholder to DateTimeNumbericElement class. 29 1 30 2012-09-27 Kent Tamura <tkent@chromium.org> 2 31 -
trunk/Source/WebCore/html/shadow/DateTimeFieldElements.cpp
r129612 r129854 71 71 72 72 DateTimeHourFieldElement::DateTimeHourFieldElement(Document* document, FieldOwner& fieldOwner, int minimum, int maximum) 73 : DateTimeNumericFieldElement(document, fieldOwner, minimum, maximum )73 : DateTimeNumericFieldElement(document, fieldOwner, minimum, maximum, "--") 74 74 , m_alignment(maximum + maximum % 2) 75 75 { … … 176 176 177 177 DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document* document, FieldOwner& fieldOwner) 178 : DateTimeNumericFieldElement(document, fieldOwner, 0, 999 )178 : DateTimeNumericFieldElement(document, fieldOwner, 0, 999, "---") 179 179 { 180 180 } … … 217 217 218 218 DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document* document, FieldOwner& fieldOwner) 219 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59 )219 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59, "--") 220 220 { 221 221 } … … 258 258 259 259 DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document* document, FieldOwner& fieldOwner) 260 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59 )260 : DateTimeNumericFieldElement(document, fieldOwner, 0, 59, "--") 261 261 { 262 262 } -
trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp
r129832 r129854 36 36 static const DOMTimeStamp typeAheadTimeout = 1000; 37 37 38 static size_t displaySizeOfNumber(int value)39 {40 ASSERT(value >= 0);41 42 if (!value)43 return 1;44 45 int numberOfDigits = 0;46 while (value) {47 value /= 10;48 ++numberOfDigits;49 }50 51 return numberOfDigits;52 }53 54 38 DateTimeNumericFieldElement::Range::Range(int minimum, int maximum) 55 39 : maximum(maximum) … … 64 48 } 65 49 66 DateTimeNumericFieldElement::DateTimeNumericFieldElement(Document* document, FieldOwner& fieldOwner, int minimum, int maximum )50 DateTimeNumericFieldElement::DateTimeNumericFieldElement(Document* document, FieldOwner& fieldOwner, int minimum, int maximum, const String& placeholder) 67 51 : DateTimeFieldElement(document, fieldOwner) 68 52 , m_lastDigitCharTime(0) 53 , m_placeholder(placeholder) 69 54 , m_range(minimum, maximum) 70 55 , m_value(0) … … 187 172 String DateTimeNumericFieldElement::visibleValue() const 188 173 { 189 if (m_hasValue) 190 return value(); 191 192 StringBuilder builder; 193 for (int numberOfDashs = std::max(displaySizeOfNumber(m_range.maximum), displaySizeOfNumber(m_range.minimum)); numberOfDashs; --numberOfDashs) 194 builder.append('-'); 195 return builder.toString(); 174 return m_hasValue ? value() : m_placeholder; 196 175 } 197 176 -
trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h
r129832 r129854 51 51 }; 52 52 53 DateTimeNumericFieldElement(Document*, FieldOwner&, int minimum, int maximum );53 DateTimeNumericFieldElement(Document*, FieldOwner&, int minimum, int maximum, const String& placeholder); 54 54 55 55 int clampValue(int value) const { return m_range.clampValue(value); } … … 76 76 77 77 DOMTimeStamp m_lastDigitCharTime; 78 const String m_placeholder; 78 79 const Range m_range; 79 80 int m_value;
Note: See TracChangeset
for help on using the changeset viewer.