WebKit Bugzilla
Attachment 372262 Details for
Bug 198922
: REGRESSION (r240757): Cannot dismiss the keyboard on http://apple.com/apple-tv-plus
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198922-20190617120638.patch (text/plain), 3.62 KB, created by
Daniel Bates
on 2019-06-17 12:06:39 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Daniel Bates
Created:
2019-06-17 12:06:39 PDT
Size:
3.62 KB
patch
obsolete
>Subversion Revision: 246325 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index d5b27b44b27797f28ef29ac02303377b6030dc41..10eae7dfb5f1f3c5eabbe48f88fb6f03a97e12a9 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,29 @@ >+2019-06-17 Daniel Bates <dabates@apple.com> >+ >+ REGRESSION (r240757): Cannot dismiss the keyboard on http://apple.com/apple-tv-plus >+ https://bugs.webkit.org/show_bug.cgi?id=198922 >+ <rdar://problem/50300056> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Actually dismiss the keyboard as intended in r240757. Do not wait for the round-trip >+ to the WebProcess to run through the -elementDidBlur steps in the UIProcess and hide >+ the keyboard when a person explicitly dismisses the keyboard via the Done button (iPhone) >+ or hide keyboard button (iPad). >+ >+ Note that r240757 revealed another bug in this code, <https://bugs.webkit.org/show_bug.cgi?id=198928>. >+ I am unclear of the implications of that bug, but it is clear for this bug that it >+ never makes sense to round-trip to the WebProcess when the keyboard is dismissed by >+ a user gesture. >+ >+ * UIProcess/ios/WKContentViewInteraction.mm: >+ (-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]): Invoke -_elementDidBlur >+ to blur the element in the UIProcess and hide the keyboard. >+ (-[WKContentView _elementDidBlur]): Prevent duplicate invocations of -didEndFormControlInteraction >+ and setIsShowingInputViewForFocusedElement messages by only doing these actions when >+ editablity changes. This covers the case where -_elementDidBlur may be invoked a second >+ time (the reply in the round-trip). In that case we don't need to do these actions. >+ > 2019-06-17 Daniel Bates <dabates@apple.com> > > [iOS] Pressing key while holding Command should not insert character >diff --git a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >index e0800608d96f01476b240e90d7c7009357c39273..1d68a030d5b7bc386c65e161373ee67fff45e97b 100644 >--- a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >+++ b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >@@ -1223,8 +1223,10 @@ - (void)endEditingAndUpdateFocusAppearanceWithReason:(EndEditingReason)reason > if (!_webView._retainingActiveFocusedState) { > // We need to complete the editing operation before we blur the element. > [self _endEditing]; >- if ((reason == EndEditingReasonAccessoryDone && !currentUserInterfaceIdiomIsPad()) || _keyboardDidRequestDismissal) >+ if ((reason == EndEditingReasonAccessoryDone && !currentUserInterfaceIdiomIsPad()) || _keyboardDidRequestDismissal) { > _page->blurFocusedElement(); >+ [self _elementDidBlur]; >+ } > } > > [self _cancelInteraction]; >@@ -5269,12 +5271,13 @@ - (void)_elementDidBlur > [self removeFocusedFormControlOverlay]; > #endif > >- // The custom fixed position rect behavior is affected by -isFocusingElement, so if that changes we need to recompute rects. >- if (editableChanged) >+ if (editableChanged) { >+ // The custom fixed position rect behavior is affected by -isFocusingElement, so if that changes we need to recompute rects. > [_webView _scheduleVisibleContentRectUpdate]; > >- [_webView didEndFormControlInteraction]; >- _page->setIsShowingInputViewForFocusedElement(false); >+ [_webView didEndFormControlInteraction]; >+ _page->setIsShowingInputViewForFocusedElement(false); >+ } > > if (!_isChangingFocus) > _didAccessoryTabInitiateFocus = NO;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198922
:
372253
|
372262
|
372268
|
372374
|
372386