Bug 141906 - Links cannot be activated when running Mobile Safari with external SDK build of WebKit for iOS Simulator
Summary: Links cannot be activated when running Mobile Safari with external SDK build ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: iPhone / iPad iOS 8.1
: P2 Normal
Assignee: Andy Estes
URL:
Keywords:
: 168884 (view as bug list)
Depends on:
Blocks: 152134 152449
  Show dependency treegraph
 
Reported: 2015-02-23 06:45 PST by Andrey Mishanin
Modified: 2017-02-27 00:09 PST (History)
8 users (show)

See Also:


Attachments
Patch (13.00 KB, patch)
2017-02-26 20:15 PST, Andy Estes
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews124 for ios-simulator-wk2 (16.30 MB, application/zip)
2017-02-26 21:39 PST, Build Bot
no flags Details
Patch (14.66 KB, patch)
2017-02-26 22:58 PST, Andy Estes
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Mishanin 2015-02-23 06:45:58 PST
If running Mobile Safari with local build of WebKit for iOS Simulator, no links can be activated on any page. I was using latest source code from Git mirror: git commit 17c45649b8ee73b8b8baa836ea4fcfdbb51de72b; git-svn-id: http://svn.webkit.org/repository/webkit/trunk@180500 268f45cc-cd09-0410-ab3c-d52691b4dbfc.

Steps to reproduce:

1. Build WebKit: Tools/Scripts/build-webkit --ios-simulator
2. Run MobileSafari with built WebKit: Tools/Scripts/run-safari --ios-simulator
3. Open any page in MobileSafari, for example, apple.com
4. Tap on any link on the page

Expected result:

Link is activated, and MobileSafari loads the linked page.

Actual result:

Nothing happens: link is not highlighted, not activated and no loading happens. No messages are present in Console.app logs.

Extra info:

Other gestures, for example, double tap to zoom, are working fine. Building Release or Debug versions of WebKit does not make any difference.
Comment 1 Andrey Mishanin 2015-02-24 07:00:54 PST
If I am running a test app that is using UIWebView with local build of WebKit, the app just crashes when I try to activate a link:

2015-02-24 17:57:19.024 Browser-iPhone[65135:4334718] -[WebView _touchEventRegions]: unrecognized selector sent to instance 0x7f8322cd5ed0

with the following backtrace:

    frame #0: 0x000000011046bb8a libobjc.A.dylib`objc_exception_throw
    frame #1: 0x00000001097e004d CoreFoundation`-[NSObject(NSObject) doesNotRecognizeSelector:] + 205
    frame #2: 0x000000010973827c CoreFoundation`___forwarding___ + 988
    frame #3: 0x0000000109737e18 CoreFoundation`__forwarding_prep_0___ + 120
    frame #4: 0x000000010b771000 UIKit`-[UIWebBrowserView(UIWebTouchEventsGestureRecognizerDelegateImplementation) isAnyTouchOverActiveArea:] + 70
    frame #5: 0x000000010b4e7d0c UIKit`-[UIWebTouchEventsGestureRecognizer touchesBegan:withEvent:] + 105
    frame #6: 0x000000010b2d0d70 UIKit`-[UIWindow _sendGesturesForEvent:] + 395
    frame #7: 0x000000010b2d1c23 UIKit`-[UIWindow sendEvent:] + 667
    frame #8: 0x000000010b29e9b1 UIKit`-[UIApplication sendEvent:] + 246
    frame #9: 0x000000010b2aba7d UIKit`_UIApplicationHandleEventFromQueueEvent + 17370
    frame #10: 0x000000010b287103 UIKit`_UIApplicationHandleEventQueue + 1961
    frame #11: 0x000000010970e551 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #12: 0x000000010970441d CoreFoundation`__CFRunLoopDoSources0 + 269
    frame #13: 0x0000000109703a54 CoreFoundation`__CFRunLoopRun + 868
    frame #14: 0x0000000109703486 CoreFoundation`CFRunLoopRunSpecific + 470
    frame #15: 0x00000001110689f0 GraphicsServices`GSEventRunModal + 161
    frame #16: 0x000000010b28a420 UIKit`UIApplicationMain + 1282
  * frame #17: 0x0000000100c710c1 Browser-iPhone`main(argc=2, argv=0x00007fff5f5be1e0) + 129 at main.m:10
    frame #18: 0x00000001108b9145 libdyld.dylib`start + 1
