[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
yurys at chromium.org
yurys at chromium.org
Mon Feb 21 00:30:54 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit a1f9ecd3720faafeaa7d41928dfa383d8b88934f
Author: yurys at chromium.org <yurys at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Feb 1 12:16:33 2011 +0000
2011-02-01 Yury Semikhatsky <yurys at chromium.org>
Unreviewed. Rollout r77230 which caused many layout tests
crashes on Chromium Debug bots.
Async event handlers should not fire within a modal dialog
https://bugs.webkit.org/show_bug.cgi?id=53202
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/EventQueue.cpp:
(WebCore::EventQueue::EventQueue):
(WebCore::EventQueue::enqueueEvent):
(WebCore::EventQueue::pendingEventTimerFired):
* dom/EventQueue.h:
2011-02-01 Yury Semikhatsky <yurys at chromium.org>
Unreviewed. Rollout r77230 which caused many layout tests
crashes on Chromium Debug bots.
Async event handlers should not fire within a modal dialog
https://bugs.webkit.org/show_bug.cgi?id=53202
* fast/events/scroll-event-during-modal-dialog-expected.txt: Removed.
* fast/events/scroll-event-during-modal-dialog.html: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 1068d9f..57aae2e 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2011-02-01 Yury Semikhatsky <yurys at chromium.org>
+
+ Unreviewed. Rollout r77230 which caused many layout tests
+ crashes on Chromium Debug bots.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ * fast/events/scroll-event-during-modal-dialog-expected.txt: Removed.
+ * fast/events/scroll-event-during-modal-dialog.html: Removed.
+
2011-02-01 Mihai Parparita <mihaip at chromium.org>
Reviewed by James Robinson.
diff --git a/LayoutTests/fast/events/scroll-event-during-modal-dialog-expected.txt b/LayoutTests/fast/events/scroll-event-during-modal-dialog-expected.txt
deleted file mode 100644
index b5514b8..0000000
--- a/LayoutTests/fast/events/scroll-event-during-modal-dialog-expected.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Tests that scroll events are not fired while modal dialogs are displayed.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Scrolling window
-Showing modal dialog
-Returned from modal dialog
-Scroll handler fired
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/fast/events/scroll-event-during-modal-dialog.html b/LayoutTests/fast/events/scroll-event-during-modal-dialog.html
deleted file mode 100644
index 346dfb6..0000000
--- a/LayoutTests/fast/events/scroll-event-during-modal-dialog.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html>
-<link rel="stylesheet" href="../js/resources/js-test-style.css">
-<script src="../js/resources/js-test-pre.js"></script>
-<body style="min-height: 2000px">
-<p id="description"></p>
-<div id="console"></div>
-
-<script type="text/javascript">
-description('Tests that scroll events are not fired while modal dialogs are displayed.');
-
-var triggeredCaptureListener = false;
-var triggeredBubbleListener = false;
-
-onscroll = function()
-{
- debug('Scroll handler fired');
- finishJSTest();
-}
-
-onload = function()
-{
- debug('Scrolling window');
- window.scrollTo(200, 200);
- debug('Showing modal dialog');
- showModalDialog('resources/scroll-event-modal-dialog.html');
- debug('Returned from modal dialog');
-}
-
-var successfullyParsed = true;
-var jsTestIsAsync = true;
-</script>
-<script src="../js/resources/js-test-post.js"></script>
-</body>
-</html>
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 9896800..26f97f7 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2011-02-01 Yury Semikhatsky <yurys at chromium.org>
+
+ Unreviewed. Rollout r77230 which caused many layout tests
+ crashes on Chromium Debug bots.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+
2011-02-01 Zoltan Herczeg <zherczeg at webkit.org>
Reviewed by Dirk Schulze.
diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp
index 7f69f51..cb9a2ab 100644
--- a/Source/WebCore/dom/Document.cpp
+++ b/Source/WebCore/dom/Document.cpp
@@ -408,7 +408,7 @@ Document::Document(Frame* frame, const KURL& url, bool isXHTML, bool isHTML, con
, m_normalWorldWrapperCache(0)
#endif
, m_usingGeolocation(false)
- , m_eventQueue(EventQueue::create(this))
+ , m_eventQueue(adoptPtr(new EventQueue))
#if ENABLE(WML)
, m_containsWMLContent(false)
#endif
diff --git a/Source/WebCore/dom/EventQueue.cpp b/Source/WebCore/dom/EventQueue.cpp
index a3daae6..a43929e 100644
--- a/Source/WebCore/dom/EventQueue.cpp
+++ b/Source/WebCore/dom/EventQueue.cpp
@@ -28,31 +28,14 @@
#include "EventQueue.h"
#include "DOMWindow.h"
+#include "Document.h"
#include "Event.h"
#include "EventNames.h"
-#include "ScriptExecutionContext.h"
-#include "SuspendableTimer.h"
namespace WebCore {
-class EventQueueTimer : public SuspendableTimer {
- WTF_MAKE_NONCOPYABLE(EventQueueTimer);
-public:
- EventQueueTimer(EventQueue* eventQueue, ScriptExecutionContext* context)
- : SuspendableTimer(context)
- , m_eventQueue(eventQueue) { }
-
-private:
- virtual void fired() { m_eventQueue->pendingEventTimerFired(); }
- EventQueue* m_eventQueue;
-};
-
-EventQueue::EventQueue(ScriptExecutionContext* context)
- : m_pendingEventTimer(adoptPtr(new EventQueueTimer(this, context)))
-{
-}
-
-EventQueue::~EventQueue()
+EventQueue::EventQueue()
+ : m_pendingEventTimer(this, &EventQueue::pendingEventTimerFired)
{
}
@@ -61,8 +44,8 @@ void EventQueue::enqueueEvent(PassRefPtr<Event> event)
ASSERT(event->target()->toNode() || event->target()->toDOMWindow());
m_queuedEvents.append(event);
- if (!m_pendingEventTimer->isActive())
- m_pendingEventTimer->startOneShot(0);
+ if (!m_pendingEventTimer.isActive())
+ m_pendingEventTimer.startOneShot(0);
}
void EventQueue::enqueueScrollEvent(PassRefPtr<Node> target, ScrollEventTargetType targetType)
@@ -77,9 +60,9 @@ void EventQueue::enqueueScrollEvent(PassRefPtr<Node> target, ScrollEventTargetTy
enqueueEvent(scrollEvent.release());
}
-void EventQueue::pendingEventTimerFired()
+void EventQueue::pendingEventTimerFired(Timer<EventQueue>*)
{
- ASSERT(!m_pendingEventTimer->isActive());
+ ASSERT(!m_pendingEventTimer.isActive());
Vector<RefPtr<Event> > queuedEvents;
queuedEvents.swap(m_queuedEvents);
diff --git a/Source/WebCore/dom/EventQueue.h b/Source/WebCore/dom/EventQueue.h
index a589ed8..7f8d5fb 100644
--- a/Source/WebCore/dom/EventQueue.h
+++ b/Source/WebCore/dom/EventQueue.h
@@ -27,51 +27,38 @@
#ifndef EventQueue_h
#define EventQueue_h
+#include "Timer.h"
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
namespace WebCore {
class Event;
-class EventQueueTimer;
class Node;
-class ScriptExecutionContext;
class EventQueue {
WTF_MAKE_NONCOPYABLE(EventQueue);
-
public:
enum ScrollEventTargetType {
ScrollEventDocumentTarget,
ScrollEventElementTarget
};
- static PassOwnPtr<EventQueue> create(ScriptExecutionContext* context)
- {
- return adoptPtr(new EventQueue(context));
- }
-
- ~EventQueue();
+ EventQueue();
void enqueueEvent(PassRefPtr<Event>);
void enqueueScrollEvent(PassRefPtr<Node>, ScrollEventTargetType);
private:
- explicit EventQueue(ScriptExecutionContext*);
-
- void pendingEventTimerFired();
+ void pendingEventTimerFired(Timer<EventQueue>*);
void dispatchEvent(PassRefPtr<Event>);
- OwnPtr<EventQueueTimer> m_pendingEventTimer;
+ Timer<EventQueue> m_pendingEventTimer;
Vector<RefPtr<Event> > m_queuedEvents;
HashSet<Node*> m_nodesWithQueuedScrollEvents;
-
- friend class EventQueueTimer;
};
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list