Bug 31164 - [Qt] [DRT] Fix wrong logic in LayoutTestController processWork
Summary: [Qt] [DRT] Fix wrong logic in LayoutTestController processWork
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Antonio Gomes
URL:
Keywords: Qt
Depends on:
Blocks: 30573
  Show dependency treegraph
 
Reported: 2009-11-05 05:02 PST by Antonio Gomes
Modified: 2009-11-08 19:13 PST (History)
0 users

See Also:


Attachments
(committed in r50622) patch (2.11 KB, patch)
2009-11-05 05:09 PST, Antonio Gomes
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Gomes 2009-11-05 05:02:23 PST
Qt's DRT logic for processing the WorkQueue is working differently from other DRT ports (e.g. mac, gtk and win):

void LayoutTestController::processWork()
  (..)
  if (!WorkQueue::shared()->processWork() && !shouldWaitUntilDone()) {
     emit done();


notice the first "!". It makes queue processing stop when if should proceed ('true' here means that queue is done and we are ok to finish).
Comment 1 Antonio Gomes 2009-11-05 05:03:01 PST
for reference:

GTK:
static gboolean processWork(void* data)
{
  // if we finish all the commands, we're ready to dump state
  if (WorkQueue::shared()->processWork() && !gLayoutTestController->waitToDump())
     dump();

WIN:
void FrameLoadDelegate::processWork()
{
  (...)
  // if we finish all the commands, we're ready to dump state
  if (WorkQueue::shared()->processWork() && !::gLayoutTestController->waitToDump())
    dump();

MAC:
- (void)processWork:(id)dummy
{
  (...)
  // if we finish all the commands, we're ready to dump state
  if (WorkQueue::shared()->processWork() && !gLayoutTestController->waitToDump())
    dump();
Comment 2 Antonio Gomes 2009-11-05 05:09:53 PST
Created attachment 42560 [details]
(committed in r50622) patch

patch make LayoutTestController::proccessWork to dump whole if WorkQueue returns 'true'

it makes qt compliant to other drt's (mac, win, gtk)
Comment 3 Holger Freyther 2009-11-07 00:32:56 PST
Comment on attachment 42560 [details]
(committed in r50622) patch

Seems plausible.
Comment 4 Antonio Gomes 2009-11-08 09:27:46 PST
r50622