Followup to r245267: fix some more deprecated uses of -[UIApplication interfaceOrientation]
https://bugs.webkit.org/show_bug.cgi?id=197867
<rdar://problem/50743963>

Reviewed by Simon Fraser.

Add a helper method on WKContentView that asks the view's window's scene for an interface orientation; then,
use this helper from various places in WebKit instead of invoking -[UIApplication interfaceOrientation]
directly. No change in behavior.

* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView interfaceOrientation]):
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(-[WKDataListSuggestionsPicker initWithInformation:inView:]):
* UIProcess/ios/forms/WKFormColorPicker.mm:
(-[WKColorPicker initWithView:]):
* UIProcess/ios/forms/WKFormInputControl.mm:
(-[WKDateTimePicker initWithView:datePickerMode:]):
* UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKMultipleSelectPicker initWithView:]):
* UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectPopover initWithView:hasGroups:]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@245272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 447dc47..db42021 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,5 +1,31 @@
 2019-05-13  Wenson Hsieh  <wenson_hsieh@apple.com>
 
+        Followup to r245267: fix some more deprecated uses of -[UIApplication interfaceOrientation]
+        https://bugs.webkit.org/show_bug.cgi?id=197867
+        <rdar://problem/50743963>
+
+        Reviewed by Simon Fraser.
+
+        Add a helper method on WKContentView that asks the view's window's scene for an interface orientation; then,
+        use this helper from various places in WebKit instead of invoking -[UIApplication interfaceOrientation]
+        directly. No change in behavior.
+
+        * UIProcess/ios/WKContentView.h:
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView interfaceOrientation]):
+        * UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
+        (-[WKDataListSuggestionsPicker initWithInformation:inView:]):
+        * UIProcess/ios/forms/WKFormColorPicker.mm:
+        (-[WKColorPicker initWithView:]):
+        * UIProcess/ios/forms/WKFormInputControl.mm:
+        (-[WKDateTimePicker initWithView:datePickerMode:]):
+        * UIProcess/ios/forms/WKFormSelectPicker.mm:
+        (-[WKMultipleSelectPicker initWithView:]):
+        * UIProcess/ios/forms/WKFormSelectPopover.mm:
+        (-[WKSelectPopover initWithView:hasGroups:]):
+
+2019-05-13  Wenson Hsieh  <wenson_hsieh@apple.com>
+
         [iOS] When running layout tests that tap in the same location, subsequent tests fail to fire click handlers
         https://bugs.webkit.org/show_bug.cgi?id=197821
         <rdar://problem/50700512>
diff --git a/Source/WebKit/UIProcess/ios/WKContentView.h b/Source/WebKit/UIProcess/ios/WKContentView.h
index daa3910..2d5101b 100644
--- a/Source/WebKit/UIProcess/ios/WKContentView.h
+++ b/Source/WebKit/UIProcess/ios/WKContentView.h
@@ -67,6 +67,7 @@
 @property (nonatomic, getter=isShowingInspectorIndication) BOOL showingInspectorIndication;
 @property (nonatomic, readonly, getter=isResigningFirstResponder) BOOL resigningFirstResponder;
 @property (nonatomic) BOOL sizeChangedSinceLastVisibleContentRectUpdate;
+@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation;
 
 - (instancetype)initWithFrame:(CGRect)frame processPool:(WebKit::WebProcessPool&)processPool configuration:(Ref<API::PageConfiguration>&&)configuration webView:(WKWebView *)webView;
 
diff --git a/Source/WebKit/UIProcess/ios/WKContentView.mm b/Source/WebKit/UIProcess/ios/WKContentView.mm
index ab68809..55d80ca 100644
--- a/Source/WebKit/UIProcess/ios/WKContentView.mm
+++ b/Source/WebKit/UIProcess/ios/WKContentView.mm
@@ -545,6 +545,15 @@
     return _undoManager.get();
 }
 
