Bug 3917 - DumpKCanvasTree needed for SVG layout testing with KCanvas
Summary: DumpKCanvasTree needed for SVG layout testing with KCanvas
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P4 Normal
Assignee: Eric Seidel (no email)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-09 00:58 PDT by Eric Seidel (no email)
Modified: 2005-08-06 12:01 PDT (History)
0 users

See Also:


Attachments
A preliminary patch, which seems to work except for a pesky crash (23.65 KB, patch)
2005-08-05 18:44 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
DumpKCanvasTree tool, including a few necessary WebCore+SVG changes. (42.05 KB, patch)
2005-08-06 02:29 PDT, Eric Seidel (no email)
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2005-07-09 00:58:35 PDT
We need an equivilent DumpKCanvasTree, like DumpRenderTree for khml.  This will allow for much faster 
KSVG regression testing.
Comment 1 Eric Seidel (no email) 2005-08-05 18:44:05 PDT
Created attachment 3235 [details]
A preliminary patch, which seems to work except for a pesky crash
Comment 2 Eric Seidel (no email) 2005-08-06 02:29:33 PDT
Created attachment 3237 [details]
DumpKCanvasTree tool, including a few necessary WebCore+SVG changes.
Comment 3 Eric Seidel (no email) 2005-08-06 02:35:23 PDT
There are several components to this most recent patch.

#1 fixes the previous crash, by removing the "delete renderingDevice" from KCanvas, the 
renderingDevice is treated as a singleton under WebCore.
#2 adds two methods to KCanvasContainer to allow traversal of children
#3 includes a full "first pass" implementation of DumpKCanvasTree (modeled after DumpRenderTree)
#4 includes KCanvasTreeDebug.* support files, and renderTreeAsExternalRepresentation addition to 
DrawDocument
#5 includes missing operator<<(float) and operator<<(double) for QTextStream (declared but not 
previously defined).
#6 includes a somewhat unrelated fix to bison build script, removing bison generated headers before 
running bison to prevent double-concat.
#7 includes run-webkit-tests-svg script for running DumpKCanvasTree.
Comment 4 Darin Adler 2005-08-06 10:40:48 PDT
Comment on attachment 3237 [details]
DumpKCanvasTree tool, including a few necessary WebCore+SVG changes.

I'm not really happy with the copy and paste approach to developing scripts.
And also I'm worried that there are too many scripts. It's now to the point
where almost half the scripts in the scripts directory are SVG-specific -- I
worked hard to keep the number of scripts needed for WebKit to a minimum and
this is pulling in the other direction. For example, WebKit has two build
scripts, and SVG has a lot more. Having a script named run-webkit-tests-svg
makes it harder to use bash completion to type run-webkit-tests.

All that having been said, I guess it's OK to land this.
Comment 5 Eric Seidel (no email) 2005-08-06 11:48:31 PDT
Darin and I talked about this offline, and I followed up with:
http://bugzilla.opendarwin.org/show_bug.cgi?id=4300