Diff
Modified: trunk/LayoutTests/ChangeLog (196857 => 196858)
--- trunk/LayoutTests/ChangeLog 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/LayoutTests/ChangeLog 2016-02-20 11:01:15 UTC (rev 196858)
@@ -1,3 +1,18 @@
+2016-02-20 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r196837.
+ https://bugs.webkit.org/show_bug.cgi?id=154495
+
+ It caused a lot of crashes in EFL and GTK bots (Requested by
+ KaL on #webkit).
+
+ Reverted changeset:
+
+ "Wheel event callback removing the window causes crash in
+ WebCore."
+ https://bugs.webkit.org/show_bug.cgi?id=150871
+ http://trac.webkit.org/changeset/196837
+
2016-02-19 Doug Russell <[email protected]>
Bug 154366: AX: AXObjectCache::visiblePositionForTextMarkerData() doesn't account for visibly equivalent positions
Deleted: trunk/LayoutTests/fast/events/wheel-event-destroys-frame-expected.txt (196857 => 196858)
--- trunk/LayoutTests/fast/events/wheel-event-destroys-frame-expected.txt 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/LayoutTests/fast/events/wheel-event-destroys-frame-expected.txt 2016-02-20 11:01:15 UTC (rev 196858)
@@ -1,3 +0,0 @@
-This test should not crash
-
-
Deleted: trunk/LayoutTests/fast/events/wheel-event-destroys-frame.html (196857 => 196858)
--- trunk/LayoutTests/fast/events/wheel-event-destroys-frame.html 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/LayoutTests/fast/events/wheel-event-destroys-frame.html 2016-02-20 11:01:15 UTC (rev 196858)
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <script>
- if (window.testRunner) {
- testRunner.waitUntilDone();
- testRunner.dumpAsText();
- }
-
- function frameLoaded(iframe)
- {
- iframe.contentWindow.addEventListener('wheel', function() {
- // Removing the window during event firing causes crash.
- window.document.body.removeChild(iframe);
- window.setTimeout(function() {
- if (window.testRunner)
- testRunner.notifyDone();
- }, 0);
- });
-
- if (!window.eventSender)
- return;
-
- var iframeTarget = document.getElementById('iframe');
- var iframeBounds = iframeTarget.getBoundingClientRect();
-
- eventSender.mouseMoveTo(iframeBounds.left + 10, iframeBounds.top + 10);
- eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none');
- eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none');
- eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none');
- eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none');
- }
- </script>
-</head>
-<body>
- <p>This test should not crash</p>
- <iframe id="iframe" _onload_="frameLoaded(this)" src="" here</body>"></iframe>
-</body>
-</html>
Modified: trunk/Source/WebCore/ChangeLog (196857 => 196858)
--- trunk/Source/WebCore/ChangeLog 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/Source/WebCore/ChangeLog 2016-02-20 11:01:15 UTC (rev 196858)
@@ -1,3 +1,18 @@
+2016-02-20 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r196837.
+ https://bugs.webkit.org/show_bug.cgi?id=154495
+
+ It caused a lot of crashes in EFL and GTK bots (Requested by
+ KaL on #webkit).
+
+ Reverted changeset:
+
+ "Wheel event callback removing the window causes crash in
+ WebCore."
+ https://bugs.webkit.org/show_bug.cgi?id=150871
+ http://trac.webkit.org/changeset/196837
+
2016-02-19 Chris Dumez <[email protected]>
Land release assertions to help track down a possible HTMLCollection lifetime bug
Modified: trunk/Source/WebCore/page/EventHandler.cpp (196857 => 196858)
--- trunk/Source/WebCore/page/EventHandler.cpp 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2016-02-20 11:01:15 UTC (rev 196858)
@@ -452,7 +452,9 @@
m_mousePressed = false;
m_capturesDragging = false;
m_capturingMouseEventsElement = nullptr;
- clearLatchedState();
+#if PLATFORM(MAC)
+ m_frame.mainFrame().resetLatchingState();
+#endif
#if ENABLE(TOUCH_EVENTS) && !ENABLE(IOS_TOUCH_EVENTS)
m_originatingTouchPointTargets.clear();
m_originatingTouchPointDocument = nullptr;
@@ -2662,8 +2664,7 @@
#if PLATFORM(MAC)
m_frame.mainFrame().resetLatchingState();
#endif
- if (WheelEventDeltaFilter* filter = m_frame.mainFrame().wheelEventDeltaFilter())
- filter->endFilteringDeltas();
+ m_frame.mainFrame().wheelEventDeltaFilter()->endFilteringDeltas();
}
void EventHandler::defaultWheelEventHandler(Node* startNode, WheelEvent* wheelEvent)
Modified: trunk/Source/WebCore/page/WheelEventDeltaFilter.cpp (196857 => 196858)
--- trunk/Source/WebCore/page/WheelEventDeltaFilter.cpp 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/Source/WebCore/page/WheelEventDeltaFilter.cpp 2016-02-20 11:01:15 UTC (rev 196858)
@@ -31,8 +31,6 @@
#endif
#include "FloatSize.h"
-#include "Logging.h"
-#include "TextStream.h"
namespace WebCore {
@@ -60,7 +58,6 @@
FloatSize WheelEventDeltaFilter::filteredDelta() const
{
- LOG_WITH_STREAM(Scrolling, stream << "BasicWheelEventDeltaFilter::filteredDelta returning " << m_currentFilteredDelta);
return m_currentFilteredDelta;
}
Modified: trunk/Source/WebCore/page/mac/EventHandlerMac.mm (196857 => 196858)
--- trunk/Source/WebCore/page/mac/EventHandlerMac.mm 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/Source/WebCore/page/mac/EventHandlerMac.mm 2016-02-20 11:01:15 UTC (rev 196858)
@@ -1008,10 +1008,9 @@
bool EventHandler::platformCompleteWheelEvent(const PlatformWheelEvent& wheelEvent, ContainerNode* scrollableContainer, ScrollableArea* scrollableArea)
{
- FrameView* view = m_frame.view();
// We do another check on the frame view because the event handler can run JS which results in the frame getting destroyed.
- if (!view)
- return false;
+ ASSERT(m_frame.view());
+ FrameView* view = m_frame.view();
ScrollLatchingState* latchingState = m_frame.mainFrame().latchingState();
if (wheelEvent.useLatchedEventElement() && !latchingIsLockedToAncestorOfThisFrame(m_frame) && latchingState && latchingState->scrollableContainer()) {
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (196857 => 196858)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2016-02-20 08:40:38 UTC (rev 196857)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2016-02-20 11:01:15 UTC (rev 196858)
@@ -2349,8 +2349,6 @@
if (!box)
return;
- LOG_WITH_STREAM(Scrolling, stream << "RenderLayer::scrollTo " << position);
-
ScrollPosition newPosition = position;
if (box->style().overflowX() != OMARQUEE) {
// Ensure that the dimensions will be computed if they need to be (for overflow:hidden blocks).