Changes between Version 7 and Version 8 of WebKit plus SVG


Ignore:
Timestamp:
Nov 3, 2006 8:38:15 PM (17 years ago)
Author:
bdash@webkit.org
Comment:

Remove the majority of the page content as it is out of date

Legend:

Unmodified
Added
Removed
Modified
  • WebKit plus SVG

    v7 v8  
    1 This is the wiki page covering all that involves the SVG work being done in WebKit.
     1== !WebKit with SVG ==
    22
    3 '''NOTE: WebKit+SVG is NOT ready for general usage.  If you're not a developer (or really hate buggy software) you will be disappointed.'''
    4 
    5 
    6 == WebKit+SVG News ==
    7  * 2005-09-27 — Safari+SVG now available! : It's now possible to build WebKit w/ SVG support, thus it's now possible to run Safari w/ build in SVG viewing capabilities.  Bdash has made [http://nightly.webkit.org/ nightly WebKit+SVG builds] available.  NOTE: SVG support in Safari is even MORE LIMITED than what is available in DrawTest.  Animations, JavaScript and Text are all disabled for now.[[BR]]
    8  * 2005-09-25 — SVG Scripts Update : Two of the SVG scripts have gone away, rolled back into their WebKit counterparts:  `checkout-svg` is now `checkout --svg`, `build-webcore-svg` is now `build-webkit --svg`.  Yes, as you might guess this means you can now build SVG support right into WebKit (and Safari), more on that later...[[BR]]
    9  * 2005-09-07 — Full Steam Ahead! : SVG development has accellerated to an incredible pace over the last month.  We now have 5 developers (tobli, pojo, Kompo, rwlbuis, and MacDome) hard at work.  We picked up several rounds of changes from KDE (4752, 4790, 4799), fixed several annoying bugs (4697, 4780, 4864), and followed the rest of WebKit in reducing our leaks by an order of magatude!  After all that, we sat down to think up "what's next" and have assembled a tenative wiki:WebKit_plus_SVG_Milestones document to guide us for the next while.[[BR]]
    10  * 2005-07-29 — Build Scripts, Nightly's and Bug Fixes (oh my!): SVG build scripts are now in CVS (`build-webcore-svg` and friends).  Also bdash has made [http://nightly.webkit.org/ nightly DrawTest builds] available for easy testing!  And with pojo2's help we finally nailed the [http://bugs.webkit.org/show_bug.cgi?id=4211 "Most SVGs render all black"] regression!
    11 
    12 wiki:WebKit_plus_SVG_Old_News
    13 
    14 == Obtaining WebCore+SVG ==
    15 You no longer have to build your own copy of WebCore+SVG, you can now just grab a wiki:http://bdash.net.nz/files/webkit/nightly/Latest-WebCore-SVG-CVS.dmg nightly DrawTest build, and skip right to testing if you'd like.
    16 
    17 For developers, you will need to do the following:[[BR]]
    18  * Make sure you have the minimum requirements: 10.4.0 or later, Xcode 2.1 developer tools installed.[[BR]]
    19  * Grab the latest WebKit sources from anon CVS (follow the [http://webkit.org/building/checkout.html normal "Obtaining WebKit" instructions])[[BR]]
    20  * Grab the WebKit SVG additions (`WebKitTools/checkout --svg`) you only need to do this once.
    21 
    22 == Building WebCore+SVG ==
    23 Once you have obtained WebCore+SVG (above), building is simple:[[BR]]
    24  * Run `build-webkit --svg` (this builds the JavaScriptCore+SVG and WebCore+SVG targets)[[BR]]
    25  * Run `build-drawtest` (this builds DrawTest.app)[[BR]]
    26  * Run `run-drawtest` to actually view svgs. :)[[BR]]
    27 You're now running DrawTest, the Cocoa SVG Test viewer.  You'll probably want to grab some SVGs to play with, see "Testing WebCore+SVG" below.
    28 
    29 Come complain on [irc://freenode.net/#webkit #webkit] if something doesn't work!
    30 
    31 == SVG Hitlist bugs ==
    32  * [http://bugs.webkit.org/show_bug.cgi?id=3914 3914] Remove all dynamic_cast from KDOM (pojo & rwlbuis have started, ask on #webkit for more info)[[BR]]
    33  * [http://bugs.webkit.org/show_bug.cgi?id=3916 3916] Remove APPLE_COMPILE_HACK from WebCore+SVG[[BR]]
    34  * [http://bugs.webkit.org/show_bug.cgi?id=4249 4249] REGRESSION: JavaScript support is busted in WebCore+SVG
    35 
    36 == Testing WebCore+SVG ==
    37 WebCore+SVG uses the same testing architecture as WebKit, namely `run-webkit-tests` However, WebCore+SVG requires you to pass the `--svg` option to the script like so:[[BR]]
    38  run-webkit-tests --svg
    39 
    40 Unfortunately, although we have a good testing infrastructure, we don't have very many SVG tests!  If you know of any SVG test suites out there (beyond the W3C one which we are already using), we would be very interested to hear from you.
    41 
    42 Another good (visual) way to scan through many tests at once is to build DrawTest.app (outlined above) and use its built-in viewer & test browser to scan over your favorite SVG's looking for rendering errors.  DrawTest's built in test browser is designed to allow you to scan over svg + png directories quickly and compare the WebCore's SVG rendering against the png.   Great examples of such svg & png collections can be found at:
    43 
    44 http://www.openclipart.org/[[BR]]
    45 and[[BR]]
    46 http://www.w3.org/Graphics/SVG/Test/ (which is also already in WebCore CVS)
    47 
    48 '''File bugs for any SVGs which crash or don't render correctly!'''  (Best of course to have a reduced test case demostrating the render failure, rather than a large complex SVG.)
    49 
    50 === DrawTest.app ===
    51 A simple Cocoa app for viewing/interacting with SVGs.
    52 
    53 ==== Feature: SVG viewer ====
    54 To use: File:Open... or double-click on a .svg file in the Finder[[BR]]
    55 <center>[[BR]]
    56 wiki:Image:DrawTestKonquerorLogo.png[[BR]]
    57 wiki:Image:DrawTestScreenShot.png
    58 
    59 <small>DrawTest.app showing [http://websvn.kde.org/trunk/KDE/kdebase/konqueror/pics/hisc-app-konqueror.svgz Konqueror Logo.svg] and [http://svg.org/story/2004/10/25/221710/41 FireFox Logo.svg] (ironic, eh?)</small>[[BR]]
    60 </center>
    61 
    62 Click the button in the upper-right hand corner of the window to toggle the toolbar (and thus zoom/pan controls, etc.) ON/OFF.
    63 
    64 NOTE: SVG creation (aka drawing) capabilities of this app are extremely limited.  Don't be too surprised if things crash (bug pending), or don't work as expected ([http://bugs.webkit.org/show_bug.cgi?id=4248 4248]).
    65 
    66 ==== Feature: SVG Test Suite Browser ====
    67 This is used for scanning through Test Suites, like those from wiki:http://www.w3.org/Graphics/SVG/Test/ W3C, or image libraries like wiki:http://www.openclipart.org/ OpenClipart
    68 
    69 To use: Window:Tests Panel, point the Test list to a directory of SVGs, then double-click on one to show the text viewer panel (shown below).[[BR]]
    70 <center>[[BR]]
    71 wiki:Image:DrawTestTestViewer.png
    72 
    73 <small>DrawTest.app showing one of the [http://www.w3.org/Graphics/SVG/Test/ W3C test cases] for filters</small>[[BR]]
    74 </center>
     3SVG support has been integrated into mainline WebKit.  The standard `build-webkit` script results in a SVG-enabled WebKit framework, and `run-webkit-tests` will execute the SVG layout tests.  All [wiki:Nightly%20Builds nightly builds] from the last few months include support for SVG.