Changeset 232511 in webkit
- Timestamp:
- Jun 5, 2018 9:16:02 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r232510 r232511 1 2018-06-05 Antoine Quint <graouts@apple.com> 2 3 Fix the iOS build after r232496 4 https://bugs.webkit.org/show_bug.cgi?id=186304 5 6 Reviewed by Brent Fulgham. 7 8 The changes in r232496 changed the InputType::element() signature from HTMLInputElement& 9 to HTMLInputElement* and some call sites did not expect that. 10 11 * html/BaseChooserOnlyDateAndTimeInputType.cpp: 12 (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent): 13 (WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree): 14 (WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue): 15 (WebCore::BaseChooserOnlyDateAndTimeInputType::didChooseValue): 16 (WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent): 17 (WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeypressEvent): 18 (WebCore::BaseChooserOnlyDateAndTimeInputType::accessKeyAction): 19 (WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable const): 20 * html/BaseDateAndTimeInputType.cpp: 21 (WebCore::BaseDateAndTimeInputType::setValueAsDate const): 22 (WebCore::BaseDateAndTimeInputType::valueAsDouble const): 23 (WebCore::BaseDateAndTimeInputType::setValueAsDecimal const): 24 (WebCore::BaseDateAndTimeInputType::typeMismatch const): 25 (WebCore::BaseDateAndTimeInputType::serializeWithComponents const): 26 (WebCore::BaseDateAndTimeInputType::localizeValue const): 27 (WebCore::BaseDateAndTimeInputType::visibleValue const): 28 (WebCore::BaseDateAndTimeInputType::valueMissing const): 29 (WebCore::BaseDateAndTimeInputType::isKeyboardFocusable const): 30 * html/DateInputType.cpp: 31 (WebCore::DateInputType::createStepRange const): 32 * html/DateTimeLocalInputType.cpp: 33 (WebCore::DateTimeLocalInputType::createStepRange const): 34 * html/MonthInputType.cpp: 35 (WebCore::MonthInputType::valueAsDate const): 36 (WebCore::MonthInputType::createStepRange const): 37 * html/TimeInputType.cpp: 38 (WebCore::TimeInputType::createStepRange const): 39 * html/WeekInputType.cpp: 40 (WebCore::WeekInputType::createStepRange const): 41 1 42 2018-06-03 Darin Adler <darin@apple.com> 2 43 -
trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp
r232496 r232511 47 47 void BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent(Event&) 48 48 { 49 if (element().isDisabledOrReadOnly() || !element().renderer() || !UserGestureIndicator::processingUserGesture()) 49 ASSERT(element()); 50 if (element()->isDisabledOrReadOnly() || !element()->renderer() || !UserGestureIndicator::processingUserGesture()) 50 51 return; 51 52 52 53 if (m_dateTimeChooser) 53 54 return; 54 if (!element() .document().page())55 if (!element()->document().page()) 55 56 return; 56 57 DateTimeChooserParameters parameters; 57 if (!element() .setupDateTimeChooserParameters(parameters))58 if (!element()->setupDateTimeChooserParameters(parameters)) 58 59 return; 59 60 } … … 63 64 static NeverDestroyed<AtomicString> valueContainerPseudo("-webkit-date-and-time-value", AtomicString::ConstructFromLiteral); 64 65 65 auto valueContainer = HTMLDivElement::create(element().document()); 66 ASSERT(element()); 67 auto valueContainer = HTMLDivElement::create(element()->document()); 66 68 valueContainer->setPseudo(valueContainerPseudo); 67 element() .userAgentShadowRoot()->appendChild(valueContainer);69 element()->userAgentShadowRoot()->appendChild(valueContainer); 68 70 updateInnerTextValue(); 69 71 } … … 71 73 void BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue() 72 74 { 73 RefPtr<Node> node = element().userAgentShadowRoot()->firstChild(); 75 ASSERT(element()); 76 RefPtr<Node> node = element()->userAgentShadowRoot()->firstChild(); 74 77 if (!is<HTMLElement>(node)) 75 78 return; … … 96 99 void BaseChooserOnlyDateAndTimeInputType::didChooseValue(const String& value) 97 100 { 98 element().setValue(value, DispatchInputAndChangeEvent); 101 ASSERT(element()); 102 element()->setValue(value, DispatchInputAndChangeEvent); 99 103 } 100 104 … … 112 116 void BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent(KeyboardEvent& event) 113 117 { 114 BaseClickableWithKeyInputType::handleKeydownEvent(element(), event); 118 ASSERT(element()); 119 BaseClickableWithKeyInputType::handleKeydownEvent(*element(), event); 115 120 } 116 121 117 122 void BaseChooserOnlyDateAndTimeInputType::handleKeypressEvent(KeyboardEvent& event) 118 123 { 119 BaseClickableWithKeyInputType::handleKeypressEvent(element(), event); 124 ASSERT(element()); 125 BaseClickableWithKeyInputType::handleKeypressEvent(*element(), event); 120 126 } 121 127 … … 128 134 { 129 135 BaseDateAndTimeInputType::accessKeyAction(sendMouseEvents); 130 BaseClickableWithKeyInputType::accessKeyAction(element(), sendMouseEvents); 136 ASSERT(element()); 137 BaseClickableWithKeyInputType::accessKeyAction(*element(), sendMouseEvents); 131 138 } 132 139 133 140 bool BaseChooserOnlyDateAndTimeInputType::isMouseFocusable() const 134 141 { 135 return element().isTextFormControlFocusable(); 142 ASSERT(element()); 143 return element()->isTextFormControlFocusable(); 136 144 } 137 145 -
trunk/Source/WebCore/html/BaseDateAndTimeInputType.cpp
r232496 r232511 58 58 ExceptionOr<void> BaseDateAndTimeInputType::setValueAsDate(double value) const 59 59 { 60 element().setValue(serializeWithMilliseconds(value)); 60 ASSERT(element()); 61 element()->setValue(serializeWithMilliseconds(value)); 61 62 return { }; 62 63 } … … 64 65 double BaseDateAndTimeInputType::valueAsDouble() const 65 66 { 66 const Decimal value = parseToNumber(element().value(), Decimal::nan()); 67 ASSERT(element()); 68 const Decimal value = parseToNumber(element()->value(), Decimal::nan()); 67 69 return value.isFinite() ? value.toDouble() : DateComponents::invalidMilliseconds(); 68 70 } … … 70 72 ExceptionOr<void> BaseDateAndTimeInputType::setValueAsDecimal(const Decimal& newValue, TextFieldEventBehavior eventBehavior) const 71 73 { 72 element().setValue(serialize(newValue), eventBehavior); 74 ASSERT(element()); 75 element()->setValue(serialize(newValue), eventBehavior); 73 76 return { }; 74 77 } … … 81 84 bool BaseDateAndTimeInputType::typeMismatch() const 82 85 { 83 return typeMismatchFor(element().value()); 86 ASSERT(element()); 87 return typeMismatchFor(element()->value()); 84 88 } 85 89 … … 137 141 String BaseDateAndTimeInputType::serializeWithComponents(const DateComponents& date) const 138 142 { 143 ASSERT(element()); 139 144 Decimal step; 140 if (!element() .getAllowedValueStep(&step))145 if (!element()->getAllowedValueStep(&step)) 141 146 return date.toString(); 142 147 if (step.remainder(msecPerMinute).isZero()) … … 158 163 return proposedValue; 159 164 160 String localized = element().locale().formatDateTime(date); 165 ASSERT(element()); 166 String localized = element()->locale().formatDateTime(date); 161 167 return localized.isEmpty() ? proposedValue : localized; 162 168 } … … 164 170 String BaseDateAndTimeInputType::visibleValue() const 165 171 { 166 return localizeValue(element().value()); 172 ASSERT(element()); 173 return localizeValue(element()->value()); 167 174 } 168 175 … … 184 191 bool BaseDateAndTimeInputType::valueMissing(const String& value) const 185 192 { 186 return element().isRequired() && value.isEmpty(); 193 ASSERT(element()); 194 return element()->isRequired() && value.isEmpty(); 187 195 } 188 196 … … 190 198 bool BaseDateAndTimeInputType::isKeyboardFocusable(KeyboardEvent*) const 191 199 { 192 return !element().isReadOnly() && element().isTextFormControlFocusable(); 200 ASSERT(element()); 201 return !element()->isReadOnly() && element()->isTextFormControlFocusable(); 193 202 } 194 203 #endif -
trunk/Source/WebCore/html/DateInputType.cpp
r203324 r232511 65 65 static NeverDestroyed<const StepRange::StepDescription> stepDescription(dateDefaultStep, dateDefaultStepBase, dateStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger); 66 66 67 const Decimal stepBase = parseToNumber(element().attributeWithoutSynchronization(minAttr), 0); 68 const Decimal minimum = parseToNumber(element().attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumDate())); 69 const Decimal maximum = parseToNumber(element().attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumDate())); 70 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element().attributeWithoutSynchronization(stepAttr)); 67 ASSERT(element()); 68 const Decimal stepBase = parseToNumber(element()->attributeWithoutSynchronization(minAttr), 0); 69 const Decimal minimum = parseToNumber(element()->attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumDate())); 70 const Decimal maximum = parseToNumber(element()->attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumDate())); 71 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element()->attributeWithoutSynchronization(stepAttr)); 71 72 return StepRange(stepBase, RangeLimitations::Valid, minimum, maximum, step, stepDescription); 72 73 } -
trunk/Source/WebCore/html/DateTimeLocalInputType.cpp
r208096 r232511 73 73 static NeverDestroyed<const StepRange::StepDescription> stepDescription(dateTimeLocalDefaultStep, dateTimeLocalDefaultStepBase, dateTimeLocalStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger); 74 74 75 const Decimal stepBase = parseToNumber(element().attributeWithoutSynchronization(minAttr), 0); 76 const Decimal minimum = parseToNumber(element().attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumDateTime())); 77 const Decimal maximum = parseToNumber(element().attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumDateTime())); 78 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element().attributeWithoutSynchronization(stepAttr)); 75 ASSERT(element()); 76 const Decimal stepBase = parseToNumber(element()->attributeWithoutSynchronization(minAttr), 0); 77 const Decimal minimum = parseToNumber(element()->attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumDateTime())); 78 const Decimal maximum = parseToNumber(element()->attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumDateTime())); 79 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element()->attributeWithoutSynchronization(stepAttr)); 79 80 return StepRange(stepBase, RangeLimitations::Valid, minimum, maximum, step, stepDescription); 80 81 } -
trunk/Source/WebCore/html/MonthInputType.cpp
r229209 r232511 60 60 double MonthInputType::valueAsDate() const 61 61 { 62 ASSERT(element()); 62 63 DateComponents date; 63 if (!parseToDateComponents(element() .value(), &date))64 if (!parseToDateComponents(element()->value(), &date)) 64 65 return DateComponents::invalidMilliseconds(); 65 66 double msec = date.millisecondsSinceEpoch(); … … 93 94 static NeverDestroyed<const StepRange::StepDescription> stepDescription(monthDefaultStep, monthDefaultStepBase, monthStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger); 94 95 95 const Decimal stepBase = parseToNumber(element().attributeWithoutSynchronization(minAttr), Decimal::fromDouble(monthDefaultStepBase)); 96 const Decimal minimum = parseToNumber(element().attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumMonth())); 97 const Decimal maximum = parseToNumber(element().attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumMonth())); 98 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element().attributeWithoutSynchronization(stepAttr)); 96 ASSERT(element()); 97 const Decimal stepBase = parseToNumber(element()->attributeWithoutSynchronization(minAttr), Decimal::fromDouble(monthDefaultStepBase)); 98 const Decimal minimum = parseToNumber(element()->attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumMonth())); 99 const Decimal maximum = parseToNumber(element()->attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumMonth())); 100 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element()->attributeWithoutSynchronization(stepAttr)); 99 101 return StepRange(stepBase, RangeLimitations::Valid, minimum, maximum, step, stepDescription); 100 102 } -
trunk/Source/WebCore/html/TimeInputType.cpp
r229209 r232511 80 80 static NeverDestroyed<const StepRange::StepDescription> stepDescription(timeDefaultStep, timeDefaultStepBase, timeStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger); 81 81 82 const Decimal stepBase = parseToNumber(element().attributeWithoutSynchronization(minAttr), 0); 83 const Decimal minimum = parseToNumber(element().attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumTime())); 84 const Decimal maximum = parseToNumber(element().attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumTime())); 85 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element().attributeWithoutSynchronization(stepAttr)); 82 ASSERT(element()); 83 const Decimal stepBase = parseToNumber(element()->attributeWithoutSynchronization(minAttr), 0); 84 const Decimal minimum = parseToNumber(element()->attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumTime())); 85 const Decimal maximum = parseToNumber(element()->attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumTime())); 86 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element()->attributeWithoutSynchronization(stepAttr)); 86 87 return StepRange(stepBase, RangeLimitations::Valid, minimum, maximum, step, stepDescription); 87 88 } -
trunk/Source/WebCore/html/WeekInputType.cpp
r203324 r232511 60 60 static NeverDestroyed<const StepRange::StepDescription> stepDescription(weekDefaultStep, weekDefaultStepBase, weekStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger); 61 61 62 const Decimal stepBase = parseToNumber(element().attributeWithoutSynchronization(minAttr), weekDefaultStepBase); 63 const Decimal minimum = parseToNumber(element().attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumWeek())); 64 const Decimal maximum = parseToNumber(element().attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumWeek())); 65 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element().attributeWithoutSynchronization(stepAttr)); 62 ASSERT(element()); 63 const Decimal stepBase = parseToNumber(element()->attributeWithoutSynchronization(minAttr), weekDefaultStepBase); 64 const Decimal minimum = parseToNumber(element()->attributeWithoutSynchronization(minAttr), Decimal::fromDouble(DateComponents::minimumWeek())); 65 const Decimal maximum = parseToNumber(element()->attributeWithoutSynchronization(maxAttr), Decimal::fromDouble(DateComponents::maximumWeek())); 66 const Decimal step = StepRange::parseStep(anyStepHandling, stepDescription, element()->attributeWithoutSynchronization(stepAttr)); 66 67 return StepRange(stepBase, RangeLimitations::Valid, minimum, maximum, step, stepDescription); 67 68 }
Note: See TracChangeset
for help on using the changeset viewer.