⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 187326 in webkit


Ignore:
Timestamp:
Jul 24, 2015, 12:54:47 AM (11 years ago)
Author:
matthew_hanson@apple.com
Message:

Merge r187266. rdar://problem/21910578

Location:
branches/safari-601.1-branch/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-601.1-branch/Source/WebKit2/ChangeLog

    r187325 r187326  
     12015-07-24  Matthew Hanson  <matthew_hanson@apple.com>
     2
     3        Merge r187266. rdar://problem/21910578
     4
     5    2015-07-23  Dan Bernstein  <mitz@apple.com>
     6
     7            <rdar://problem/21910578> Second pass at [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
     8            https://bugs.webkit.org/show_bug.cgi?id=146732
     9
     10            Reviewed by Darin Adler.
     11
     12            * UIProcess/ios/WKContentViewInteraction.mm:
     13            (-[WKContentView _interpretKeyEvent:isCharEvent:]): Rather than checking if the view is
     14            first responder, which it might still be when the Web Content processes invokes this
     15            callback, check if we are in editable content before forwarding the event to the keyboard.
     16
    1172015-07-24  Matthew Hanson  <matthew_hanson@apple.com>
    218
  • branches/safari-601.1-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm

    r187325 r187326  
    26402640    static const unsigned kWebSpaceKey = 0x20;
    26412641
    2642     if (!self.isFirstResponder)
    2643         return NO;
    2644 
    2645     if (!_page->editorState().isContentEditable && event.isTabKey)
     2642    BOOL contentEditable = _page->editorState().isContentEditable;
     2643
     2644    if (!contentEditable && event.isTabKey)
    26462645        return NO;
    26472646
     
    26922691    case kWebBackspaceKey:
    26932692    case kWebDeleteKey:
    2694         // FIXME: remove deleteFromInput once UIKit adopts deleteFromInputWithFlags
    2695         if ([keyboard respondsToSelector:@selector(deleteFromInputWithFlags:)])
    2696             [keyboard deleteFromInputWithFlags:event.keyboardFlags];
    2697         else
    2698             [keyboard deleteFromInput];
    2699         return YES;
     2693        if (contentEditable) {
     2694            // FIXME: remove deleteFromInput once UIKit adopts deleteFromInputWithFlags
     2695            if ([keyboard respondsToSelector:@selector(deleteFromInputWithFlags:)])
     2696                [keyboard deleteFromInputWithFlags:event.keyboardFlags];
     2697            else
     2698                [keyboard deleteFromInput];
     2699            return YES;
     2700        }
     2701        break;
    27002702
    27012703    case kWebSpaceKey:
    2702         if (!_page->editorState().isContentEditable) {
     2704        if (!contentEditable) {
    27032705            [_webView _scrollByOffset:FloatPoint(0, shift ? -_page->unobscuredContentRect().height() : _page->unobscuredContentRect().height())];
    27042706            return YES;
     
    27122714    case kWebEnterKey:
    27132715    case kWebReturnKey:
    2714         if (isCharEvent) {
     2716        if (contentEditable && isCharEvent) {
    27152717            // Map \r from HW keyboard to \n to match the behavior of the soft keyboard.
    27162718            [keyboard addInputString:@"\n" withFlags:0];
     
    27242726
    27252727    default:
    2726         if (isCharEvent) {
     2728        if (contentEditable && isCharEvent) {
    27272729            [keyboard addInputString:event.characters withFlags:event.keyboardFlags];
    27282730            return YES;
Note: See TracChangeset for help on using the changeset viewer.