Bug 149592 - TouchList should be retargeted
Summary: TouchList should be retargeted
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: UI Events (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords: InRadar
Depends on:
Blocks: 148695
  Show dependency treegraph
 
Reported: 2015-09-28 00:31 PDT by Ryosuke Niwa
Modified: 2016-02-01 13:25 PST (History)
13 users (show)

See Also:


Attachments
Fixes the bug (33.87 KB, patch)
2016-01-29 20:28 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Patch for landing (33.82 KB, patch)
2016-01-29 21:09 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews107 for mac-yosemite-wk2 (803.48 KB, application/zip)
2016-01-29 22:02 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2015-09-28 00:31:56 PDT
We need to retarget touchList for touch events to hide nodes inside shadow trees.

See also webkit.org/b/149591.
Comment 1 Radar WebKit Bug Importer 2015-09-28 00:33:49 PDT
<rdar://problem/22875826>
Comment 2 Ryosuke Niwa 2016-01-29 20:28:04 PST
Created attachment 270287 [details]
Fixes the bug
Comment 3 Ryosuke Niwa 2016-01-29 21:09:42 PST
Created attachment 270289 [details]
Patch for landing
Comment 4 Ryosuke Niwa 2016-01-29 21:10:00 PST
Comment on attachment 270289 [details]
Patch for landing

Wait for EWS.
Comment 5 Build Bot 2016-01-29 22:02:18 PST
Comment on attachment 270289 [details]
Patch for landing

Attachment 270289 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/758024

New failing tests:
fast/dom/Geolocation/startUpdatingOnlyWhenPageVisible.html
fast/dom/Geolocation/stopUpdatingForHiddenPage.html
Comment 6 Build Bot 2016-01-29 22:02:22 PST
Created attachment 270296 [details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 7 Ryosuke Niwa 2016-01-30 09:51:28 PST
Comment on attachment 270296 [details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2

I don't think this test failure is related to the change.
Comment 8 WebKit Commit Bot 2016-01-30 10:38:27 PST
Comment on attachment 270289 [details]
Patch for landing

Clearing flags on attachment: 270289

Committed r195899: <http://trac.webkit.org/changeset/195899>
Comment 9 WebKit Commit Bot 2016-01-30 10:38:32 PST
All reviewed patches have been landed.  Closing bug.
Comment 10 Michael Catanzaro 2016-01-30 15:16:19 PST
It somehow broke the GTK build on the debug bot (but not the release bot):

In file included from ../../Source/WebCore/dom/Node.h:38:0,
                 from ../../Source/WebCore/dom/EventContext.h:31,
                 from ../../Source/WebCore/dom/EventDispatcher.cpp:29:
../../Source/WTF/wtf/TypeCasts.h: In instantiation of ‘static bool WTF::TypeCastTraits<ExpectedType, ArgType, isBaseType>::isOfType(ArgType&) [with ExpectedType = const WebCore::TouchEventContext; ArgType = const WebCore::EventContext; bool isBaseType = false]’:
../../Source/WTF/wtf/TypeCasts.h:59:78:   required from ‘bool WTF::is(ArgType&) [with ExpectedType = WebCore::TouchEventContext; ArgType = WebCore::EventContext]’
../../Source/WTF/wtf/TypeCasts.h:80:25:   required from ‘typename WTF::match_constness<Source, Target>::type& WTF::downcast(Source&) [with Target = WebCore::TouchEventContext; Source = WebCore::EventContext; typename WTF::match_constness<Source, Target>::type = WebCore::TouchEventContext]’
../../Source/WebCore/dom/EventDispatcher.cpp:560:45:   required from here
../../Source/WTF/wtf/TypeCasts.h:42:9: error: static assertion failed: Missing TypeCastTraits specialization
         static_assert(std::is_void<ExpectedType>::value, "Missing TypeCastTraits specialization");
         ^
ninja: build stopped: subcommand failed.
Comment 11 Michael Catanzaro 2016-01-30 17:20:57 PST
Fix landed as http://trac.webkit.org/changeset/195919
Comment 12 Daniel Bates 2016-01-31 20:14:02 PST
We need to skip the test LayoutTests/fast/shadow-dom/touch-event-ios.html on the OpenSource iOS bots because touch events are not supported when WebKit is built with the public iOS SDK (we need to fix bug #141906).

On another note, I am saddened that this test was not written to run in DumpRenderTree. Notice that the EventSender object has various functions to test touch events, including {add, update, release}TouchPoint(). Examples of using this functionality can be seen in the iOS tests in LayoutTests/platform/ios-simulator/ios.
Comment 13 Ryosuke Niwa 2016-01-31 20:25:37 PST
(In reply to comment #12)
> We need to skip the test LayoutTests/fast/shadow-dom/touch-event-ios.html on
> the OpenSource iOS bots because touch events are not supported when WebKit
> is built with the public iOS SDK (we need to fix bug #141906).
> 
> On another note, I am saddened that this test was not written to run in
> DumpRenderTree. Notice that the EventSender object has various functions to
> test touch events, including {add, update, release}TouchPoint(). Examples of
> using this functionality can be seen in the iOS tests in
> LayoutTests/platform/ios-simulator/ios.

But those event sender features aren't supported by WKTR, are they?
Comment 14 Daniel Bates 2016-01-31 22:40:22 PST
(In reply to comment #13)
> > [...]
> > On another note, I am saddened that this test was not written to run in
> > DumpRenderTree. Notice that the EventSender object has various functions to
> > test touch events, including {add, update, release}TouchPoint(). Examples of
> > using this functionality can be seen in the iOS tests in
> > LayoutTests/platform/ios-simulator/ios.
> 
> But those event sender features aren't supported by WKTR, are they?

No, such features are not implemented in EventSender used in WTR. You can use feature testing to make use of UIController or EventSender as appropriate. One example of such a test is <http://trac.webkit.org/browser/trunk/LayoutTests/fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html?rev=194038>. This test uses EventSender to simulate mouse events. A similiar approach can be used to have EventSender simulate touch events.
Comment 15 Michael Catanzaro 2016-02-01 08:02:01 PST
We're hitting now hitting an assert on the GTK+ debug bot, see bug #153741.
Comment 16 Ryan Haddad 2016-02-01 13:25:42 PST
Skipped fast/shadow-dom/touch-event-ios.html on ios-simulator in <https://trac.webkit.org/r195976>