WebKit Bugzilla
Attachment 361711 Details for
Bug 194514
: REGRESSION(r241272): Broke the Apple Internal build and the fix requires human intervention :( (Requested by dydz on #webkit).
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
ROLLOUT of r241272
bug-194514-20190211135054.patch (text/plain), 105.88 KB, created by
WebKit Commit Bot
on 2019-02-11 13:50:54 PST
(
hide
)
Description:
ROLLOUT of r241272
Filename:
MIME Type:
Creator:
WebKit Commit Bot
Created:
2019-02-11 13:50:54 PST
Size:
105.88 KB
patch
obsolete
>Subversion Revision: 241277 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index aa7fdbc84413c0afa991e63c41224b8808642ff9..fd8c4760c1bce0429500a04dff2ecad11f027f47 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-11 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r241272 and r241276. >+ https://bugs.webkit.org/show_bug.cgi?id=194514 >+ >+ Broke the Apple Internal build and the fix requires human >+ intervention :( (Requested by dydz on #webkit). >+ >+ Reverted changesets: >+ >+ "[iOS] Mouse/Touch/Pointer events are missing modifier keys" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241272 >+ >+ "Fix internal iOS build after r241272" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241276 >+ > 2019-02-11 Alex Christensen <achristensen@webkit.org> > > Stop using setDefersLoading from WebCore >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 2a4168d1ff2b64eddeaa71838be97866be3cdc62..b3845ec333a0041f77ae30b772aba60a873d4ea2 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-11 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r241272 and r241276. >+ https://bugs.webkit.org/show_bug.cgi?id=194514 >+ >+ Broke the Apple Internal build and the fix requires human >+ intervention :( (Requested by dydz on #webkit). >+ >+ Reverted changesets: >+ >+ "[iOS] Mouse/Touch/Pointer events are missing modifier keys" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241272 >+ >+ "Fix internal iOS build after r241272" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241276 >+ > 2019-02-11 Alex Christensen <achristensen@webkit.org> > > Fix internal iOS build after r241272 >diff --git a/Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm b/Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm >index a171b9db1fd4f503454d46b4e87fc1f2fb046029..be23f54c059324603a139d96b53db3d7448b285a 100644 >--- a/Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm >+++ b/Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm >@@ -95,7 +95,6 @@ public: > m_globalPosition = globalPointForEvent(event); > m_button = LeftButton; // This has always been the LeftButton on iOS. > m_clickCount = 1; // This has always been 1 on iOS. >- m_modifiers = modifiersForEvent(event); > } > }; > >diff --git a/Source/WebCore/platform/ios/WebEvent.h b/Source/WebCore/platform/ios/WebEvent.h >index 3a2f0c9c4f43f4bba1c8f629d10e32cfaddcf18d..97518dffd985106a899cd728c51a5858780af166 100644 >--- a/Source/WebCore/platform/ios/WebEvent.h >+++ b/Source/WebCore/platform/ios/WebEvent.h >@@ -139,13 +139,10 @@ WEBCORE_EXPORT @interface WebEvent : NSObject { > BOOL _wasHandled; > } > >-// Deprecated. Remove once UIKit adopts -initWithMouseEventType taking modifiers. > - (WebEvent *)initWithMouseEventType:(WebEventType)type > timeStamp:(CFTimeInterval)timeStamp > location:(CGPoint)point; > >-- (WebEvent *)initWithMouseEventType:(WebEventType)type timeStamp:(CFTimeInterval)timeStamp location:(CGPoint)point modifiers:(WebEventFlags)modifiers; >- > - (WebEvent *)initWithScrollWheelEventWithTimeStamp:(CFTimeInterval)timeStamp > location:(CGPoint)point > deltaX:(float)deltaX >diff --git a/Source/WebCore/platform/ios/WebEvent.mm b/Source/WebCore/platform/ios/WebEvent.mm >index 5443117921e8bd658b999bb78c1cdc604bd9ca76..1d5f6a44fb70b913f8fd171a69d981d2f0dd6b4b 100644 >--- a/Source/WebCore/platform/ios/WebEvent.mm >+++ b/Source/WebCore/platform/ios/WebEvent.mm >@@ -49,20 +49,19 @@ using WebCore::windowsKeyCodeForCharCode; > @synthesize timestamp = _timestamp; > @synthesize wasHandled = _wasHandled; > >-- (WebEvent *)initWithMouseEventType:(WebEventType)type timeStamp:(CFTimeInterval)timeStamp location:(CGPoint)point >-{ >- return [self initWithMouseEventType:type timeStamp:timeStamp location:point modifiers:0]; >-} >- >-- (WebEvent *)initWithMouseEventType:(WebEventType)type timeStamp:(CFTimeInterval)timeStamp location:(CGPoint)point modifiers:(WebEventFlags)modifiers >+- (WebEvent *)initWithMouseEventType:(WebEventType)type >+ timeStamp:(CFTimeInterval)timeStamp >+ location:(CGPoint)point > { > self = [super init]; > if (!self) > return nil; >+ > _type = type; > _timestamp = timeStamp; >+ > _locationInWindow = point; >- _modifierFlags = modifiers; >+ > return self; > } > >diff --git a/Source/WebKit/Platform/spi/ios/UIKitSPI.h b/Source/WebKit/Platform/spi/ios/UIKitSPI.h >index b036bbafe164501e45fb1dd49f263f9cd9b3308e..1190812e718eaaf4d2aebdbf589a3320dbc89814 100644 >--- a/Source/WebKit/Platform/spi/ios/UIKitSPI.h >+++ b/Source/WebKit/Platform/spi/ios/UIKitSPI.h >@@ -1032,10 +1032,6 @@ typedef NSInteger UICompositingMode; > > #endif // USE(APPLE_INTERNAL_SDK) > >-@interface UIGestureRecognizer () >-@property (nonatomic, readonly, getter=_modifierFlags) UIKeyModifierFlags modifierFlags; >-@end >- > // FIXME: <rdar://problem/47714562> > @interface UIWebTouchEventsGestureRecognizer (Staging_47634092) > @property (nonatomic, readonly) NSMapTable<NSNumber *, UITouch *> *activeTouchesByIdentifier; >diff --git a/Source/WebKit/Shared/NativeWebTouchEvent.h b/Source/WebKit/Shared/NativeWebTouchEvent.h >index 3910a48c757c578760371cb5b875a4bc0686078b..3b7cedb15f6d6946375e8dd1c57cf71c698899a6 100644 >--- a/Source/WebKit/Shared/NativeWebTouchEvent.h >+++ b/Source/WebKit/Shared/NativeWebTouchEvent.h >@@ -23,35 +23,27 @@ > * THE POSSIBILITY OF SUCH DAMAGE. > */ > >-#pragma once >- >-#include "WebEvent.h" >+#ifndef NativeWebTouchEvent_h >+#define NativeWebTouchEvent_h > > #if ENABLE(TOUCH_EVENTS) > >+#include "WebEvent.h" >+ > #if PLATFORM(IOS_FAMILY) >-#if defined(__OBJC__) >-#include <UIKit/UIKit.h> > struct _UIWebTouchEvent; >-#endif > #elif PLATFORM(GTK) > #include <WebCore/GUniquePtrGtk.h> > #elif USE(LIBWPE) > #include <wpe/wpe.h> > #endif > >-#endif // ENABLE(TOUCH_EVENTS) >- > namespace WebKit { > >-#if ENABLE(TOUCH_EVENTS) >- > class NativeWebTouchEvent : public WebTouchEvent { > public: > #if PLATFORM(IOS_FAMILY) >-#if defined(__OBJC__) >- explicit NativeWebTouchEvent(const _UIWebTouchEvent*, UIKeyModifierFlags); >-#endif >+ explicit NativeWebTouchEvent(const _UIWebTouchEvent*); > #elif PLATFORM(GTK) > NativeWebTouchEvent(GdkEvent*, Vector<WebPlatformTouchPoint>&&); > NativeWebTouchEvent(const NativeWebTouchEvent&); >@@ -64,7 +56,7 @@ public: > #endif > > private: >-#if PLATFORM(IOS_FAMILY) && defined(__OBJC__) >+#if PLATFORM(IOS_FAMILY) > Vector<WebPlatformTouchPoint> extractWebTouchPoint(const _UIWebTouchEvent*); > #endif > >@@ -75,10 +67,8 @@ private: > #endif > }; > >-#endif // ENABLE(TOUCH_EVENTS) >+} // namespace WebKit > >-#if PLATFORM(IOS_FAMILY) && defined(__OBJC__) >-OptionSet<WebEvent::Modifier> webEventModifierFlags(UIKeyModifierFlags); >-#endif >+#endif // ENABLE(TOUCH_EVENTS) > >-} // namespace WebKit >+#endif // NativeWebTouchEvent_h >diff --git a/Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm b/Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm >index 323c9ec03255acc9ec6bdaa3f055c6d20227da21..995f640cf7365fa26ac9c3e517cf3be8f24c2681 100644 >--- a/Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm >+++ b/Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm >@@ -26,17 +26,16 @@ > #import "config.h" > #import "NativeWebTouchEvent.h" > >-#if PLATFORM(IOS_FAMILY) >+#if PLATFORM(IOS_FAMILY) && ENABLE(TOUCH_EVENTS) > > #import "UIKitSPI.h" >+#import "WebEvent.h" > #import <UIKit/UITouch.h> > #import <WebCore/IntPoint.h> > #import <WebCore/WAKAppKitStubs.h> > > namespace WebKit { > >-#if ENABLE(TOUCH_EVENTS) >- > static inline WebEvent::Type webEventTypeForUIWebTouchEventType(UIWebTouchEventType type) > { > switch (type) { >@@ -118,10 +117,10 @@ Vector<WebPlatformTouchPoint> NativeWebTouchEvent::extractWebTouchPoint(const _U > return touchPointList; > } > >-NativeWebTouchEvent::NativeWebTouchEvent(const _UIWebTouchEvent* event, UIKeyModifierFlags flags) >+NativeWebTouchEvent::NativeWebTouchEvent(const _UIWebTouchEvent* event) > : WebTouchEvent( > webEventTypeForUIWebTouchEventType(event->type), >- webEventModifierFlags(flags), >+ OptionSet<Modifier> { }, > WallTime::fromRawSeconds(event->timestamp), > extractWebTouchPoint(event), > positionForCGPoint(event->locationInDocumentCoordinates), >@@ -136,24 +135,6 @@ NativeWebTouchEvent::NativeWebTouchEvent(const _UIWebTouchEvent* event, UIKeyMod > { > } > >-#endif // ENABLE(TOUCH_EVENTS) >- >-OptionSet<WebEvent::Modifier> webEventModifierFlags(UIKeyModifierFlags flags) >-{ >- OptionSet<WebEvent::Modifier> modifiers; >- if (flags & UIKeyModifierShift) >- modifiers.add(WebEvent::Modifier::ShiftKey); >- if (flags & UIKeyModifierControl) >- modifiers.add(WebEvent::Modifier::ControlKey); >- if (flags & UIKeyModifierAlternate) >- modifiers.add(WebEvent::Modifier::AltKey); >- if (flags & UIKeyModifierCommand) >- modifiers.add(WebEvent::Modifier::MetaKey); >- if (flags & UIKeyModifierAlphaShift) >- modifiers.add(WebEvent::Modifier::CapsLockKey); >- return modifiers; >-} >- > } // namespace WebKit > >-#endif // PLATFORM(IOS_FAMILY) >+#endif // PLATFORM(IOS_FAMILY) && ENABLE(TOUCH_EVENTS) >diff --git a/Source/WebKit/Shared/ios/WebIOSEventFactory.h b/Source/WebKit/Shared/ios/WebIOSEventFactory.h >index 8579c334fac22707079af2fa3fd94413532396a3..ab98d8fc0d8e1b2d84a3ebd71baf7dab0ee21d9a 100644 >--- a/Source/WebKit/Shared/ios/WebIOSEventFactory.h >+++ b/Source/WebKit/Shared/ios/WebIOSEventFactory.h >@@ -23,20 +23,20 @@ > * THE POSSIBILITY OF SUCH DAMAGE. > */ > >-#pragma once >+#ifndef WebIOSEventFactory_h >+#define WebIOSEventFactory_h > > #if PLATFORM(IOS_FAMILY) > > #import "WebEvent.h" >-#import <UIKit/UIKit.h> > #import <WebCore/WebEvent.h> > > class WebIOSEventFactory { > public: > static WebKit::WebKeyboardEvent createWebKeyboardEvent(::WebEvent *); > static WebKit::WebMouseEvent createWebMouseEvent(::WebEvent *); >- >- static UIKeyModifierFlags toUIKeyModifierFlags(OptionSet<WebKit::WebEvent::Modifier>); > }; > > #endif // PLATFORM(IOS_FAMILY) >+ >+#endif // WebIOSEventFactory_h >diff --git a/Source/WebKit/Shared/ios/WebIOSEventFactory.mm b/Source/WebKit/Shared/ios/WebIOSEventFactory.mm >index 25c16ec2252d450694cc823749571ed20fbd0a47..84a7a5a4dbf012e222bd386eae01c6f6d24d15ad 100644 >--- a/Source/WebKit/Shared/ios/WebIOSEventFactory.mm >+++ b/Source/WebKit/Shared/ios/WebIOSEventFactory.mm >@@ -31,22 +31,6 @@ > #import <WebCore/KeyEventCodesIOS.h> > #import <WebCore/PlatformEventFactoryIOS.h> > >-UIKeyModifierFlags WebIOSEventFactory::toUIKeyModifierFlags(OptionSet<WebKit::WebEvent::Modifier> modifiers) >-{ >- UIKeyModifierFlags modifierFlags = 0; >- if (modifiers.contains(WebKit::WebEvent::Modifier::ShiftKey)) >- modifierFlags |= UIKeyModifierShift; >- if (modifiers.contains(WebKit::WebEvent::Modifier::ControlKey)) >- modifierFlags |= UIKeyModifierControl; >- if (modifiers.contains(WebKit::WebEvent::Modifier::AltKey)) >- modifierFlags |= UIKeyModifierAlternate; >- if (modifiers.contains(WebKit::WebEvent::Modifier::MetaKey)) >- modifierFlags |= UIKeyModifierCommand; >- if (modifiers.contains(WebKit::WebEvent::Modifier::CapsLockKey)) >- modifierFlags |= UIKeyModifierAlphaShift; >- return modifierFlags; >-} >- > static OptionSet<WebKit::WebEvent::Modifier> modifiersForEvent(::WebEvent *event) > { > OptionSet<WebKit::WebEvent::Modifier> modifiers; >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKNavigationAction.mm b/Source/WebKit/UIProcess/API/Cocoa/WKNavigationAction.mm >index 8ebba1f5bc53c697498b514bbb4e6d6a8d838570..44c8bb6092edaa12ca3ecc9c47de510d6cfb6d73 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKNavigationAction.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKNavigationAction.mm >@@ -36,10 +36,6 @@ > #import <WebCore/FloatPoint.h> > #import <wtf/RetainPtr.h> > >-#if PLATFORM(IOS_FAMILY) >-#import "WebIOSEventFactory.h" >-#endif >- > @implementation WKNavigationAction > > static WKNavigationType toWKNavigationType(WebCore::NavigationType navigationType) >@@ -131,7 +127,6 @@ static WKSyntheticClickType toWKSyntheticClickType(WebKit::WebMouseEvent::Synthe > #endif > > #if PLATFORM(MAC) >- > - (NSEventModifierFlags)modifierFlags > { > return WebKit::WebEventFactory::toNSEventModifierFlags(_navigationAction->modifiers()); >@@ -141,14 +136,6 @@ static WKSyntheticClickType toWKSyntheticClickType(WebKit::WebMouseEvent::Synthe > { > return WebKit::WebEventFactory::toNSButtonNumber(_navigationAction->mouseButton()); > } >- >-#else >- >-- (UIKeyModifierFlags)modifierFlags >-{ >- return WebIOSEventFactory::toUIKeyModifierFlags(_navigationAction->modifiers()); >-} >- > #endif > > #pragma mark WKObject protocol implementation >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKNavigationActionPrivate.h b/Source/WebKit/UIProcess/API/Cocoa/WKNavigationActionPrivate.h >index ad7422f2b75715a4cdec89c826efd6707b6e75ee..5df7ae0d509155870fbb8e1066f3ffcd22a197ba 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKNavigationActionPrivate.h >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKNavigationActionPrivate.h >@@ -31,8 +31,6 @@ > @class _WKUserInitiatedAction; > > #if TARGET_OS_IPHONE >-#include <UIKit/UIKit.h> >- > typedef NS_ENUM(NSInteger, WKSyntheticClickType) { > WKSyntheticClickTypeNoTap, > WKSyntheticClickTypeOneFingerTap, >@@ -55,8 +53,6 @@ typedef NS_ENUM(NSInteger, WKSyntheticClickType) { > #if TARGET_OS_IPHONE > @property (nonatomic, readonly) WKSyntheticClickType _syntheticClickType WK_API_AVAILABLE(ios(10.0)); > @property (nonatomic, readonly) CGPoint _clickLocationInRootViewCoordinates WK_API_AVAILABLE(ios(11.0)); >- >-@property (nonatomic, readonly) UIKeyModifierFlags modifierFlags WK_API_AVAILABLE(ios(WK_IOS_TBA)); > #endif > > @property (nonatomic, readonly) BOOL _isRedirect WK_API_AVAILABLE(macosx(10.13), ios(11.0)); >diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h >index 0ba2936cf74c6df85fb0e1e53414accfa7754546..d99c2ada4b4d6c3a36734f434ed9555e48a8c0bc 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.h >+++ b/Source/WebKit/UIProcess/WebPageProxy.h >@@ -80,7 +80,6 @@ > #include <WebCore/LayoutSize.h> > #include <WebCore/MediaPlaybackTargetContext.h> > #include <WebCore/MediaProducer.h> >-#include <WebCore/PlatformEvent.h> > #include <WebCore/PlatformScreen.h> > #include <WebCore/PointerID.h> > #include <WebCore/ScrollTypes.h> >@@ -673,7 +672,7 @@ public: > void disableDoubleTapGesturesDuringTapIfNecessary(uint64_t requestID); > void contentSizeCategoryDidChange(const String& contentSizeCategory); > void getSelectionContext(WTF::Function<void(const String&, const String&, const String&, CallbackBase::Error)>&&); >- void handleTwoFingerTapAtPoint(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t requestID); >+ void handleTwoFingerTapAtPoint(const WebCore::IntPoint&, uint64_t requestID); > void handleStylusSingleTapAtPoint(const WebCore::IntPoint&, uint64_t requestID); > void setForceAlwaysUserScalable(bool); > bool forceAlwaysUserScalable() const { return m_forceAlwaysUserScalable; } >@@ -1172,10 +1171,10 @@ public: > void willStartUserTriggeredZooming(); > > void potentialTapAtPosition(const WebCore::FloatPoint&, uint64_t& requestID); >- void commitPotentialTap(OptionSet<WebKit::WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart); >+ void commitPotentialTap(uint64_t layerTreeTransactionIdAtLastTouchStart); > void cancelPotentialTap(); > void tapHighlightAtPosition(const WebCore::FloatPoint&, uint64_t& requestID); >- void handleTap(const WebCore::FloatPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart); >+ void handleTap(const WebCore::FloatPoint&, uint64_t layerTreeTransactionIdAtLastTouchStart); > > void inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint&); > void inspectorNodeSearchEndedAtPosition(const WebCore::FloatPoint&); >diff --git a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h >index 9189ebdcf59aa1353b4424ef3754cbb105f22b0d..44c6bf7d7e009ec69a0cd6b6f94907aa2f7f89aa 100644 >--- a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h >+++ b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h >@@ -406,7 +406,7 @@ FOR_EACH_PRIVATE_WKCONTENTVIEW_ACTION(DECLARE_WKCONTENTVIEW_ACTION_FOR_WEB_VIEW) > - (void)_updateChangedSelection; > - (BOOL)_interpretKeyEvent:(::WebEvent *)theEvent isCharEvent:(BOOL)isCharEvent; > - (void)_positionInformationDidChange:(const WebKit::InteractionInformationAtPosition&)info; >-- (void)_attemptClickAtLocation:(CGPoint)location modifierFlags:(UIKeyModifierFlags)modifierFlags; >+- (void)_attemptClickAtLocation:(CGPoint)location; > - (void)_willStartScrollingOrZooming; > - (void)_didScroll; > - (void)_didEndScrollingOrZooming; >diff --git a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >index 183867266363df18eb78cb9ffc6e4f72bd77ad91..680366457607e402d4fdcd47964f84ed72d54465 100644 >--- a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >+++ b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >@@ -1160,11 +1160,6 @@ static inline bool hasFocusedElement(WebKit::FocusedElementInformation focusedEl > } > #endif > >-inline static UIKeyModifierFlags gestureRecognizerModifierFlags(UIGestureRecognizer *recognizer) >-{ >- return [recognizer respondsToSelector:@selector(_modifierFlags)] ? recognizer.modifierFlags : 0; >-} >- > - (void)_webTouchEventsRecognized:(UIWebTouchEventsGestureRecognizer *)gestureRecognizer > { > if (!_page->isValid()) >@@ -1177,7 +1172,7 @@ inline static UIKeyModifierFlags gestureRecognizerModifierFlags(UIGestureRecogni > _layerTreeTransactionIdAtLastTouchStart = downcast<WebKit::RemoteLayerTreeDrawingAreaProxy>(*_page->drawingArea()).lastCommittedLayerTreeTransactionID(); > > #if ENABLE(TOUCH_EVENTS) >- WebKit::NativeWebTouchEvent nativeWebTouchEvent { lastTouchEvent, gestureRecognizerModifierFlags(gestureRecognizer) }; >+ WebKit::NativeWebTouchEvent nativeWebTouchEvent(lastTouchEvent); > nativeWebTouchEvent.setCanPreventNativeGestures(!_canSendTouchEventsAsynchronously || [gestureRecognizer isDefaultPrevented]); > > #if ENABLE(POINTER_EVENTS) >@@ -2060,7 +2055,7 @@ static inline bool isSamePair(UIGestureRecognizer *a, UIGestureRecognizer *b, UI > break; > case UIGestureRecognizerStateEnded: > if (_highlightLongPressCanClick && _positionInformation.isElement) { >- [self _attemptClickAtLocation:gestureRecognizer.startPoint modifierFlags:gestureRecognizerModifierFlags(gestureRecognizer)]; >+ [self _attemptClickAtLocation:[gestureRecognizer startPoint]]; > [self _finishInteraction]; > } else > [self _cancelInteraction]; >@@ -2079,7 +2074,7 @@ static inline bool isSamePair(UIGestureRecognizer *a, UIGestureRecognizer *b, UI > { > _isTapHighlightIDValid = YES; > _isExpectingFastSingleTapCommit = YES; >- _page->handleTwoFingerTapAtPoint(WebCore::roundedIntPoint(gestureRecognizer.centroid), WebKit::webEventModifierFlags(gestureRecognizerModifierFlags(gestureRecognizer)), ++_latestTapID); >+ _page->handleTwoFingerTapAtPoint(WebCore::roundedIntPoint(gestureRecognizer.centroid), ++_latestTapID); > } > > - (void)_stylusSingleTapRecognized:(UITapGestureRecognizer *)gestureRecognizer >@@ -2201,7 +2196,7 @@ static void cancelPotentialTapIfNecessary(WKContentView* contentView) > } > > [_inputPeripheral endEditing]; >- _page->commitPotentialTap(WebKit::webEventModifierFlags(gestureRecognizerModifierFlags(gestureRecognizer)), _layerTreeTransactionIdAtLastTouchStart); >+ _page->commitPotentialTap(_layerTreeTransactionIdAtLastTouchStart); > > if (!_isExpectingFastSingleTapCommit) > [self _finishInteraction]; >@@ -2234,7 +2229,7 @@ static void cancelPotentialTapIfNecessary(WKContentView* contentView) > _smartMagnificationController->handleResetMagnificationGesture(gestureRecognizer.location); > } > >-- (void)_attemptClickAtLocation:(CGPoint)location modifierFlags:(UIKeyModifierFlags)modifierFlags >+- (void)_attemptClickAtLocation:(CGPoint)location > { > if (![self isFirstResponder]) { > if (!_inputViewUpdateDeferrer) >@@ -2243,7 +2238,7 @@ static void cancelPotentialTapIfNecessary(WKContentView* contentView) > } > > [_inputPeripheral endEditing]; >- _page->handleTap(location, WebKit::webEventModifierFlags(modifierFlags), _layerTreeTransactionIdAtLastTouchStart); >+ _page->handleTap(location, _layerTreeTransactionIdAtLastTouchStart); > } > > - (void)setUpTextSelectionAssistant >@@ -5416,7 +5411,7 @@ static const double minimumFocusedElementAreaForSuppressingSelectionAssistant = > > - (void)actionSheetAssistant:(WKActionSheetAssistant *)assistant openElementAtLocation:(CGPoint)location > { >- [self _attemptClickAtLocation:location modifierFlags:0]; >+ [self _attemptClickAtLocation:location]; > } > > - (void)actionSheetAssistant:(WKActionSheetAssistant *)assistant shareElementWithURL:(NSURL *)url rect:(CGRect)boundingRect >@@ -6423,22 +6418,6 @@ ALLOW_DEPRECATED_DECLARATIONS_END > _page->performDictionaryLookupAtLocation(WebCore::FloatPoint(locationInViewCoordinates)); > } > >-static WebEventFlags webEventFlagsForUIKeyModifierFlags(UIKeyModifierFlags flags) >-{ >- WebEventFlags eventFlags = 0; >- if (flags & UIKeyModifierShift) >- eventFlags |= WebEventFlagMaskLeftShiftKey; >- if (flags & UIKeyModifierControl) >- eventFlags |= WebEventFlagMaskLeftControlKey; >- if (flags & UIKeyModifierAlternate) >- eventFlags |= WebEventFlagMaskLeftOptionKey; >- if (flags & UIKeyModifierCommand) >- eventFlags |= WebEventFlagMaskLeftCommandKey; >- if (flags & UIKeyModifierAlphaShift) >- eventFlags |= WebEventFlagMaskLeftCapsLockKey; >- return eventFlags; >-} >- > - (void)_hoverGestureRecognizerChanged:(UIGestureRecognizer *)gestureRecognizer > { > if (!_page->isValid()) >@@ -6460,7 +6439,7 @@ static WebEventFlags webEventFlagsForUIKeyModifierFlags(UIKeyModifierFlags flags > break; > } > >- auto event = adoptNS([[::WebEvent alloc] initWithMouseEventType:WebEventMouseMoved timeStamp:timestamp location:point modifiers:webEventFlagsForUIKeyModifierFlags(gestureRecognizerModifierFlags(gestureRecognizer))]); >+ auto event = adoptNS([[::WebEvent alloc] initWithMouseEventType:WebEventMouseMoved timeStamp:timestamp location:point]); > _page->handleMouseEvent(WebKit::NativeWebMouseEvent(event.get())); > } > #endif >diff --git a/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm b/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm >index e5006ede5b504228143716adc7a405838f343943..fe1d7a301122cea8f81b0d6083f1ae9b6dd0bd34 100644 >--- a/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm >+++ b/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm >@@ -596,9 +596,9 @@ void WebPageProxy::getSelectionContext(WTF::Function<void(const String&, const S > m_process->send(Messages::WebPage::GetSelectionContext(callbackID), m_pageID); > } > >-void WebPageProxy::handleTwoFingerTapAtPoint(const WebCore::IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t requestID) >+void WebPageProxy::handleTwoFingerTapAtPoint(const WebCore::IntPoint& point, uint64_t requestID) > { >- process().send(Messages::WebPage::HandleTwoFingerTapAtPoint(point, modifiers, requestID), m_pageID); >+ process().send(Messages::WebPage::HandleTwoFingerTapAtPoint(point, requestID), m_pageID); > } > > void WebPageProxy::handleStylusSingleTapAtPoint(const WebCore::IntPoint& point, uint64_t requestID) >@@ -827,9 +827,9 @@ void WebPageProxy::potentialTapAtPosition(const WebCore::FloatPoint& position, u > process().send(Messages::WebPage::PotentialTapAtPosition(requestID, position), m_pageID); > } > >-void WebPageProxy::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, uint64_t layerTreeTransactionIdAtLastTouchStart) >+void WebPageProxy::commitPotentialTap(uint64_t layerTreeTransactionIdAtLastTouchStart) > { >- process().send(Messages::WebPage::CommitPotentialTap(modifiers, layerTreeTransactionIdAtLastTouchStart), m_pageID); >+ process().send(Messages::WebPage::CommitPotentialTap(layerTreeTransactionIdAtLastTouchStart), m_pageID); > } > > void WebPageProxy::cancelPotentialTap() >@@ -842,9 +842,9 @@ void WebPageProxy::tapHighlightAtPosition(const WebCore::FloatPoint& position, u > process().send(Messages::WebPage::TapHighlightAtPosition(requestID, position), m_pageID); > } > >-void WebPageProxy::handleTap(const FloatPoint& location, OptionSet<WebEvent::Modifier> modifiers, uint64_t layerTreeTransactionIdAtLastTouchStart) >+void WebPageProxy::handleTap(const FloatPoint& location, uint64_t layerTreeTransactionIdAtLastTouchStart) > { >- process().send(Messages::WebPage::HandleTap(roundedIntPoint(location), modifiers, layerTreeTransactionIdAtLastTouchStart), m_pageID); >+ process().send(Messages::WebPage::HandleTap(roundedIntPoint(location), layerTreeTransactionIdAtLastTouchStart), m_pageID); > } > > void WebPageProxy::inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint& position) >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h >index 18eea010d671666d0253d92b7c2988a8cc08ed47..b913332bb52506adc15957a4ab2ff42cba743f62 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.h >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.h >@@ -614,9 +614,9 @@ public: > bool allowsUserScaling() const; > bool hasStablePageScaleFactor() const { return m_hasStablePageScaleFactor; } > >- void handleTap(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t lastLayerTreeTransactionId); >+ void handleTap(const WebCore::IntPoint&, uint64_t lastLayerTreeTransactionId); > void potentialTapAtPosition(uint64_t requestID, const WebCore::FloatPoint&); >- void commitPotentialTap(OptionSet<WebKit::WebEvent::Modifier>, uint64_t lastLayerTreeTransactionId); >+ void commitPotentialTap(uint64_t lastLayerTreeTransactionId); > void commitPotentialTapFailed(); > void cancelPotentialTap(); > void cancelPotentialTapInFrame(WebFrame&); >@@ -662,7 +662,7 @@ public: > WebCore::IntRect rectForElementAtInteractionLocation(); > void updateSelectionAppearance(); > void getSelectionContext(CallbackID); >- void handleTwoFingerTapAtPoint(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t requestID); >+ void handleTwoFingerTapAtPoint(const WebCore::IntPoint&, uint64_t requestID); > void handleStylusSingleTapAtPoint(const WebCore::IntPoint&, uint64_t requestID); > void getRectsForGranularityWithSelectionOffset(uint32_t, int32_t, CallbackID); > void getRectsAtSelectionOffsetWithText(int32_t, const String&, CallbackID); >@@ -1185,8 +1185,8 @@ private: > RefPtr<WebCore::Range> rangeForWebSelectionAtPosition(const WebCore::IntPoint&, const WebCore::VisiblePosition&, SelectionFlags&); > void getFocusedElementInformation(FocusedElementInformation&); > void platformInitializeAccessibility(); >- void handleSyntheticClick(WebCore::Node* nodeRespondingToClick, const WebCore::FloatPoint& location, OptionSet<WebKit::WebEvent::Modifier>); >- void completeSyntheticClick(WebCore::Node* nodeRespondingToClick, const WebCore::FloatPoint& location, OptionSet<WebKit::WebEvent::Modifier>, WebCore::SyntheticClickType); >+ void handleSyntheticClick(WebCore::Node* nodeRespondingToClick, const WebCore::FloatPoint& location); >+ void completeSyntheticClick(WebCore::Node* nodeRespondingToClick, const WebCore::FloatPoint& location, WebCore::SyntheticClickType); > void sendTapHighlightForNodeIfNecessary(uint64_t requestID, WebCore::Node*); > void resetTextAutosizing(); > WebCore::VisiblePosition visiblePositionInFocusedNodeForPoint(const WebCore::Frame&, const WebCore::IntPoint&, bool isInteractingWithFocusedElement); >@@ -1768,7 +1768,6 @@ private: > RefPtr<WebCore::Node> m_pendingSyntheticClickNode; > WebCore::FloatPoint m_pendingSyntheticClickLocation; > WebCore::FloatRect m_previousExposedContentRect; >- OptionSet<WebKit::WebEvent::Modifier> m_pendingSyntheticClickModifiers; > FocusedElementIdentifier m_currentFocusedElementIdentifier { 0 }; > Optional<DynamicViewportSizeUpdateID> m_pendingDynamicViewportSizeUpdateID; > double m_lastTransactionPageScaleFactor { 0 }; >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in >index 2d5b7b5a6bcd09307183f449fad16c27cd64b681..a8c61769e5e74d214e8cef0a64158478b2301cea 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in >@@ -51,9 +51,9 @@ messages -> WebPage LegacyReceiver { > SetOverrideViewportArguments(Optional<WebCore::ViewportArguments> arguments) > DynamicViewportSizeUpdate(WebCore::FloatSize viewLayoutSize, WebCore::FloatSize maximumUnobscuredSize, WebCore::FloatRect targetExposedContentRect, WebCore::FloatRect targetUnobscuredRect, WebCore::FloatRect targetUnobscuredRectInScrollViewCoordinates, WebCore::RectEdges<float> targetUnobscuredSafeAreaInsets, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID) > >- HandleTap(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId) >+ HandleTap(WebCore::IntPoint point, uint64_t lastLayerTreeTransactionId) > PotentialTapAtPosition(uint64_t requestID, WebCore::FloatPoint point) >- CommitPotentialTap(OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId) >+ CommitPotentialTap(uint64_t lastLayerTreeTransactionId) > CancelPotentialTap() > TapHighlightAtPosition(uint64_t requestID, WebCore::FloatPoint point) > InspectorNodeSearchMovedToPosition(WebCore::FloatPoint point) >@@ -98,7 +98,7 @@ messages -> WebPage LegacyReceiver { > ContentSizeCategoryDidChange(String contentSizeCategory) > GetSelectionContext(WebKit::CallbackID callbackID) > SetAllowsMediaDocumentInlinePlayback(bool allows) >- HandleTwoFingerTapAtPoint(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t requestID) >+ HandleTwoFingerTapAtPoint(WebCore::IntPoint point, uint64_t requestID) > HandleStylusSingleTapAtPoint(WebCore::IntPoint point, uint64_t requestID) > SetForceAlwaysUserScalable(bool userScalable) > GetRectsForGranularityWithSelectionOffset(uint32_t granularity, int32_t offset, WebKit::CallbackID callbackID) >diff --git a/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm b/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm >index f9dfd0d37226e98f945abc5ff4c0a1ffab84ab34..7eb71ae912a93500b35893830b6e24a0636cd7ef 100644 >--- a/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm >+++ b/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm >@@ -534,7 +534,7 @@ void WebPage::updateSelectionAppearance() > didChangeSelection(); > } > >-void WebPage::handleSyntheticClick(Node* nodeRespondingToClick, const WebCore::FloatPoint& location, OptionSet<WebEvent::Modifier> modifiers) >+void WebPage::handleSyntheticClick(Node* nodeRespondingToClick, const WebCore::FloatPoint& location) > { > IntPoint roundedAdjustedPoint = roundedIntPoint(location); > Frame& mainframe = m_page->mainFrame(); >@@ -543,12 +543,7 @@ void WebPage::handleSyntheticClick(Node* nodeRespondingToClick, const WebCore::F > WKStartObservingContentChanges(); > WKStartObservingDOMTimerScheduling(); > >- // FIXME: Pass caps lock state. >- bool shiftKey = modifiers.contains(WebEvent::Modifier::ShiftKey); >- bool ctrlKey = modifiers.contains(WebEvent::Modifier::ControlKey); >- bool altKey = modifiers.contains(WebEvent::Modifier::AltKey); >- bool metaKey = modifiers.contains(WebEvent::Modifier::MetaKey); >- mainframe.eventHandler().mouseMoved(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, NoButton, PlatformEvent::MouseMoved, 0, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), WebCore::ForceAtClick, WebCore::NoTap)); >+ mainframe.eventHandler().mouseMoved(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, NoButton, PlatformEvent::MouseMoved, 0, false, false, false, false, WallTime::now(), WebCore::ForceAtClick, WebCore::NoTap)); > mainframe.document()->updateStyleIfNeeded(); > > WKStopObservingDOMTimerScheduling(); >@@ -556,7 +551,6 @@ void WebPage::handleSyntheticClick(Node* nodeRespondingToClick, const WebCore::F > > m_pendingSyntheticClickNode = nullptr; > m_pendingSyntheticClickLocation = FloatPoint(); >- m_pendingSyntheticClickModifiers = { }; > > if (m_isClosed) > return; >@@ -566,16 +560,15 @@ void WebPage::handleSyntheticClick(Node* nodeRespondingToClick, const WebCore::F > // The move event caused new contents to appear. Don't send the click event. > LOG(ContentObservation, "handleSyntheticClick: Observed meaningful visible change -> hover."); > return; >- case WKContentIndeterminateChange: { >+ case WKContentIndeterminateChange: > // Wait for callback to completePendingSyntheticClickForContentChangeObserver() to decide whether to send the click event. > m_pendingSyntheticClickNode = nodeRespondingToClick; > m_pendingSyntheticClickLocation = location; >- m_pendingSyntheticClickModifiers = modifiers; > LOG(ContentObservation, "handleSyntheticClick: Observed some change, but can't decide it yet -> wait."); > return; >- } case WKContentNoChange: >+ case WKContentNoChange: > LOG(ContentObservation, "handleSyntheticClick: No change was observed -> click."); >- completeSyntheticClick(nodeRespondingToClick, location, modifiers, WebCore::OneFingerTap); >+ completeSyntheticClick(nodeRespondingToClick, location, WebCore::OneFingerTap); > return; > } > ASSERT_NOT_REACHED(); >@@ -589,16 +582,15 @@ void WebPage::completePendingSyntheticClickForContentChangeObserver() > // Only dispatch the click if the document didn't get changed by any timers started by the move event. > if (WKObservedContentChange() == WKContentNoChange) { > LOG(ContentObservation, "No chage was observed -> click."); >- completeSyntheticClick(m_pendingSyntheticClickNode.get(), m_pendingSyntheticClickLocation, m_pendingSyntheticClickModifiers, WebCore::OneFingerTap); >+ completeSyntheticClick(m_pendingSyntheticClickNode.get(), m_pendingSyntheticClickLocation, WebCore::OneFingerTap); > } else > LOG(ContentObservation, "Observed meaningful visible change -> hover."); > > m_pendingSyntheticClickNode = nullptr; > m_pendingSyntheticClickLocation = FloatPoint(); >- m_pendingSyntheticClickModifiers = { }; > } > >-void WebPage::completeSyntheticClick(Node* nodeRespondingToClick, const WebCore::FloatPoint& location, OptionSet<WebEvent::Modifier> modifiers, SyntheticClickType syntheticClickType) >+void WebPage::completeSyntheticClick(Node* nodeRespondingToClick, const WebCore::FloatPoint& location, SyntheticClickType syntheticClickType) > { > IntPoint roundedAdjustedPoint = roundedIntPoint(location); > Frame& mainframe = m_page->mainFrame(); >@@ -611,17 +603,11 @@ void WebPage::completeSyntheticClick(Node* nodeRespondingToClick, const WebCore: > bool tapWasHandled = false; > m_lastInteractionLocation = roundedAdjustedPoint; > >- // FIXME: Pass caps lock state. >- bool shiftKey = modifiers.contains(WebEvent::Modifier::ShiftKey); >- bool ctrlKey = modifiers.contains(WebEvent::Modifier::ControlKey); >- bool altKey = modifiers.contains(WebEvent::Modifier::AltKey); >- bool metaKey = modifiers.contains(WebEvent::Modifier::MetaKey); >- >- tapWasHandled |= mainframe.eventHandler().handleMousePressEvent(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::MousePressed, 1, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), WebCore::ForceAtClick, syntheticClickType)); >+ tapWasHandled |= mainframe.eventHandler().handleMousePressEvent(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::MousePressed, 1, false, false, false, false, WallTime::now(), WebCore::ForceAtClick, syntheticClickType)); > if (m_isClosed) > return; > >- tapWasHandled |= mainframe.eventHandler().handleMouseReleaseEvent(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::MouseReleased, 1, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), WebCore::ForceAtClick, syntheticClickType)); >+ tapWasHandled |= mainframe.eventHandler().handleMouseReleaseEvent(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::MouseReleased, 1, false, false, false, false, WallTime::now(), WebCore::ForceAtClick, syntheticClickType)); > if (m_isClosed) > return; > >@@ -641,7 +627,7 @@ void WebPage::completeSyntheticClick(Node* nodeRespondingToClick, const WebCore: > send(Messages::WebPageProxy::DidCompleteSyntheticClick()); > } > >-void WebPage::handleTap(const IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId) >+void WebPage::handleTap(const IntPoint& point, uint64_t lastLayerTreeTransactionId) > { > FloatPoint adjustedPoint; > Node* nodeRespondingToClick = m_page->mainFrame().nodeRespondingToClickEvents(point, adjustedPoint); >@@ -658,7 +644,7 @@ void WebPage::handleTap(const IntPoint& point, OptionSet<WebEvent::Modifier> mod > } > #endif > else >- handleSyntheticClick(nodeRespondingToClick, adjustedPoint, modifiers); >+ handleSyntheticClick(nodeRespondingToClick, adjustedPoint); > } > > void WebPage::requestFocusedElementInformation(WebKit::CallbackID callbackID) >@@ -753,7 +739,7 @@ void WebPage::sendTapHighlightForNodeIfNecessary(uint64_t requestID, Node* node) > #endif > } > >-void WebPage::handleTwoFingerTapAtPoint(const WebCore::IntPoint& point, OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t requestID) >+void WebPage::handleTwoFingerTapAtPoint(const WebCore::IntPoint& point, uint64_t requestID) > { > FloatPoint adjustedPoint; > Node* nodeRespondingToClick = m_page->mainFrame().nodeRespondingToClickEvents(point, adjustedPoint); >@@ -769,7 +755,7 @@ void WebPage::handleTwoFingerTapAtPoint(const WebCore::IntPoint& point, OptionSe > send(Messages::WebPageProxy::DidNotHandleTapAsClick(roundedIntPoint(adjustedPoint))); > } else > #endif >- completeSyntheticClick(nodeRespondingToClick, adjustedPoint, modifiers, WebCore::TwoFingerTap); >+ completeSyntheticClick(nodeRespondingToClick, adjustedPoint, WebCore::TwoFingerTap); > } > > void WebPage::handleStylusSingleTapAtPoint(const WebCore::IntPoint& point, uint64_t requestID) >@@ -814,7 +800,7 @@ void WebPage::potentialTapAtPosition(uint64_t requestID, const WebCore::FloatPoi > #endif > } > >-void WebPage::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId) >+void WebPage::commitPotentialTap(uint64_t lastLayerTreeTransactionId) > { > if (!m_potentialTapNode || (!m_potentialTapNode->renderer() && !is<HTMLAreaElement>(m_potentialTapNode.get()))) { > commitPotentialTapFailed(); >@@ -838,7 +824,7 @@ void WebPage::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, uint64 > commitPotentialTapFailed(); > } else > #endif >- handleSyntheticClick(nodeRespondingToClick, adjustedPoint, modifiers); >+ handleSyntheticClick(nodeRespondingToClick, adjustedPoint); > } else > commitPotentialTapFailed(); > >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 7d49474647150f1c2eb40dbb6edc1c1f30078749..2d82073c7ca15718a3aa09e66a8a45bec6e4384f 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-11 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r241272 and r241276. >+ https://bugs.webkit.org/show_bug.cgi?id=194514 >+ >+ Broke the Apple Internal build and the fix requires human >+ intervention :( (Requested by dydz on #webkit). >+ >+ Reverted changesets: >+ >+ "[iOS] Mouse/Touch/Pointer events are missing modifier keys" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241272 >+ >+ "Fix internal iOS build after r241272" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241276 >+ > 2019-02-11 Truitt Savell <tsavell@apple.com> > > Unreviewed, rolling out r241269. >diff --git a/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm b/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm >index f32c10423e38b291adc3f052231e53e45800d6b6..e030cd65a0713ffa477ceabdff0a577267bd8c4a 100644 >--- a/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm >+++ b/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm >@@ -115,10 +115,6 @@ void UIScriptController::singleTapAtPoint(long x, long y, JSValueRef callback) > { > } > >-void UIScriptController::singleTapAtPointWithModifiers(long x, long y, JSValueRef modifierArray, JSValueRef callback) >-{ >-} >- > void UIScriptController::doubleTapAtPoint(long x, long y, JSValueRef callback) > { > } >@@ -147,10 +143,6 @@ void UIScriptController::stylusTapAtPoint(long x, long y, float azimuthAngle, fl > { > } > >-void UIScriptController::stylusTapAtPointWithModifiers(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef modifierArray, JSValueRef callback) >-{ >-} >- > void UIScriptController::sendEventStream(JSStringRef eventsJSON, JSValueRef callback) > { > } >diff --git a/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl b/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl >index 350b29a1711104a7ef4a67ecbdcdb78d87b8a859..3ce1eb56f7fa9550d5e99173eaefe5b78d3dd412 100644 >--- a/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl >+++ b/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl >@@ -56,7 +56,6 @@ interface UIScriptController { > void touchDownAtPoint(long x, long y, long touchCount, object callback); > void liftUpAtPoint(long x, long y, long touchCount, object callback); > void singleTapAtPoint(long x, long y, object callback); >- void singleTapAtPointWithModifiers(long x, long y, object modifierArray, object callback); > void doubleTapAtPoint(long x, long y, object callback); > void dragFromPointToPoint(long startX, long startY, long endX, long endY, double durationSeconds, object callback); > >@@ -66,7 +65,6 @@ interface UIScriptController { > void stylusMoveToPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, object callback); > void stylusUpAtPoint(long x, long y, object callback); > void stylusTapAtPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, object callback); >- void stylusTapAtPointWithModifiers(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, object modifierArray, object callback); > > void enterText(DOMString text); > void typeCharacterUsingHardwareKeyboard(DOMString character, object callback); >diff --git a/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp b/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp >index e3b216bf5a1134e678d3086fa314a1c5767f7bf6..f6d84d653c1370c927635c6db4f9bbe723368aff 100644 >--- a/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp >+++ b/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp >@@ -265,10 +265,6 @@ void UIScriptController::singleTapAtPoint(long x, long y, JSValueRef) > { > } > >-void UIScriptController::singleTapAtPointWithModifiers(long x, long y, JSValueRef modifierArray, JSValueRef callback) >-{ >-} >- > void UIScriptController::doubleTapAtPoint(long x, long y, JSValueRef) > { > } >@@ -297,10 +293,6 @@ void UIScriptController::stylusTapAtPoint(long x, long y, float azimuthAngle, fl > { > } > >-void UIScriptController::stylusTapAtPointWithModifiers(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef modifierArray, JSValueRef callback) >-{ >-} >- > void UIScriptController::sendEventStream(JSStringRef eventsJSON, JSValueRef callback) > { > } >diff --git a/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h b/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h >index 9f5431a840f419a50b4b258b2a9150c793d3171a..f77053b5fa4b2c344ad4d1f2032540e805d51ac3 100644 >--- a/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h >+++ b/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h >@@ -78,7 +78,6 @@ public: > void touchDownAtPoint(long x, long y, long touchCount, JSValueRef callback); > void liftUpAtPoint(long x, long y, long touchCount, JSValueRef callback); > void singleTapAtPoint(long x, long y, JSValueRef callback); >- void singleTapAtPointWithModifiers(long x, long y, JSValueRef modifierArray, JSValueRef callback); > void doubleTapAtPoint(long x, long y, JSValueRef callback); > void dragFromPointToPoint(long startX, long startY, long endX, long endY, double durationSeconds, JSValueRef callback); > >@@ -86,7 +85,6 @@ public: > void stylusMoveToPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef callback); > void stylusUpAtPoint(long x, long y, JSValueRef callback); > void stylusTapAtPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef callback); >- void stylusTapAtPointWithModifiers(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef modifierArray, JSValueRef callback); > > void longPressAtPoint(long x, long y, JSValueRef callback); > >diff --git a/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm b/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm >index 13834285e736b402932d508187eb6f95037bd8c5..6c10f06d03225b0e5094bb13a3e87d0777303121 100644 >--- a/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm >+++ b/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm >@@ -63,45 +63,7 @@ static NSDictionary *toNSDictionary(CGRect rect) > @"height": @(rect.size.height) > }; > } >- >-static unsigned arrayLength(JSContextRef context, JSObjectRef array) >-{ >- auto lengthString = adopt(JSStringCreateWithUTF8CString("length")); >- if (auto lengthValue = JSObjectGetProperty(context, array, lengthString.get(), nullptr)) >- return static_cast<unsigned>(JSValueToNumber(context, lengthValue, nullptr)); >- return 0; >-} >- >-static Vector<String> parseModifierArray(JSContextRef context, JSValueRef arrayValue) >-{ >- if (!arrayValue) >- return { }; >- >- // The value may either be a string with a single modifier or an array of modifiers. >- if (JSValueIsString(context, arrayValue)) { >- auto string = toWTFString(toWK(adopt(JSValueToStringCopy(context, arrayValue, nullptr)))); >- return { string }; >- } >- >- if (!JSValueIsObject(context, arrayValue)) >- return { }; >- JSObjectRef array = const_cast<JSObjectRef>(arrayValue); >- unsigned length = arrayLength(context, array); >- Vector<String> modifiers; >- modifiers.reserveInitialCapacity(length); >- for (unsigned i = 0; i < length; ++i) { >- JSValueRef exception = nullptr; >- JSValueRef value = JSObjectGetPropertyAtIndex(context, array, i, &exception); >- if (exception) >- continue; >- auto string = adopt(JSValueToStringCopy(context, value, &exception)); >- if (exception) >- continue; >- modifiers.append(toWTFString(toWK(string.get()))); >- } >- return modifiers; >-} >- >+ > void UIScriptController::checkForOutstandingCallbacks() > { > if (![[HIDEventGenerator sharedHIDEventGenerator] checkForOutstandingCallbacks]) >@@ -230,30 +192,13 @@ void UIScriptController::liftUpAtPoint(long x, long y, long touchCount, JSValueR > } > > void UIScriptController::singleTapAtPoint(long x, long y, JSValueRef callback) >-{ >- singleTapAtPointWithModifiers(x, y, nullptr, callback); >-} >- >-void UIScriptController::singleTapAtPointWithModifiers(long x, long y, JSValueRef modifierArray, JSValueRef callback) > { > unsigned callbackID = m_context->prepareForAsyncTask(callback, CallbackTypeNonPersistent); > >- auto modifierFlags = parseModifierArray(m_context->jsContext(), modifierArray); >- for (auto& modifierFlag : modifierFlags) >- [[HIDEventGenerator sharedHIDEventGenerator] keyDown:modifierFlag]; >- > [[HIDEventGenerator sharedHIDEventGenerator] tap:globalToContentCoordinates(TestController::singleton().mainWebView()->platformView(), x, y) completionBlock:^{ > if (!m_context) > return; >- for (size_t i = modifierFlags.size(); i; ) { >- --i; >- [[HIDEventGenerator sharedHIDEventGenerator] keyUp:modifierFlags[i]]; >- } >- [[HIDEventGenerator sharedHIDEventGenerator] sendMarkerHIDEventWithCompletionBlock:^{ >- if (!m_context) >- return; >- m_context->asyncTaskComplete(callbackID); >- }]; >+ m_context->asyncTaskComplete(callbackID); > }]; > } > >@@ -305,34 +250,17 @@ void UIScriptController::stylusUpAtPoint(long x, long y, JSValueRef callback) > } > > void UIScriptController::stylusTapAtPoint(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef callback) >-{ >- stylusTapAtPointWithModifiers(x, y, azimuthAngle, altitudeAngle, pressure, nullptr, callback); >-} >- >-void UIScriptController::stylusTapAtPointWithModifiers(long x, long y, float azimuthAngle, float altitudeAngle, float pressure, JSValueRef modifierArray, JSValueRef callback) > { > unsigned callbackID = m_context->prepareForAsyncTask(callback, CallbackTypeNonPersistent); > >- auto modifierFlags = parseModifierArray(m_context->jsContext(), modifierArray); >- for (auto& modifierFlag : modifierFlags) >- [[HIDEventGenerator sharedHIDEventGenerator] keyDown:modifierFlag]; >- > auto location = globalToContentCoordinates(TestController::singleton().mainWebView()->platformView(), x, y); > [[HIDEventGenerator sharedHIDEventGenerator] stylusTapAtPoint:location azimuthAngle:azimuthAngle altitudeAngle:altitudeAngle pressure:pressure completionBlock:^{ > if (!m_context) > return; >- for (size_t i = modifierFlags.size(); i; ) { >- --i; >- [[HIDEventGenerator sharedHIDEventGenerator] keyUp:modifierFlags[i]]; >- } >- [[HIDEventGenerator sharedHIDEventGenerator] sendMarkerHIDEventWithCompletionBlock:^{ >- if (!m_context) >- return; >- m_context->asyncTaskComplete(callbackID); >- }]; >+ m_context->asyncTaskComplete(callbackID); > }]; > } >- >+ > void convertCoordinates(NSMutableDictionary *event) > { > if (event[HIDEventTouchesKey]) { >@@ -421,6 +349,44 @@ void UIScriptController::typeCharacterUsingHardwareKeyboard(JSStringRef characte > }]; > } > >+static unsigned arrayLength(JSContextRef context, JSObjectRef array) >+{ >+ auto lengthString = adopt(JSStringCreateWithUTF8CString("length")); >+ if (auto lengthValue = JSObjectGetProperty(context, array, lengthString.get(), nullptr)) >+ return static_cast<unsigned>(JSValueToNumber(context, lengthValue, nullptr)); >+ return 0; >+} >+ >+static Vector<String> parseModifierArray(JSContextRef context, JSValueRef arrayValue) >+{ >+ if (!arrayValue) >+ return { }; >+ >+ // The value may either be a string with a single modifier or an array of modifiers. >+ if (JSValueIsString(context, arrayValue)) { >+ auto string = toWTFString(toWK(adopt(JSValueToStringCopy(context, arrayValue, nullptr)))); >+ return { string }; >+ } >+ >+ if (!JSValueIsObject(context, arrayValue)) >+ return { }; >+ JSObjectRef array = const_cast<JSObjectRef>(arrayValue); >+ unsigned length = arrayLength(context, array); >+ Vector<String> modifiers; >+ modifiers.reserveInitialCapacity(length); >+ for (unsigned i = 0; i < length; ++i) { >+ JSValueRef exception = nullptr; >+ JSValueRef value = JSObjectGetPropertyAtIndex(context, array, i, &exception); >+ if (exception) >+ continue; >+ auto string = adopt(JSValueToStringCopy(context, value, &exception)); >+ if (exception) >+ continue; >+ modifiers.append(toWTFString(toWK(string.get()))); >+ } >+ return modifiers; >+} >+ > static UIPhysicalKeyboardEvent *createUIPhysicalKeyboardEvent(NSString *hidInputString, NSString *uiEventInputString, UIKeyModifierFlags modifierFlags, UIKeyboardInputFlags inputFlags, bool isKeyDown) > { > auto* keyboardEvent = [getUIPhysicalKeyboardEventClass() _eventWithInput:uiEventInputString inputFlags:inputFlags]; >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index fd19e77bfb29e08109cc2de89d83a0b40bc5ce18..a0ae5d22c35300fe858229972774140f94c3c4ea 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-11 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r241272 and r241276. >+ https://bugs.webkit.org/show_bug.cgi?id=194514 >+ >+ Broke the Apple Internal build and the fix requires human >+ intervention :( (Requested by dydz on #webkit). >+ >+ Reverted changesets: >+ >+ "[iOS] Mouse/Touch/Pointer events are missing modifier keys" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241272 >+ >+ "Fix internal iOS build after r241272" >+ https://bugs.webkit.org/show_bug.cgi?id=191446 >+ https://trac.webkit.org/changeset/241276 >+ > 2019-02-11 Wenson Hsieh <wenson_hsieh@apple.com> > > fast/forms/ios/force-gregorian-calendar-for-credit-card-expiry.html does not work on iPad >diff --git a/LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html b/LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html >index 4f0e5af797c1d555c1b57d5f961a05cff438710f..fe88d341ebdba1d87410f0979c83f364f616c260 100644 >--- a/LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html >+++ b/LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html >@@ -2,12 +2,11 @@ > <html> > <head> > <script src="../../../resources/ui-helper.js"></script> >-<script src="../resources/compute-subsets.js"></script> > <script src="resources/key-tester.js"></script> > <script> > const modiferKeySubsetsToTest = computeSubsets(["metaKey", "altKey"]); > for (const k of keysExcludingDeadAndSkippedKeys) { >- for (const modifiers of computeSubsets(modifierKeys)) >+ for (const modifiers of modiferKeySubsetsToTest) > tests.push(new KeyCommand(k, modifiers)); > } > </script> >diff --git a/LayoutTests/fast/events/ios/resources/key-tester.js b/LayoutTests/fast/events/ios/resources/key-tester.js >index 60dbe9ece7dd6e3cace83fd5649a44ec3ed2b35c..5748070b3b8fa3b6fb80be7ebb844537c6cdba40 100644 >--- a/LayoutTests/fast/events/ios/resources/key-tester.js >+++ b/LayoutTests/fast/events/ios/resources/key-tester.js >@@ -53,6 +53,43 @@ function keyCommandsHasCommand(keyCommands, command) > return !!keyCommands.find((k) => areKeyCommandsEqual(k, command)); > } > >+// This algorithm runs in O(2^N). >+function computeSubsets(anArray) >+{ >+ function compareByModifierOrder(a, b) { >+ if (a.length < b.length) >+ return -1; >+ if (a.length > b.length) >+ return 1; >+ for (let i = 0; i < a.length; ++i) { >+ let rankA = anArray.indexOf(a[i]); >+ let rankB = anArray.indexOf(b[i]); >+ if (rankA < rankB) >+ return -1; >+ if (rankA > rankB) >+ return 1; >+ } >+ return 0; >+ } >+ let result = []; >+ const numberOfNonEmptyPermutations = (1 << anArray.length) - 1; >+ // For each ordinal 1, 2, ... numberOfNonEmptyPermutations we look at its binary representation >+ // and generate a permutation that consists of the entries in anArray at the indices where there >+ // is a one bit in the binary representation. For example, suppose anArray = ["metaKey", "altKey", "ctrlKey"]. >+ // To generate the 5th permutation we look at the binary representation of i = 5 => 0b101. And >+ // compute the permutation to be [ anArray[0], anArray[2] ] = [ "metaKey", "ctrlKey" ] because >+ // the 0th and 2nd bits are ones in the binary representation. >+ for (let i = 1; i <= numberOfNonEmptyPermutations; ++i) { >+ let temp = []; >+ for (let bitmask = i, j = 0; bitmask; bitmask = Math.floor(bitmask / 2), ++j) { >+ if (bitmask % 2) >+ temp.push(anArray[j]); >+ } >+ result.push(temp); >+ } >+ return result.sort(compareByModifierOrder); >+} >+ > const keys = new Set("abcdefghijklmnopqrstuvwxyz0123456789-=[]\\;',./".split("")); > const deadKeys = new Set("`euin".split("")); > const keysExcludingDeadKeys = computeDifference(keys, deadKeys); >@@ -80,6 +117,7 @@ for (let i = 1; i <= 9; ++i) > disallowedKeyCommands.push(new KeyCommand(i, ["metaKey"])); > > const modifierKeys = ["metaKey", "altKey", "ctrlKey", "shiftKey"]; >+const modiferKeySubsets = computeSubsets(modifierKeys); > > let tests = []; > >diff --git a/LayoutTests/fast/events/resources/compute-subsets.js b/LayoutTests/fast/events/resources/compute-subsets.js >deleted file mode 100644 >index a0f92876ea604b648de787d3e7723f1a2cc12a6b..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/resources/compute-subsets.js >+++ /dev/null >@@ -1,36 +0,0 @@ >-// This algorithm runs in O(2^N). >-function computeSubsets(anArray) >-{ >- function compareByOriginalArrayOrder(a, b) { >- if (a.length < b.length) >- return -1; >- if (a.length > b.length) >- return 1; >- for (let i = 0; i < a.length; ++i) { >- let rankA = anArray.indexOf(a[i]); >- let rankB = anArray.indexOf(b[i]); >- if (rankA < rankB) >- return -1; >- if (rankA > rankB) >- return 1; >- } >- return 0; >- } >- let result = []; >- const numberOfNonEmptyPermutations = (1 << anArray.length) - 1; >- // For each ordinal 1, 2, ... numberOfNonEmptyPermutations we look at its binary representation >- // and generate a permutation that consists of the entries in anArray at the indices where there >- // is a one bit in the binary representation. For example, suppose anArray = ["metaKey", "altKey", "ctrlKey"]. >- // To generate the 5th permutation we look at the binary representation of i = 5 => 0b101. And >- // compute the permutation to be [ anArray[0], anArray[2] ] = [ "metaKey", "ctrlKey" ] because >- // the 0th and 2nd bits are ones in the binary representation. >- for (let i = 1; i <= numberOfNonEmptyPermutations; ++i) { >- let temp = []; >- for (let bitmask = i, j = 0; bitmask; bitmask = Math.floor(bitmask / 2), ++j) { >- if (bitmask % 2) >- temp.push(anArray[j]); >- } >- result.push(temp); >- } >- return result.sort(compareByOriginalArrayOrder); >-} >diff --git a/LayoutTests/fast/events/touch/ios/mouse-events-with-modifiers-expected.txt b/LayoutTests/fast/events/touch/ios/mouse-events-with-modifiers-expected.txt >deleted file mode 100644 >index 8051383674d9e3ca2bec1ac703eb9cddd12a8124..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/touch/ios/mouse-events-with-modifiers-expected.txt >+++ /dev/null >@@ -1,78 +0,0 @@ >-This logs DOM mousedown, mousemove, and mouseup events that are dispatched when single tapping an element while holding modifier keys. Must be run in WebKitTestRunner. >- >- >-Test Command + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Option + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >- >-Test Control + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Command + Option + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Command + Control + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Option + Control + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Option + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Control + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Option + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Command + Control + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >- >-Test Option + Control + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Shift + Single Tap: >-type: mousemove, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >-type: mousedown, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >-type: mouseup, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >- >diff --git a/LayoutTests/fast/events/touch/ios/mouse-events-with-modifiers.html b/LayoutTests/fast/events/touch/ios/mouse-events-with-modifiers.html >deleted file mode 100644 >index 48afac7f52c620e3be4ba2a753538f85d7950c3d..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/touch/ios/mouse-events-with-modifiers.html >+++ /dev/null >@@ -1,141 +0,0 @@ >-<!DOCTYPE html> >-<html> >-<head> >-<script src="../../../../resources/ui-helper.js"></script> >-<script src="../../resources/compute-subsets.js"></script> >-<script> >-if (window.testRunner) { >- testRunner.dumpAsText(); >- testRunner.waitUntilDone(); >-} >- >-class TouchTest { >- constructor(elementToTouch, modifiers = []) >- { >- this.elementToTouch = elementToTouch; >- this.modifiers = modifiers; >- } >- >- toString() >- { >- return `{ ${this.elementToTouch}, [${this.modifiers}] }`; >- } >- >- run() >- { >- let centerX = this.elementToTouch.offsetLeft + this.elementToTouch.offsetWidth / 2; >- let centerY = this.elementToTouch.offsetTop + this.elementToTouch.offsetHeight / 2; >- return UIHelper.tapAt(centerX, centerY, this.modifiers); >- } >-} >- >-const modifierKeys = ["metaKey", "altKey", "ctrlKey", "shiftKey"]; >- >-let currentTest; >-let tests = []; >- >-function handleMouseDown(event) >-{ >- logMouseEvent(event); >-} >- >-function handleMouseMove(event) >-{ >- logMouseEvent(event); >-} >- >-function handleMouseUp(event) >-{ >- logMouseEvent(event); >- nextTouchPress(); >-} >- >-function log(message) >-{ >- document.getElementById("console").appendChild(document.createTextNode(message + "\n")); >-} >- >-function logMouseEvent(event) >-{ >- let pieces = []; >- for (let propertyName of ["type", "x", "y", "offsetX", "offsetY", "button", "buttons", "screenX", "screenY", "clientX", "clientY", "altKey", "ctrlKey", "metaKey", "shiftKey"]) >- pieces.push(`${propertyName}: ${event[propertyName]}`); >- log(pieces.join(", ")); >-} >- >-const modifierDisplayNameMap = { >- "altKey": "Option", >- "ctrlKey": "Control", >- "metaKey": "Command", >- "shiftKey": "Shift", >- "capsLockKey": "Caps Lock", >-} >- >-function displayNameForTest(test) >-{ >- let displayNamesOfModifiers = []; >- for (const modifier of test.modifiers) >- displayNamesOfModifiers.push(modifierDisplayNameMap[modifier]); >- let result = ""; >- if (displayNamesOfModifiers.length) >- result += displayNamesOfModifiers.join(" + ") + " + "; >- result += "Single Tap"; >- return result; >-} >- >-async function nextTouchPress() >-{ >- if (!tests.length) { >- document.body.removeChild(document.getElementById("square")); >- if (window.testRunner) >- testRunner.notifyDone(); >- return; >- } >- currentTest = tests.shift(); >- log(`\nTest ${displayNameForTest(currentTest)}:`); >- if (window.testRunner) >- await currentTest.run(); >-} >- >-function runTest() >-{ >- if (!window.testRunner) >- return; >- nextTouchPress(); >-} >- >-function setUp() >-{ >- let square = document.getElementById("square"); >- square.addEventListener("mousedown", handleMouseDown, true); >- square.addEventListener("mousemove", handleMouseMove, true); >- square.addEventListener("mouseup", handleMouseUp, true); >- >- for (const modifiers of computeSubsets(modifierKeys)) >- tests.push(new TouchTest(square, modifiers)); >- >- runTest(); >-} >- >-window.addEventListener("load", setUp, true); >-</script> >-<style> >-#square { >- background-color: blue; >- color: white; >- height: 128px; >- width: 128px; >- display: flex; >- align-items: center; >- justify-content: center; >- user-select: none; >- -webkit-user-select: none; >-} >-</style> >-</head> >-<body> >-<p>This logs DOM mousedown, mousemove, and mouseup events that are dispatched when single tapping an element while holding modifier keys. Must be run in WebKitTestRunner.</p> >-<div id="square">Touch Me</div> >-<pre id="console"></pre> >-</body> >-</html> >diff --git a/LayoutTests/fast/events/touch/ios/pointer-events-with-modifiers-expected.txt b/LayoutTests/fast/events/touch/ios/pointer-events-with-modifiers-expected.txt >deleted file mode 100644 >index 09be81f0c739cd4bf57902535cc2116471aa597c..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/touch/ios/pointer-events-with-modifiers-expected.txt >+++ /dev/null >@@ -1,63 +0,0 @@ >-This logs DOM pointerdown and pointerup events that are dispatched when single tapping an element while holding modifier keys. Must be run in WebKitTestRunner. >- >- >-Test Command + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Option + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >- >-Test Control + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Command + Option + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Command + Control + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Option + Control + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Option + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Control + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Option + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Command + Control + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >- >-Test Option + Control + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Shift + Single Tap: >-type: pointerdown, pointerType: touch, isPrimary: true, width: 40, height: 40, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >-type: pointerup, pointerType: touch, isPrimary: false, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 90, tiltY: 0, twist: 0, x: 72, y: 136, offsetX: 64, offsetY: 64, button: 0, buttons: 0, screenX: 72, screenY: 136, clientX: 72, clientY: 136, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >- >diff --git a/LayoutTests/fast/events/touch/ios/pointer-events-with-modifiers.html b/LayoutTests/fast/events/touch/ios/pointer-events-with-modifiers.html >deleted file mode 100644 >index d475303bea92d3cae3b923e1418ef9f03ad74837..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/touch/ios/pointer-events-with-modifiers.html >+++ /dev/null >@@ -1,135 +0,0 @@ >-<!DOCTYPE html> >-<html> >-<head> >-<script src="../../../../resources/ui-helper.js"></script> >-<script src="../../resources/compute-subsets.js"></script> >-<script> >-if (window.testRunner) { >- testRunner.dumpAsText(); >- testRunner.waitUntilDone(); >-} >- >-class TouchTest { >- constructor(elementToTouch, modifiers = []) >- { >- this.elementToTouch = elementToTouch; >- this.modifiers = modifiers; >- } >- >- toString() >- { >- return `{ ${this.elementToTouch}, [${this.modifiers}] }`; >- } >- >- run() >- { >- let centerX = this.elementToTouch.offsetLeft + this.elementToTouch.offsetWidth / 2; >- let centerY = this.elementToTouch.offsetTop + this.elementToTouch.offsetHeight / 2; >- return UIHelper.tapAt(centerX, centerY, this.modifiers); >- } >-} >- >-const modifierKeys = ["metaKey", "altKey", "ctrlKey", "shiftKey"]; >- >-let currentTest; >-let tests = []; >- >-function handlePointerDown(event) >-{ >- logPointerEvent(event); >-} >- >-function handlePointerUp(event) >-{ >- logPointerEvent(event); >- nextTouchPress(); >-} >- >-function log(message) >-{ >- document.getElementById("console").appendChild(document.createTextNode(message + "\n")); >-} >- >-function logPointerEvent(event) >-{ >- let pieces = []; >- for (let propertyName of ["type", "pointerType", "isPrimary", "width", "height", "pressure", "tangentialPressure", "tiltX", "tiltY", "twist", "x", "y", "offsetX", "offsetY", "button", "buttons", "screenX", "screenY", "clientX", "clientY", "altKey", "ctrlKey", "metaKey", "shiftKey"]) >- pieces.push(`${propertyName}: ${event[propertyName]}`); >- log(pieces.join(", ")); >-} >- >-const modifierDisplayNameMap = { >- "altKey": "Option", >- "ctrlKey": "Control", >- "metaKey": "Command", >- "shiftKey": "Shift", >- "capsLockKey": "Caps Lock", >-} >- >-function displayNameForTest(test) >-{ >- let displayNamesOfModifiers = []; >- for (const modifier of test.modifiers) >- displayNamesOfModifiers.push(modifierDisplayNameMap[modifier]); >- let result = ""; >- if (displayNamesOfModifiers.length) >- result += displayNamesOfModifiers.join(" + ") + " + "; >- result += "Single Tap"; >- return result; >-} >- >-async function nextTouchPress() >-{ >- if (!tests.length) { >- document.body.removeChild(document.getElementById("square")); >- if (window.testRunner) >- testRunner.notifyDone(); >- return; >- } >- currentTest = tests.shift(); >- log(`\nTest ${displayNameForTest(currentTest)}:`); >- if (window.testRunner) >- await currentTest.run(); >-} >- >-function runTest() >-{ >- if (!window.testRunner) >- return; >- nextTouchPress(); >-} >- >-function setUp() >-{ >- let square = document.getElementById("square"); >- square.addEventListener("pointerdown", handlePointerDown, true); >- square.addEventListener("pointerup", handlePointerUp, true); >- >- for (const modifiers of computeSubsets(modifierKeys)) >- tests.push(new TouchTest(square, modifiers)); >- >- runTest(); >-} >- >-window.addEventListener("load", setUp, true); >-</script> >-<style> >-#square { >- background-color: blue; >- color: white; >- height: 128px; >- width: 128px; >- display: flex; >- align-items: center; >- justify-content: center; >- user-select: none; >- -webkit-user-select: none; >-} >-</style> >-</head> >-<body> >-<p>This logs DOM pointerdown and pointerup events that are dispatched when single tapping an element while holding modifier keys. Must be run in WebKitTestRunner.</p> >-<div id="square">Touch Me</div> >-<pre id="console"></pre> >-</body> >-</html> >diff --git a/LayoutTests/fast/events/touch/ios/touch-events-with-modifiers-expected.txt b/LayoutTests/fast/events/touch/ios/touch-events-with-modifiers-expected.txt >deleted file mode 100644 >index 4e5550c9d0e647d403be98c757f0da7354aa10bd..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/touch/ios/touch-events-with-modifiers-expected.txt >+++ /dev/null >@@ -1,123 +0,0 @@ >-This logs DOM touchdown and touchup events that are dispatched when single tapping an element while holding modifier keys with and without a stylus. Must be run in WebKitTestRunner. >- >- >-Test Command + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Option + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >- >-Test Control + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Command + Option + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Command + Control + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Option + Control + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Option + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Control + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Option + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Command + Control + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >- >-Test Option + Control + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Shift + Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >- >-Test Command + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Option + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: false >- >-Test Control + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Command + Option + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: false >- >-Test Command + Control + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Option + Control + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: false >- >-Test Option + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: false, shiftKey: true >- >-Test Control + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: false >- >-Test Command + Option + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: false, metaKey: true, shiftKey: true >- >-Test Command + Control + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: false, ctrlKey: true, metaKey: true, shiftKey: true >- >-Test Option + Control + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: false, shiftKey: true >- >-Test Command + Option + Control + Shift + Stylus Single Tap: >-type: touchstart, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >-type: touchend, pageX: 72, pageX: 72, scale: 1, rotation: 0, altKey: true, ctrlKey: true, metaKey: true, shiftKey: true >- >diff --git a/LayoutTests/fast/events/touch/ios/touch-events-with-modifiers.html b/LayoutTests/fast/events/touch/ios/touch-events-with-modifiers.html >deleted file mode 100644 >index a52f5096839a91de403c77ba6c15c87dde9861cd..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/events/touch/ios/touch-events-with-modifiers.html >+++ /dev/null >@@ -1,150 +0,0 @@ >-<!DOCTYPE html> >-<html> >-<head> >-<script src="../../../../resources/ui-helper.js"></script> >-<script src="../../resources/compute-subsets.js"></script> >-<script> >-if (window.testRunner) { >- testRunner.dumpAsText(); >- testRunner.waitUntilDone(); >-} >- >-// FIXME: Add support for testing force touch. >-const TouchType = { >- "SingleTap": "SingleTap", >- "StylusSingleTap": "StylusSingleTap", >-}; >-const TouchTypeDisplayName = { >- "SingleTap": "Single Tap", >- "StylusSingleTap": "Stylus Single Tap", >-}; >- >-class TouchTest { >- constructor(elementToTouch, touchType, modifiers = []) >- { >- this.elementToTouch = elementToTouch; >- this.touchType = touchType; >- this.modifiers = modifiers; >- } >- >- toString() >- { >- return `{ ${this.touchType}, ${this.elementToTouch}, [${this.modifiers}] }`; >- } >- >- run() >- { >- let centerX = this.elementToTouch.offsetLeft + this.elementToTouch.offsetWidth / 2; >- let centerY = this.elementToTouch.offsetTop + this.elementToTouch.offsetHeight / 2; >- if (this.touchType === TouchType.SingleTap) >- return UIHelper.tapAt(centerX, centerY, this.modifiers); >- return UIHelper.stylusTapAt(centerX, centerY, this.modifiers); >- } >-} >- >-const modifierKeys = ["metaKey", "altKey", "ctrlKey", "shiftKey"]; >- >-let currentTest; >-let tests = []; >- >-function handleTouchDown(event) >-{ >- logTouchEvent(event); >-} >- >-function handleTouchUp(event) >-{ >- logTouchEvent(event); >- nextTouchPress(); >-} >- >-function log(message) >-{ >- document.getElementById("console").appendChild(document.createTextNode(message + "\n")); >-} >- >-function logTouchEvent(event) >-{ >- let pieces = []; >- for (let propertyName of ["type", "pageX", "pageX", "scale", "rotation", "altKey", "ctrlKey", "metaKey", "shiftKey"]) >- pieces.push(`${propertyName}: ${event[propertyName]}`); >- log(pieces.join(", ")); >-} >- >-const modifierDisplayNameMap = { >- "altKey": "Option", >- "ctrlKey": "Control", >- "metaKey": "Command", >- "shiftKey": "Shift", >- "capsLockKey": "Caps Lock", >-} >- >-function displayNameForTest(test) >-{ >- let displayNamesOfModifiers = []; >- for (const modifier of test.modifiers) >- displayNamesOfModifiers.push(modifierDisplayNameMap[modifier]); >- let result = ""; >- if (displayNamesOfModifiers.length) >- result += displayNamesOfModifiers.join(" + ") + " + "; >- result += TouchTypeDisplayName[test.touchType]; >- return result; >-} >- >-async function nextTouchPress() >-{ >- if (!tests.length) { >- document.body.removeChild(document.getElementById("square")); >- if (window.testRunner) >- testRunner.notifyDone(); >- return; >- } >- currentTest = tests.shift(); >- log(`\nTest ${displayNameForTest(currentTest)}:`); >- if (window.testRunner) >- await currentTest.run(); >-} >- >-function runTest() >-{ >- if (!window.testRunner) >- return; >- nextTouchPress(); >-} >- >-function setUp() >-{ >- let square = document.getElementById("square"); >- square.addEventListener("touchstart", handleTouchDown, true); >- square.addEventListener("touchend", handleTouchUp, true); >- >- for (const touchType in TouchType) { >- for (const modifiers of computeSubsets(modifierKeys)) >- tests.push(new TouchTest(square, touchType, modifiers)); >- } >- >- runTest(); >-} >- >-window.addEventListener("load", setUp, true); >-</script> >-<style> >-#square { >- background-color: blue; >- color: white; >- height: 128px; >- width: 128px; >- display: flex; >- align-items: center; >- justify-content: center; >- user-select: none; >- -webkit-user-select: none; >-} >-</style> >-</head> >-<body> >-<p>This logs DOM touchdown and touchup events that are dispatched when single tapping an element while holding modifier keys with and without a stylus. Must be run in WebKitTestRunner.</p> >-<div id="square">Touch Me</div> >-<pre id="console"></pre> >-</body> >-</html> >diff --git a/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt b/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt >index 4de18cc3794b843aa8542c480707d484065aa689..311084e6d34ff2348d5dd98a7a4ec29e833e2921 100644 >--- a/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt >+++ b/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt >@@ -1,13 +1,13 @@ >-CONSOLE MESSAGE: line 108: adcampaignid must have a non-negative value less than 64 for Ad Click Attribution. >-CONSOLE MESSAGE: line 108: adcampaignid must have a non-negative value less than 64 for Ad Click Attribution. >-CONSOLE MESSAGE: line 108: adcampaignid can not be converted to a non-negative integer which is required for Ad Click Attribution. >-CONSOLE MESSAGE: line 108: adcampaignid can not be converted to a non-negative integer which is required for Ad Click Attribution. >-CONSOLE MESSAGE: line 108: adcampaignid can not be converted to a non-negative integer which is required for Ad Click Attribution. >-CONSOLE MESSAGE: line 108: adddestination could not be converted to a valid HTTP-family URL. >-CONSOLE MESSAGE: line 108: adddestination could not be converted to a valid HTTP-family URL. >-CONSOLE MESSAGE: line 108: adddestination could not be converted to a valid HTTP-family URL. >-CONSOLE MESSAGE: line 108: Both adcampaignid and addestination need to be set for Ad Click Attribution to work. >-CONSOLE MESSAGE: line 108: Both adcampaignid and addestination need to be set for Ad Click Attribution to work. >+CONSOLE MESSAGE: line 107: adcampaignid must have a non-negative value less than 64 for Ad Click Attribution. >+CONSOLE MESSAGE: line 107: adcampaignid must have a non-negative value less than 64 for Ad Click Attribution. >+CONSOLE MESSAGE: line 107: adcampaignid can not be converted to a non-negative integer which is required for Ad Click Attribution. >+CONSOLE MESSAGE: line 107: adcampaignid can not be converted to a non-negative integer which is required for Ad Click Attribution. >+CONSOLE MESSAGE: line 107: adcampaignid can not be converted to a non-negative integer which is required for Ad Click Attribution. >+CONSOLE MESSAGE: line 107: adddestination could not be converted to a valid HTTP-family URL. >+CONSOLE MESSAGE: line 107: adddestination could not be converted to a valid HTTP-family URL. >+CONSOLE MESSAGE: line 107: adddestination could not be converted to a valid HTTP-family URL. >+CONSOLE MESSAGE: line 107: Both adcampaignid and addestination need to be set for Ad Click Attribution to work. >+CONSOLE MESSAGE: line 107: Both adcampaignid and addestination need to be set for Ad Click Attribution to work. > Test for validity of ad click attribution attributes on anchor tags. > > On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >diff --git a/LayoutTests/http/tests/security/anchor-download-block-crossorigin-expected.txt b/LayoutTests/http/tests/security/anchor-download-block-crossorigin-expected.txt >index a0702270d5d26ff0e8941aad13c94c4299866a58..fc6d3705fadcf23e1149fb3a0ea8935a8b4b3395 100644 >--- a/LayoutTests/http/tests/security/anchor-download-block-crossorigin-expected.txt >+++ b/LayoutTests/http/tests/security/anchor-download-block-crossorigin-expected.txt >@@ -1,4 +1,4 @@ >-CONSOLE MESSAGE: line 108: The download attribute on anchor was ignored because its href URL has a different security origin. >+CONSOLE MESSAGE: line 107: The download attribute on anchor was ignored because its href URL has a different security origin. > Tests that the download attribute is ignored if the link is cross origin. > > It should navigate the subframe instead of downloading the file. >diff --git a/LayoutTests/platform/ios/TestExpectations b/LayoutTests/platform/ios/TestExpectations >index 5a7435d1a4da81eb385038f5bb5723537cbe57ae..f40161cca2c98c73d76e5260531e817037b32c5f 100644 >--- a/LayoutTests/platform/ios/TestExpectations >+++ b/LayoutTests/platform/ios/TestExpectations >@@ -3210,8 +3210,3 @@ webkit.org/b/193955 compositing/iframes/remove-reinsert-webview-with-iframe.html > webkit.org/b/153337 pageoverlay/overlay-installation.html [ Pass Failure ] > webkit.org/b/153337 pageoverlay/overlay-large-document-scrolled.html [ Pass Failure ] > webkit.org/b/153337 pageoverlay/overlay-large-document.html [ Pass Failure ] >- >-# FIXME: Unskip the following test once we have the fix for <rdar://problem/45970040>. >-fast/events/touch/ios/touch-events-with-modifiers.html [ Skip ] >-fast/events/touch/ios/mouse-events-with-modifiers.html [ Skip ] >-fast/events/touch/ios/pointer-events-with-modifiers.html [ Skip ] >diff --git a/LayoutTests/resources/ui-helper.js b/LayoutTests/resources/ui-helper.js >index ef93f3cb48ade96490e3b78b646aef398873098c..31aac7e1ef7afee0c451a28c2277f9f8b2a8b529 100644 >--- a/LayoutTests/resources/ui-helper.js >+++ b/LayoutTests/resources/ui-helper.js >@@ -29,12 +29,11 @@ window.UIHelper = class UIHelper { > eventSender.mouseUp(); > } > >- static tapAt(x, y, modifiers=[]) >+ static tapAt(x, y) > { > console.assert(this.isIOS()); > > if (!this.isWebKit2()) { >- console.assert(!modifiers || !modifiers.length); > eventSender.addTouchPoint(x, y); > eventSender.touchStart(); > eventSender.releaseTouchPoint(0); >@@ -44,7 +43,7 @@ window.UIHelper = class UIHelper { > > return new Promise((resolve) => { > testRunner.runUIScript(` >- uiController.singleTapAtPointWithModifiers(${x}, ${y}, ${JSON.stringify(modifiers)}, function() { >+ uiController.singleTapAtPoint(${x}, ${y}, function() { > uiController.uiScriptComplete(); > });`, resolve); > }); >@@ -566,14 +565,14 @@ window.UIHelper = class UIHelper { > return new Promise(resolve => testRunner.runUIScript(`uiController.drawSquareInEditableImage()`, resolve)); > } > >- static stylusTapAt(x, y, modifiers=[]) >+ static stylusTapAt(x, y) > { > if (!this.isWebKit2()) > return Promise.resolve(); > > return new Promise((resolve) => { > testRunner.runUIScript(` >- uiController.stylusTapAtPointWithModifiers(${x}, ${y}, 2, 1, 0.5, ${JSON.stringify(modifiers)}, function() { >+ uiController.stylusTapAtPoint(${x}, ${y}, 2, 1, 0.5, function() { > uiController.uiScriptComplete(); > });`, resolve); > });
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194514
: 361711