Changeset 182749 in webkit


Ignore:
Timestamp:
Apr 13, 2015 12:52:11 PM (9 years ago)
Author:
jhoneycutt@apple.com
Message:

Cannot click "Next" button on Google two-factor auth setup page

<https://bugs.webkit.org/show_bug.cgi?id=143624>
<rdar://problem/19175714>

.:

Reviewed by Darin Adler.

  • ManualTests/button-that-focuses-itself-on-click.html: Added.

Source/WebKit2:

This issue occurs when this site focuses the submit button. When it
receives focus, we try to assist it. While we consider ourselves to be
assisting it, we ignore further gesture inputs for that node, including
the tap gesture.

To fix this, only assist input types that we know are assistable,
including text fields, select and date elements, etc.

Reviewed by Darin Adler.

  • UIProcess/ios/WKContentViewInteraction.mm:

(isAssistableInputType):
If the type is a known-assistable type, return true.
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
Call isAssistableInputType() to determine whether we should do any kind
of assistance for this node.

Location:
trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r182740 r182749  
     12015-04-10  Jon Honeycutt  <jhoneycutt@apple.com>
     2
     3        Cannot click "Next" button on Google two-factor auth setup page
     4
     5        <https://bugs.webkit.org/show_bug.cgi?id=143624>
     6        <rdar://problem/19175714>
     7
     8        Reviewed by Darin Adler.
     9
     10        * ManualTests/button-that-focuses-itself-on-click.html: Added.
     11
    1122015-04-13  Michael Catanzaro  <mcatanzaro@igalia.com>
    213
  • trunk/Source/WebKit2/ChangeLog

    r182748 r182749  
     12015-04-10  Jon Honeycutt  <jhoneycutt@apple.com>
     2
     3        Cannot click "Next" button on Google two-factor auth setup page
     4
     5        <https://bugs.webkit.org/show_bug.cgi?id=143624>
     6        <rdar://problem/19175714>
     7
     8        This issue occurs when this site focuses the submit button. When it
     9        receives focus, we try to assist it. While we consider ourselves to be
     10        assisting it, we ignore further gesture inputs for that node, including
     11        the tap gesture.
     12
     13        To fix this, only assist input types that we know are assistable,
     14        including text fields, select and date elements, etc.
     15
     16        Reviewed by Darin Adler.
     17
     18        * UIProcess/ios/WKContentViewInteraction.mm:
     19        (isAssistableInputType):
     20        If the type is a known-assistable type, return true.
     21        (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
     22        Call isAssistableInputType() to determine whether we should do any kind
     23        of assistance for this node.
     24
    1252015-04-13  Beth Dakin  <bdakin@apple.com>
    226
  • trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm

    r182603 r182749  
    27662766}
    27672767
     2768static bool isAssistableInputType(InputType type)
     2769{
     2770    switch (type) {
     2771    case InputType::ContentEditable:
     2772    case InputType::Text:
     2773    case InputType::Password:
     2774    case InputType::TextArea:
     2775    case InputType::Search:
     2776    case InputType::Email:
     2777    case InputType::URL:
     2778    case InputType::Phone:
     2779    case InputType::Number:
     2780    case InputType::NumberPad:
     2781    case InputType::Date:
     2782    case InputType::DateTime:
     2783    case InputType::DateTimeLocal:
     2784    case InputType::Month:
     2785    case InputType::Week:
     2786    case InputType::Time:
     2787    case InputType::Select:
     2788        return true;
     2789
     2790    case InputType::None:
     2791        return false;
     2792    }
     2793
     2794    ASSERT_NOT_REACHED();
     2795    return false;
     2796}
     2797
    27682798- (void)_startAssistingNode:(const AssistedNodeInformation&)information userIsInteracting:(BOOL)userIsInteracting blurPreviousNode:(BOOL)blurPreviousNode userObject:(NSObject <NSSecureCoding> *)userObject
    27692799{
     
    27732803    if (blurPreviousNode)
    27742804        [self _stopAssistingNode];
     2805
     2806    if (!isAssistableInputType(information.elementType))
     2807        return;
    27752808
    27762809    // FIXME: We should remove this check when we manage to send StartAssistingNode from the WebProcess
Note: See TracChangeset for help on using the changeset viewer.