Title: [240466] trunk/Source/WebKit
Revision
240466
Author
[email protected]
Date
2019-01-24 18:53:27 -0800 (Thu, 24 Jan 2019)

Log Message

iOS: Split keyboard should not shrink visualViewport.height
https://bugs.webkit.org/show_bug.cgi?id=193798

Reviewed by Tim Horton.

Treat a split keyboard like a floating keyboard and don't consider its input view bounds in computing the visible content rects.

No new tests since while it's possible to transition between split and merged keyboard using some SPI,
there isn't a reliable mechanism to reset the keyboard state. e.g. we need to wait for a hard-coded amount of time.

* Platform/spi/ios/UIKitSPI.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (240465 => 240466)


--- trunk/Source/WebKit/ChangeLog	2019-01-25 02:47:58 UTC (rev 240465)
+++ trunk/Source/WebKit/ChangeLog	2019-01-25 02:53:27 UTC (rev 240466)
@@ -1,3 +1,19 @@
+2019-01-24  Ryosuke Niwa  <[email protected]>
+
+        iOS: Split keyboard should not shrink visualViewport.height
+        https://bugs.webkit.org/show_bug.cgi?id=193798
+
+        Reviewed by Tim Horton.
+
+        Treat a split keyboard like a floating keyboard and don't consider its input view bounds in computing the visible content rects.
+
+        No new tests since while it's possible to transition between split and merged keyboard using some SPI,
+        there isn't a reliable mechanism to reset the keyboard state. e.g. we need to wait for a hard-coded amount of time.
+
+        * Platform/spi/ios/UIKitSPI.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
+
 2019-01-24  Eric Carlson  <[email protected]>
 
         [iOS] Silence MediaPlayer compile warnings

Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (240465 => 240466)


--- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2019-01-25 02:47:58 UTC (rev 240465)
+++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2019-01-25 02:53:27 UTC (rev 240466)
@@ -297,6 +297,7 @@
 + (UIPeripheralHost *)activeInstance;
 + (CGRect)visiblePeripheralFrame;
 - (BOOL)isOnScreen;
+- (BOOL)isUndocked;
 - (UIKeyboardRotationState *)rotationState;
 @end
 

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (240465 => 240466)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-01-25 02:47:58 UTC (rev 240465)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-01-25 02:53:27 UTC (rev 240466)
@@ -3175,6 +3175,9 @@
     else
         _inputViewBounds = [self.window convertRect:CGRectIntersection([endFrameValue CGRectValue], self.window.screen.bounds) fromWindow:nil];
 
+    if ([[UIPeripheralHost sharedInstance] isUndocked])
+        _inputViewBounds = CGRectZero;
+
     if (adjustScrollView) {
         CGFloat bottomInsetBeforeAdjustment = [_scrollView contentInset].bottom;
         SetForScope<BOOL> insetAdjustmentGuard(_currentlyAdjustingScrollViewInsetsForKeyboard, YES);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to