Title: [172785] branches/safari-600.1-branch/Source/WebCore
- Revision
- 172785
- Author
- [email protected]
- Date
- 2014-08-19 16:43:40 -0700 (Tue, 19 Aug 2014)
Log Message
Merge r172703. <rdar://problem/17767169>
Modified Paths
Diff
Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (172784 => 172785)
--- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-08-19 23:39:25 UTC (rev 172784)
+++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-08-19 23:43:40 UTC (rev 172785)
@@ -1,5 +1,34 @@
2014-08-19 Dana Burkart <[email protected]>
+ Merge r172703. <rdar://problem/17767169>
+
+ 2014-08-17 Brent Fulgham <[email protected]>
+
+ [Mac] Gesture scrolls don't work in the WebKit1 clients after scrolling a non-scrollable iFrame
+ https://bugs.webkit.org/show_bug.cgi?id=136029
+ <rdar://problem/17767169>
+
+ Reviewed by Maciej Stachowiak.
+
+ This is difficult to test in our layout tests, since it relies on specific host application
+ behavior.
+
+ If the platform widget is a frame view (IFrame), and we are in WebKit1, 'passWheelEventToWidget'
+ has already called 'scrollWheel' on the underlying platform widget. We need to return true in
+ this case to avoid getting multiple copies of the scrollWheel event sent to the platform widget.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise default stub to
+ accept a Widget* argument.
+ (WebCore::EventHandler::handleWheelEvent):
+ * page/EventHandler.h:
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Check for WK1 case and
+ return 'true' when the underlying NSScrollView has been issues a scrollWheel event.
+
+
+2014-08-19 Dana Burkart <[email protected]>
+
Merge r172693. <rdar://problem/17577321>
2014-08-15 Dean Jackson <[email protected]>
Modified: branches/safari-600.1-branch/Source/WebCore/page/EventHandler.cpp (172784 => 172785)
--- branches/safari-600.1-branch/Source/WebCore/page/EventHandler.cpp 2014-08-19 23:39:25 UTC (rev 172784)
+++ branches/safari-600.1-branch/Source/WebCore/page/EventHandler.cpp 2014-08-19 23:43:40 UTC (rev 172785)
@@ -2534,7 +2534,7 @@
return didHandleEvent;
}
-bool EventHandler::platformCompletePlatformWidgetWheelEvent(const PlatformWheelEvent&, ContainerNode*)
+bool EventHandler::platformCompletePlatformWidgetWheelEvent(const PlatformWheelEvent&, const Widget*, ContainerNode*)
{
return true;
}
@@ -2593,7 +2593,7 @@
scrollableArea->setScrolledProgrammatically(false);
if (!widget->platformWidget())
return true;
- return platformCompletePlatformWidgetWheelEvent(event, scrollableContainer.get());
+ return platformCompletePlatformWidgetWheelEvent(event, widget, scrollableContainer.get());
}
}
}
Modified: branches/safari-600.1-branch/Source/WebCore/page/EventHandler.h (172784 => 172785)
--- branches/safari-600.1-branch/Source/WebCore/page/EventHandler.h 2014-08-19 23:39:25 UTC (rev 172784)
+++ branches/safari-600.1-branch/Source/WebCore/page/EventHandler.h 2014-08-19 23:43:40 UTC (rev 172785)
@@ -200,7 +200,7 @@
void platformPrepareForWheelEvents(const PlatformWheelEvent&, const HitTestResult&, RefPtr<Element>& eventTarget, RefPtr<ContainerNode>& scrollableContainer, ScrollableArea*&, bool& isOverWidget);
void platformRecordWheelEvent(const PlatformWheelEvent&);
bool platformCompleteWheelEvent(const PlatformWheelEvent&, Element* eventTarget, ContainerNode* scrollableContainer, ScrollableArea*);
- bool platformCompletePlatformWidgetWheelEvent(const PlatformWheelEvent&, ContainerNode* scrollableContainer);
+ bool platformCompletePlatformWidgetWheelEvent(const PlatformWheelEvent&, const Widget*, ContainerNode* scrollableContainer);
#if ENABLE(IOS_TOUCH_EVENTS) || ENABLE(IOS_GESTURE_EVENTS)
typedef Vector<RefPtr<Touch>> TouchArray;
Modified: branches/safari-600.1-branch/Source/WebCore/page/mac/EventHandlerMac.mm (172784 => 172785)
--- branches/safari-600.1-branch/Source/WebCore/page/mac/EventHandlerMac.mm 2014-08-19 23:39:25 UTC (rev 172784)
+++ branches/safari-600.1-branch/Source/WebCore/page/mac/EventHandlerMac.mm 2014-08-19 23:43:40 UTC (rev 172785)
@@ -916,8 +916,12 @@
return didHandleEvent;
}
-bool EventHandler::platformCompletePlatformWidgetWheelEvent(const PlatformWheelEvent& wheelEvent, ContainerNode* scrollableContainer)
+bool EventHandler::platformCompletePlatformWidgetWheelEvent(const PlatformWheelEvent& wheelEvent, const Widget* widget, ContainerNode* scrollableContainer)
{
+ // WebKit1: Prevent multiple copies of the scrollWheel event from being sent to the NSScrollView widget.
+ if (frameHasPlatformWidget(m_frame) && widget->isFrameView())
+ return true;
+
if (wheelEvent.useLatchedEventElement() && m_latchedScrollableContainer && scrollableContainer == m_latchedScrollableContainer)
return !m_startedGestureAtScrollLimit;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes