Changeset 246429 in webkit
- Timestamp:
- Jun 13, 2019 11:50:51 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r246427 r246429 1 2019-06-13 Antoine Quint <graouts@apple.com> 2 3 REGRESSION (r246103) [ Mojave+ WK1 ] Layout Test scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out 4 https://bugs.webkit.org/show_bug.cgi?id=198800 5 <rdar://problem/51679634> 6 7 Reviewed by Tim Horton. 8 9 This test now passes reliably on WK1. 10 11 * platform/mac-wk1/TestExpectations: 12 1 13 2019-06-12 Myles C. Maxfield <mmaxfield@apple.com> 2 14 -
trunk/LayoutTests/platform/mac-wk1/TestExpectations
r246406 r246429 740 740 741 741 webkit.org/b/196508 compositing/repaint/scroller-with-foreground-layer-repaints.html [ Pass Failure ] 742 743 webkit.org/b/198800 [ Mojave+ ] scrollbars/scrollbar-iframe-click-does-not-blur-content.html [ Pass Timeout ] -
trunk/Source/WebKitLegacy/mac/ChangeLog
r246285 r246429 1 2019-06-13 Antoine Quint <graouts@apple.com> 2 3 REGRESSION (r246103) [ Mojave+ WK1 ] Layout Test scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out 4 https://bugs.webkit.org/show_bug.cgi?id=198800 5 <rdar://problem/51679634> 6 7 Reviewed by Tim Horton. 8 9 Expose a private method that we need to use from DumpRenderTree. 10 11 * WebView/WebHTMLView.mm: 12 (-[WebHTMLView _hitViewForEvent:]): 13 * WebView/WebHTMLViewPrivate.h: 14 1 15 2019-06-10 Sam Weinig <weinig@apple.com> 2 16 -
trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
r246285 r246429 847 847 - (DOMRange *)_selectedRange; 848 848 #if PLATFORM(MAC) 849 - (NSView *)_hitViewForEvent:(NSEvent *)event;850 849 - (void)_writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard cachedAttributedString:(NSAttributedString *)attributedString; 851 850 #endif … … 1338 1337 #if PLATFORM(MAC) 1339 1338 1340 - (NSView *)_hitViewForEvent:(NSEvent *)event1341 {1342 // Usually, we hack AK's hitTest method to catch all events at the topmost WebHTMLView.1343 // Callers of this method, however, want to query the deepest view instead.1344 forceNSViewHitTest = YES;1345 NSView *hitView = [(NSView *)[[self window] contentView] hitTest:[event locationInWindow]];1346 forceNSViewHitTest = NO;1347 return hitView;1348 }1349 1350 1339 - (void)_writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard cachedAttributedString:(NSAttributedString *)attributedString 1351 1340 { … … 2568 2557 { 2569 2558 return [[self _frame] accessibilityRoot]; 2559 } 2560 2561 #endif 2562 2563 #if PLATFORM(MAC) 2564 2565 - (NSView *)_hitViewForEvent:(NSEvent *)event 2566 { 2567 // Usually, we hack AK's hitTest method to catch all events at the topmost WebHTMLView. 2568 // Callers of this method, however, want to query the deepest view instead. 2569 forceNSViewHitTest = YES; 2570 NSView *hitView = [(NSView *)[[self window] contentView] hitTest:[event locationInWindow]]; 2571 forceNSViewHitTest = NO; 2572 return hitView; 2570 2573 } 2571 2574 -
trunk/Source/WebKitLegacy/mac/WebView/WebHTMLViewPrivate.h
r221559 r246429 148 148 #endif 149 149 150 #if !TARGET_OS_IPHONE 151 - (NSView *)_hitViewForEvent:(NSEvent *)event; 152 #endif 153 150 154 @end -
trunk/Tools/ChangeLog
r246418 r246429 1 2019-06-13 Antoine Quint <graouts@apple.com> 2 3 REGRESSION (r246103) [ Mojave+ WK1 ] Layout Test scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out 4 https://bugs.webkit.org/show_bug.cgi?id=198800 5 <rdar://problem/51679634> 6 7 Reviewed by Tim Horton. 8 9 We didn't detect an NSScroller in a sub-frame due to WebHTMLView's implementation of -[NSView hitTest:]. We now use a private method 10 which lets us use the default implementation and correctly returns an NSScroller in a sub-frame. 11 12 * DumpRenderTree/mac/EventSendingController.mm: 13 (eventPressedMouseButtonsSwizzlerForViewAndEvent): 14 (-[EventSendingController mouseDown:withModifiers:]): 15 (-[EventSendingController mouseUp:withModifiers:]): 16 (-[EventSendingController mouseMoveToX:Y:]): 17 1 18 2019-06-13 Fujii Hironori <Hironori.Fujii@sony.com> 2 19 -
trunk/Tools/DumpRenderTree/mac/EventSendingController.mm
r246103 r246429 48 48 #import <Carbon/Carbon.h> // for GetCurrentEventTime() 49 49 #import <WebKit/WebHTMLView.h> 50 #import <WebKit/WebHTMLViewPrivate.h> 50 51 #import <objc/runtime.h> 51 52 #import <wtf/mac/AppKitCompatibilityDeclarations.h> … … 564 565 565 566 #if !PLATFORM(IOS_FAMILY) 567 static std::unique_ptr<ClassMethodSwizzler> eventPressedMouseButtonsSwizzlerForViewAndEvent(NSView* view, NSEvent* event) 568 { 569 if ([view isKindOfClass:[WebHTMLView class]]) 570 view = [(WebHTMLView *)view _hitViewForEvent:event]; 571 return ![view isKindOfClass:[NSScroller class]] ? std::make_unique<ClassMethodSwizzler>([NSEvent class], @selector(pressedMouseButtons), reinterpret_cast<IMP>(swizzledEventPressedMouseButtons)) : NULL; 572 } 573 566 574 static NSUInteger swizzledEventPressedMouseButtons() 567 575 { … … 601 609 { 602 610 #if !PLATFORM(IOS_FAMILY) 603 auto eventPressedMouseButtonsSwizzler = ![subView isKindOfClass:[NSScroller class]] ? std::make_unique<ClassMethodSwizzler>([NSEvent class], @selector(pressedMouseButtons), reinterpret_cast<IMP>(swizzledEventPressedMouseButtons)) : NULL;611 auto eventPressedMouseButtonsSwizzler = eventPressedMouseButtonsSwizzlerForViewAndEvent(subView, event); 604 612 #endif 605 613 [subView mouseDown:event]; … … 697 705 { 698 706 #if !PLATFORM(IOS_FAMILY) 699 auto eventPressedMouseButtonsSwizzler = ![targetView isKindOfClass:[NSScroller class]] ? std::make_unique<ClassMethodSwizzler>([NSEvent class], @selector(pressedMouseButtons), reinterpret_cast<IMP>(swizzledEventPressedMouseButtons)) : NULL;707 auto eventPressedMouseButtonsSwizzler = eventPressedMouseButtonsSwizzlerForViewAndEvent(targetView, event); 700 708 #endif 701 709 [targetView mouseUp:event]; … … 787 795 } else { 788 796 #if !PLATFORM(IOS_FAMILY) 789 auto eventPressedMouseButtonsSwizzler = ![subView isKindOfClass:[NSScroller class]] ? std::make_unique<ClassMethodSwizzler>([NSEvent class], @selector(pressedMouseButtons), reinterpret_cast<IMP>(swizzledEventPressedMouseButtons)) : NULL;797 auto eventPressedMouseButtonsSwizzler = eventPressedMouseButtonsSwizzlerForViewAndEvent(subView, event); 790 798 #endif 791 799 [subView mouseDragged:event]; … … 794 802 } else { 795 803 #if !PLATFORM(IOS_FAMILY) 796 auto eventPressedMouseButtonsSwizzler = ![subView isKindOfClass:[NSScroller class]] ? std::make_unique<ClassMethodSwizzler>([NSEvent class], @selector(pressedMouseButtons), reinterpret_cast<IMP>(swizzledEventPressedMouseButtons)) : NULL;804 auto eventPressedMouseButtonsSwizzler = eventPressedMouseButtonsSwizzlerForViewAndEvent(subView, event); 797 805 #endif 798 806 [subView mouseMoved:event];
Note: See TracChangeset
for help on using the changeset viewer.