Changeset 247167 in webkit
- Timestamp:
- Jul 5, 2019 12:12:43 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r247165 r247167 1 2019-07-05 Zalan Bujtas <zalan@apple.com> 2 3 [ContentChangeObserver] REGRESSION (r247015): facebook photo/video upload button is unresponsive to user interaction. 4 https://bugs.webkit.org/show_bug.cgi?id=199502 5 <rdar://problem/52547473> 6 7 Reviewed by Simon Fraser. 8 9 * fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart-with-transition3-expected.txt: Added. 10 * fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart-with-transition3.html: Added. 11 1 12 2019-07-05 Youenn Fablet <youenn@apple.com> 2 13 -
trunk/Source/WebKit/ChangeLog
r247162 r247167 1 2019-07-05 Zalan Bujtas <zalan@apple.com> 2 3 [ContentChangeObserver] REGRESSION (r247015): facebook photo/video upload button is unresponsive to user interaction. 4 https://bugs.webkit.org/show_bug.cgi?id=199502 5 <rdar://problem/52547473> 6 7 Reviewed by Simon Fraser. 8 9 Apparently it's a common practice to put transparent elements over visible click targets (button like divs) and use the invisible 10 elements to catch the user input (e.g. Facebook's Photo/Video button). 11 This patch modifies the original "do not trigger click on invisible targets" heuristic to a more restrictive "do not trigger 12 click if the click target was previously hidden and became visible through touch start". 13 If this still breaks some use cases, we could turn it into YouTube quirk. 14 15 * WebProcess/WebPage/ios/WebPageIOS.mm: 16 (WebKit::WebPage::handleSyntheticClick): 17 1 18 2019-07-05 Ryan Haddad <ryanhaddad@apple.com> 2 19 -
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
r247158 r247167 670 670 auto& respondingDocument = nodeRespondingToClick.document(); 671 671 auto& contentChangeObserver = respondingDocument.contentChangeObserver(); 672 auto targetNode isConsideredHidden = contentChangeObserver.hiddenTouchTarget() == &nodeRespondingToClick ||ContentChangeObserver::isConsideredHidden(nodeRespondingToClick);672 auto targetNodeWentFromHiddenToVisible = contentChangeObserver.hiddenTouchTarget() == &nodeRespondingToClick && !ContentChangeObserver::isConsideredHidden(nodeRespondingToClick); 673 673 { 674 674 LOG_WITH_STREAM(ContentObservation, stream << "handleSyntheticClick: node(" << &nodeRespondingToClick << ") " << location); … … 681 681 } 682 682 683 if (targetNode isConsideredHidden) {684 LOG(ContentObservation, "handleSyntheticClick: target node is considered hidden-> hover.");683 if (targetNodeWentFromHiddenToVisible) { 684 LOG(ContentObservation, "handleSyntheticClick: target node was hidden and now is visible -> hover."); 685 685 return; 686 686 }
Note: See TracChangeset
for help on using the changeset viewer.