+- (UIInterfaceOrientation)interfaceOrientation
+{
+#if HAVE(UISCENE)
+    return self.window.windowScene.interfaceOrientation;
+#else
+    return UIApp.interfaceOrientation;
+#endif
+}
+
 #pragma mark Internal
 
 - (void)_windowDidMoveToScreenNotification:(NSNotification *)notification
diff --git a/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm b/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm
index 5005ae6..d11a96d 100644
--- a/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm
+++ b/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm
@@ -211,12 +211,7 @@
     [_pickerView setDataSource:self];
     [_pickerView setDelegate:self];
     [_pickerView setControl:self];
-#if HAVE(UISCENE)
-    auto interfaceOrientation = view.window.windowScene.interfaceOrientation;
-#else
-    auto interfaceOrientation = UIApp.interfaceOrientation;
-#endif
-    [_pickerView setSize:[UIKeyboard defaultSizeForInterfaceOrientation:interfaceOrientation]];
+    [_pickerView setSize:[UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation]];
 
     return self;
 }
diff --git a/Source/WebKit/UIProcess/ios/forms/WKFormColorPicker.mm b/Source/WebKit/UIProcess/ios/forms/WKFormColorPicker.mm
index daac90a..45bb846 100644
--- a/Source/WebKit/UIProcess/ios/forms/WKFormColorPicker.mm
+++ b/Source/WebKit/UIProcess/ios/forms/WKFormColorPicker.mm
@@ -179,7 +179,7 @@
     if (currentUserInterfaceIdiomIsPad())
         colorPickerSize = CGSizeMake(pickerWidthForPopover, pickerWidthForPopover);
     else {
-        CGSize keyboardSize = [UIKeyboard defaultSizeForInterfaceOrientation:[UIApp interfaceOrientation]];
+        auto keyboardSize = [UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation];
         colorPickerSize = CGSizeMake(keyboardSize.width, keyboardSize.height + additionalKeyboardAffordance);
     }
 
diff --git a/Source/WebKit/UIProcess/ios/forms/WKFormInputControl.mm b/Source/WebKit/UIProcess/ios/forms/WKFormInputControl.mm
index f57866a..8384ace 100644
--- a/Source/WebKit/UIProcess/ios/forms/WKFormInputControl.mm
+++ b/Source/WebKit/UIProcess/ios/forms/WKFormInputControl.mm
@@ -106,7 +106,7 @@
         break;
    }
 
-    CGSize size = currentUserInterfaceIdiomIsPad() ? [UIPickerView defaultSizeForCurrentOrientation] : [UIKeyboard defaultSizeForInterfaceOrientation:[UIApp interfaceOrientation]];
+    auto size = currentUserInterfaceIdiomIsPad() ? [UIPickerView defaultSizeForCurrentOrientation] : [UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation];
 
     _datePicker = adoptNS([[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)]);
     _datePicker.get().datePickerMode = mode;
diff --git a/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm b/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm
index 520aa14..d032d45 100644
--- a/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm
+++ b/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm
@@ -161,7 +161,7 @@
     ALLOW_DEPRECATED_DECLARATIONS_END
 
     [self setAllowsMultipleSelection:_allowsMultipleSelection];
-    [self setSize:[UIKeyboard defaultSizeForInterfaceOrientation:[UIApp interfaceOrientation]]];
+    [self setSize:[UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation]];
     [self reloadAllComponents];
 
     if (!_allowsMultipleSelection) {
diff --git a/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm b/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm
index 5549690..891a546 100644
--- a/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm
+++ b/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm
@@ -395,7 +395,7 @@
     
     CGRect frame;
     frame.origin = CGPointZero;
-    frame.size = [UIKeyboard defaultSizeForInterfaceOrientation:[UIApp interfaceOrientation]];
+    frame.size = [UIKeyboard defaultSizeForInterfaceOrientation:view.interfaceOrientation];
 
     _tableViewController = adoptNS([[WKSelectTableViewController alloc] initWithView:view hasGroups:hasGroups]);
     [_tableViewController setPopover:self];