summaryrefslogtreecommitdiffstats
path: root/WebKitTools/DumpRenderTree/qt/WorkQueue.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2009-08-11 17:01:47 +0100
committerBen Murdoch <benm@google.com>2009-08-11 18:21:02 +0100
commit0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5 (patch)
tree2943df35f62d885c89d01063cc528dd73b480fea /WebKitTools/DumpRenderTree/qt/WorkQueue.cpp
parent7e7a70bfa49a1122b2597a1e6367d89eb4035eca (diff)
downloadexternal_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.zip
external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.gz
external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.bz2
Merge in WebKit r47029.
Diffstat (limited to 'WebKitTools/DumpRenderTree/qt/WorkQueue.cpp')
-rw-r--r--WebKitTools/DumpRenderTree/qt/WorkQueue.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/WebKitTools/DumpRenderTree/qt/WorkQueue.cpp b/WebKitTools/DumpRenderTree/qt/WorkQueue.cpp
index 8c6d48c..ae24e0d 100644
--- a/WebKitTools/DumpRenderTree/qt/WorkQueue.cpp
+++ b/WebKitTools/DumpRenderTree/qt/WorkQueue.cpp
@@ -31,7 +31,6 @@
#include "WorkQueue.h"
#include "WorkQueueItem.h"
-#include <wtf/Assertions.h>
static const unsigned queueLength = 1024;
@@ -52,8 +51,8 @@ WorkQueue::WorkQueue()
void WorkQueue::queue(WorkQueueItem* item)
{
- ASSERT(endOfQueue < queueLength);
- ASSERT(endOfQueue >= startOfQueue);
+ Q_ASSERT(endOfQueue < queueLength);
+ Q_ASSERT(endOfQueue >= startOfQueue);
if (m_frozen) {
delete item;
@@ -65,7 +64,7 @@ void WorkQueue::queue(WorkQueueItem* item)
WorkQueueItem* WorkQueue::dequeue()
{
- ASSERT(endOfQueue >= startOfQueue);
+ Q_ASSERT(endOfQueue >= startOfQueue);
if (startOfQueue == endOfQueue)
return 0;
@@ -88,3 +87,18 @@ void WorkQueue::clear()
startOfQueue = 0;
endOfQueue = 0;
}
+
+bool WorkQueue::processWork()
+{
+ bool startedLoad = false;
+
+ while (!startedLoad && count()) {
+ WorkQueueItem* item = dequeue();
+ Q_ASSERT(item);
+ startedLoad = item->invoke();
+ delete item;
+ }
+
+ // If we're done and we didn't start a load, then we're really done, so return true.
+ return !startedLoad;
+}