Comment 2 Andrey Mishanin 2015-02-25 05:54:25 PST
Apparently this was caused by https://bugs.webkit.org/show_bug.cgi?id=135945
Comment 3 Andy Estes 2017-02-26 19:53:15 PST
*** Bug 168884 has been marked as a duplicate of this bug. ***
Comment 4 Andy Estes 2017-02-26 20:15:59 PST
Created attachment 302803 [details]
Patch
Comment 5 Daniel Bates 2017-02-26 21:09:10 PST
Yay!
Comment 6 Build Bot 2017-02-26 21:39:31 PST
Comment on attachment 302803 [details]
Patch

Attachment 302803 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/3199632

New failing tests:
fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html
Comment 7 Build Bot 2017-02-26 21:39:35 PST
Created attachment 302807 [details]
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6
Comment 8 Andy Estes 2017-02-26 22:58:40 PST
Created attachment 302818 [details]
Patch
Comment 9 Andy Estes 2017-02-26 23:10:01 PST
(In reply to comment #1)
> If I am running a test app that is using UIWebView with local build of
> WebKit, the app just crashes when I try to activate a link:
> 
> 2015-02-24 17:57:19.024 Browser-iPhone[65135:4334718] -[WebView
> _touchEventRegions]: unrecognized selector sent to instance 0x7f8322cd5ed0
> 
> with the following backtrace:
> 
>     frame #0: 0x000000011046bb8a libobjc.A.dylib`objc_exception_throw
>     frame #1: 0x00000001097e004d CoreFoundation`-[NSObject(NSObject)
> doesNotRecognizeSelector:] + 205
>     frame #2: 0x000000010973827c CoreFoundation`___forwarding___ + 988
>     frame #3: 0x0000000109737e18 CoreFoundation`__forwarding_prep_0___ + 120
>     frame #4: 0x000000010b771000
> UIKit`-
> [UIWebBrowserView(UIWebTouchEventsGestureRecognizerDelegateImplementation)
> isAnyTouchOverActiveArea:] + 70
>     frame #5: 0x000000010b4e7d0c UIKit`-[UIWebTouchEventsGestureRecognizer
> touchesBegan:withEvent:] + 105
>     frame #6: 0x000000010b2d0d70 UIKit`-[UIWindow _sendGesturesForEvent:] +
> 395
>     frame #7: 0x000000010b2d1c23 UIKit`-[UIWindow sendEvent:] + 667
>     frame #8: 0x000000010b29e9b1 UIKit`-[UIApplication sendEvent:] + 246
>     frame #9: 0x000000010b2aba7d

This is also still an issue, I think, but it's not the same as what was breaking iOS Safari.
> UIKit`_UIApplicationHandleEventFromQueueEvent + 17370
>     frame #10: 0x000000010b287103 UIKit`_UIApplicationHandleEventQueue + 1961
>     frame #11: 0x000000010970e551
> CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ +
> 17
>     frame #12: 0x000000010970441d CoreFoundation`__CFRunLoopDoSources0 + 269
>     frame #13: 0x0000000109703a54 CoreFoundation`__CFRunLoopRun + 868
>     frame #14: 0x0000000109703486 CoreFoundation`CFRunLoopRunSpecific + 470
>     frame #15: 0x00000001110689f0 GraphicsServices`GSEventRunModal + 161
>     frame #16: 0x000000010b28a420 UIKit`UIApplicationMain + 1282
>   * frame #17: 0x0000000100c710c1 Browser-iPhone`main(argc=2,
> argv=0x00007fff5f5be1e0) + 129 at main.m:10
>     frame #18: 0x00000001108b9145 libdyld.dylib`start + 1

This is a separate issue, but I can reproduce it. I filed https://bugs.webkit.org/show_bug.cgi?id=168904.
Comment 10 WebKit Commit Bot 2017-02-27 00:09:48 PST
Comment on attachment 302818 [details]
Patch

Clearing flags on attachment: 302818

Committed r213036: <http://trac.webkit.org/changeset/213036>
Comment 11 WebKit Commit Bot 2017-02-27 00:09:54 PST
All reviewed patches have been landed.  Closing bug.