Changeset 259806 in webkit
- Timestamp:
- Apr 9, 2020, 10:54:54 AM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/ios/forms/WKFormInputControl.mm (modified) (2 diffs)
-
UIProcess/ios/forms/WKFormSelectPopover.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r259805 r259806 1 2020-04-09 Megan Gardner <megan_gardner@apple.com> 2 3 [iOS] Date and time form controls are presented at the wrong size in some modes 4 https://bugs.webkit.org/show_bug.cgi?id=210194 5 <rdar://problem/60385475> 6 7 Reviewed by Tim Horton. 8 9 Instead of relying on the default size for date/time controls, we should let the 10 UIDatePicker determine its own size given the configuration we're going to use. 11 12 * UIProcess/ios/forms/WKFormInputControl.mm: 13 (-[WKDateTimePicker initWithView:datePickerMode:]): 14 (-[WKDateTimePopover initWithView:datePickerMode:]): 15 * UIProcess/ios/forms/WKFormSelectPopover.mm: 16 (-[WKSelectPopover initWithView:hasGroups:]): 17 1 18 2020-04-08 Simon Fraser <simon.fraser@apple.com> 2 19 -
trunk/Source/WebKit/UIProcess/ios/forms/WKFormInputControl.mm
r257740 r259806 116 116 default: 117 117 break; 118 } 119 120 auto size = currentUserInterfaceIdiomIsPad() ? [UIPickerView defaultSizeForCurrentOrientation] : [UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation]; 121 122 _datePicker = adoptNS([[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)]); 118 } 119 120 _datePicker = adoptNS([[UIDatePicker alloc] init]); 121 122 [_datePicker setDatePickerMode:mode]; 123 [_datePicker setHidden:NO]; 124 123 125 #if HAVE(UIDATEPICKER_STYLE) 124 126 [_datePicker setPreferredDatePickerStyle:[self datePickerStyle]]; 125 127 #endif 126 _datePicker.get().datePickerMode = mode; 127 _datePicker.get().hidden = NO; 128 129 auto size = [_datePicker sizeThatFits:CGSizeMake(view.frame.size.width, 0)]; 130 [_datePicker setFrame:CGRectMake(0, 0, size.width, size.height)]; 128 131 129 132 if ([self shouldPresentGregorianCalendar:view.focusedElementInformation]) … … 340 343 _viewController = adoptNS([[WKDateTimePopoverViewController alloc] initWithView:view datePickerMode:mode]); 341 344 UIDatePicker *datePicker = [(WKDateTimePicker *)_viewController.get().innerControl datePicker]; 342 CGFloat popoverWidth = [datePicker _contentWidth]; 343 CGFloat popoverHeight = _viewController.get().view.frame.size.height; 344 [_viewController setPreferredContentSize:CGSizeMake(popoverWidth, popoverHeight)]; 345 346 if (view.focusedElementInformation.elementType == InputType::Month) { 347 CGFloat popoverWidth = [datePicker _contentWidth]; 348 CGFloat popoverHeight = _viewController.get().view.frame.size.height; 349 [_viewController setPreferredContentSize:CGSizeMake(popoverWidth, popoverHeight)]; 350 } else 351 [_viewController setPreferredContentSize:datePicker.frame.size]; 352 345 353 [_viewController setEdgesForExtendedLayout:UIRectEdgeNone]; 346 354 [_viewController setTitle:_view.focusedElementInformation.title]; -
trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm
r250345 r259806 399 399 if (!(self = [super initWithView:view])) 400 400 return nil; 401 402 CGRect frame;403 frame.origin = CGPointZero;404 frame.size = [UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation];405 401 406 402 _tableViewController = adoptNS([[WKSelectTableViewController alloc] initWithView:view hasGroups:hasGroups]);
Note:
See TracChangeset
for help on using the changeset viewer.