WebKit-https.git
14 years ago2007-10-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:21:36 +0000 (14:21 +0000)]
2007-10-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        SVG Subresources will not be saved when creating WebArchives
        http://bugs.webkit.org/show_bug.cgi?id=15280

        Implement _subresourceURLs methods for more SVGElement types
        more such methods will be needed as we add support for other
        external references (such as use, mpath, tref, etc.)

        * DOM/WebDOMOperations.mm:
        (-[DOMSVGScriptElement _subresourceURLs]): added.
        (-[DOMSVGCursorElement _subresourceURLs]): added.
        (-[DOMSVGFEImageElement _subresourceURLs]): added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:19:59 +0000 (14:19 +0000)]
2007-10-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        WebArchives do not embed stylesheets referenced by xml-stylesheeet
        http://bugs.webkit.org/show_bug.cgi?id=15320

        * DOM/WebDOMOperations.mm:
        (-[DOMProcessingInstruction _stylesheetURL]): needed to access [[self sheet] href]
        (-[DOMProcessingInstruction _subresourceURLs]): call and return _stylesheetURL

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:18:20 +0000 (14:18 +0000)]
2007-10-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        This only affects Debug builds, and the ability to save SVGs as WebArchives
        neither are testable via DumpRenderTree.

        * Configurations/WebCore.xcconfig: change where Xcode looks for WebCore.exp
        * DerivedSources.make: adds SVG symbols to WebCore.exp when necessary
        * WebCore.SVG.exp: Added.
        * WebCore.exp: moved to WebCore.base.exp
        * WebCore.xcodeproj/project.pbxproj: updated to reflect moved files
        * bindings/objc/DOMSVGExecption.h: moved to DOMSVGException.h

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-01 Mark Rowe <mrowe@apple.com>
oliver [Fri, 12 Oct 2007 14:16:41 +0000 (14:16 +0000)]
2007-10-01  Mark Rowe  <mrowe@apple.com>

        * BuildSlaveSupport/build-launcher-dmg: Tweak once more to handle nightly builds for branches.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoEnable Experimental SVG features by default when building from Xcode
oliver [Fri, 12 Oct 2007 14:14:59 +0000 (14:14 +0000)]
Enable Experimental SVG features by default when building from Xcode

Reviewed by Mark

* Configurations/JavaScriptCore.xcconfig:
* Configurations/WebCore.xcconfig:
* Configurations/WebKit.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:13:13 +0000 (14:13 +0000)]
2007-10-01  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Make feature-branch build again with ENABLE_SVG_EXPERIMENTAL_FEATURES
        Needed a double -> float change to make the new filter types build.

        Build fix, no test cases.

        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-09-30 Julien <julien.chaffraix@gmail.com>
oliver [Fri, 12 Oct 2007 14:11:30 +0000 (14:11 +0000)]
2007-09-30  Julien  <julien.chaffraix@gmail.com>

        Reviewed by aroben & eseidel.

        fix http://bugs.webkit.org/show_bug.cgi?id=14898

        getAllResponseHeaders() separates each header with a CR LF according to the specification

        Test: http/tests/xmlhttprequest/xmlhttprequest-crlf-getAllResponseHeader.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adam.
oliver [Fri, 12 Oct 2007 14:09:46 +0000 (14:09 +0000)]
    Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=13472
        Misparsing date in javascript leads to year value of -1
        http://bugs.webkit.org/show_bug.cgi?id=14176
        Some date values not handled consistently with IE/Firefox

        Allow an optional comma between month and year, and year and time.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-09-28 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:07:59 +0000 (14:07 +0000)]
2007-09-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Wenig.

        ASSERT when dragging <svg:image> with non-null prefix
        http://bugs.webkit.org/show_bug.cgi?id=15308

        * bindings/objc/DOM.mm:
        (WebCore::lookupElementClass): added
        (WebCore::elementClass): use new lookupElementClass function

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-09-25 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:06:12 +0000 (14:06 +0000)]
2007-09-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Mark Rowe.

        I managed to break the SVG build when fixing the --no-svg build for
        http://bugs.webkit.org/show_bug.cgi?id=15281
        This adds the appropriate DOMSVG headers to the copy headers phase
        (in fixing the no-svg build I mistakenly re-marked them project-only)

        * WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-09-25 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:04:24 +0000 (14:04 +0000)]
2007-09-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Mark Rowe.

        DerivedSources.make was finding "ENABLE_SVG" in the string
        "ENABLE_SVG_EXPERIMENTAL_FEATURES" thus --no-svg wasn't functioning
        quite correctly.

        * Scripts/build-webkit: make --no-svg imply --no-svg-experimental

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-09-25 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 14:02:36 +0000 (14:02 +0000)]
2007-09-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Rob Bius.

        Already tested by SVG/W3C-SVG-1.1/linking-a-07-t.svg

        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler): properly pass along target values

Correct the spelling of Rob's name

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-09-25 Mark Rowe <mrowe@apple.com>
oliver [Fri, 12 Oct 2007 14:00:49 +0000 (14:00 +0000)]
2007-09-25  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Eric.

        * BuildSlaveSupport/build-launcher-dmg: Allow the platform tag to be specified on the command line.
        This makes it possible to automate nightly builds for the feature-branch.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:58:58 +0000 (13:58 +0000)]
Reviewed by Oliver.

Rework <pattern> support to take overflow & viewBox into account.
Also fix all possible combinations of patternUnits/patternContentUnits, tested by several batik testcases.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12221 (Webkit ToT fails to render this pattern example)
        Reviewed by NOBODY (Build fix).

        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::renderPath):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:57:06 +0000 (13:57 +0000)]
Reviewed by Oliver.
Fix <mask> in userSpaceOnUse coordinates. Verified by new testcase taken from Batik.

Reviewed by Anders.

Fix paths to css style sheets in the last added files. Enable smallFonts.svg as it doesn't crash anymore.
Fix paths to external <use> element reference, to make Batik happy. (We don't support it, yet.)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:55:13 +0000 (13:55 +0000)]
Reviewed by Oliver.

Rewrite text painting code path, to be based on "text chunks" instead of using the InlineBox* hierarchy.
This allows us to reuse paint servers as long as possible - and to actually paint in the way didacted by the spec.

This also implements advanced SVG text decorations (ie. stroked/filled decos with gradient/pattern).
Fixes: http://bugs.webkit.org/show_bug.cgi?id=7200 (Gradient appears and disappears in SVG when text is off screen)
Fixes paint server usage on text paths. (ie. styled text paths, with gradients/filters).

(Oops, forgot to commit WebCore/ changes!)
Reviewed by Oliver.

Rewrite text painting code path, to be based on "text chunks" instead of using the InlineBox* hierarchy.
This allows us to reuse paint servers as long as possible - and to actually paint in the way didacted by the spec.

This also implements advanced SVG text decorations (ie. stroked/filled decos with gradient/pattern).
Fixes: http://bugs.webkit.org/show_bug.cgi?id=7200 (Gradient appears and disappears in SVG when text is off screen)
Fixes paint server usage on text paths. (ie. styled text paths, with gradients/filters).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Mitz.
oliver [Fri, 12 Oct 2007 13:53:18 +0000 (13:53 +0000)]
Reviewed by Mitz.

Expose unitsPerEm() in Font classes.
This is needed to implement SVG's advanced text decorations. We won't draw lines for text-decorations
but fillable & strokable rectangles with a certain height, computed through unitsPerEm & font size.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by NOBODY (Build fix).
oliver [Fri, 12 Oct 2007 13:51:24 +0000 (13:51 +0000)]
    Reviewed by NOBODY (Build fix).

        Initialise iterators to appease gcc

        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::closestCharacterToPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Sam.
oliver [Fri, 12 Oct 2007 13:49:29 +0000 (13:49 +0000)]
    Reviewed by Sam.

        http://bugs.webkit.org/show_bug.cgi?id=12059
        SVG colors have two separate parsing paths (one CSS and one SVGColor::setRGBColor)

        Reuse the css parser as much as possible in setRGBColor.

Rubberstamped by Mark.
Add missing SVG filter testcase (forgot to include in last commit).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:47:26 +0000 (13:47 +0000)]
Reviewed by Oliver.

Large SVG filter rework. Bring it back in a useable state.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=5527 (Filters need subregion support)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=5579 (WebKit+SVG renders full-filters-example incorrectly)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=5976 (filterUnits="userSpaceOnUse" is broken (breaking feTile test case))
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12064 (Need function for manual style-resolution for things like gradient stops)
filters-blend-01-b.svg & filters-example-01-b.svg & filters-displace-01-b.svg & filters-diffuse-01-f.svg are fixed now.

In detail:
- flood-color & flood-opacity have been incorrectly resolved on the <feBlend> parent element!
- sizing of filter region was truncated in some cases, as the bbox was used to resolve the needed filter region instead of the filter rect
- add subregion support to all filter primitives (primitiveUnits & filterUnits handled in all cases)
- WKDisplacmentMap.cikernel incorrectly flipped the y-axis.
- Correctly specify default values for all filter primitives in ksvg2/svg!
- Initialize all variables of the SVGFE* classes in platform/graphics/svg/filters.
- Fix 'flood-color' initial value (was set to the _stop_ color initial value)
    -> both initial values were pointing to 'black' though, so it was no visible problem.
- Parse 'lighting-color' css property, no more hacking in SVGFEDiffuseLighting.
    -> Correct it's initial from black to white value fixes SVG lighting filters!
- Add diffuseConstant support to feDiffuseLighting filter.
- Centralize manual style resolution (needed for stop-color, flood-color & flood-opacity, lighting-color)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Nikolas.
oliver [Fri, 12 Oct 2007 13:45:23 +0000 (13:45 +0000)]
    Reviewed by Nikolas.

        http://bugs.webkit.org/show_bug.cgi?id=14924
        rotated rect with pattern draws incorrectly

        Use the bounding box before transformation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Nikolas.
oliver [Fri, 12 Oct 2007 13:43:20 +0000 (13:43 +0000)]
    Reviewed by Nikolas.

        http://bugs.webkit.org/show_bug.cgi?id=14926
        WebKit has 'em' length handling problems related to CSS properties

        Parse the properties in inline style attributes non-strict for SVG.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:41:17 +0000 (13:41 +0000)]
    Reviewed by Oliver.

        http://bugs.webkit.org/show_bug.cgi?id=14927
        use element in SVG does not render after parent is displayed off and on

        Also detach the shadow tree when detaching the <use>.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixes: http://bugs.webkit.org/show_bug.cgi?id=14153
oliver [Fri, 12 Oct 2007 13:39:10 +0000 (13:39 +0000)]
Fixes: bugs.webkit.org/show_bug.cgi?id=14153
Final, long-awaited RenderSVGContainer split. Make RenderSVGContainer really a simple
container without special cases for inner <svg> elements or <marker>. Create a new
RenderSVGViewportContainer class handling these cases now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver & Rob.
oliver [Fri, 12 Oct 2007 13:37:01 +0000 (13:37 +0000)]
Reviewed by Oliver & Rob.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12501 (SVG Text fails to respect opacity, fill-opacity and stroke-opacity)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=14045 (Incorrect support for opacity, fill-opacity and stroke-opacity)
Based on an older patch from Rob, this fixes SVG text opacity as well as group opacity for solid fills & gradients.
The pattern changes are still missing a testcase (need to wait for Antoine Quint for that).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Nikolas.
oliver [Fri, 12 Oct 2007 13:34:50 +0000 (13:34 +0000)]
    Reviewed by Nikolas.

        http://bugs.webkit.org/show_bug.cgi?id=11909
        Regression: large SVG from Illustrator comes out blank

        Fix last issue with the Illustrator file by making relativeBBox
        calculation take into account viewBox.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:32:37 +0000 (13:32 +0000)]
Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=14896 (SVG InlineText/Flow box sizes don't take rotated glyphs into account)
Introduce new helper function calculateGlyphBoundaries, which takes into account any per-character transformation.
This fixes box size calculations in svg/W3C-SVG-1.1/text-text-07-t.svg, svg/batik/text/textEffect3.svg (rotated glyphs)
-> These strings can be properly selected now, just as well as text path elements.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:30:19 +0000 (13:30 +0000)]
Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13909 (SVG text selection doesn't work with RTL text)
Use drawHighlightForText() to draw the selection, instead of my home-brewn solution.
Affected code in SVGRootInlineBox::paintSelectionForTextBox. Removed not anymore needed
helper function cummulatedWidthOfSelectionRange.

Dump all contained InlineTextBox(es) in SVGRenderTreeAsText, take into account multiple
child text boxes in ie. a RenderSVGInlineText objects (which happens for RTL text and
LTR text cases where newlines were involved - see changed testcase results.)
This affects a lot of LTR tests which actually had more than one child text box, that
wasn't taken properly into account before (in terms of selection, not rendering.)

Fix selection for RTL text by taking box start offsets into account in closestCharacterToPosition()
and by offering RTL text selection special cases in svgCharacterHitsPosition().

Centralized the creation of a TextStyle object for text selection/painting in a new helper function
svgTextStyleForInlineTextBox. Add new helper functions calculateGlyphWidth/calculateGlyphHeight to
centralize these calculations -> use these new helpers everywhere to avoid code duplication.

A single fix in bidi.cpp was needed to fix SVG's unicode-bidi/direction handling, to fix text-intro-02-b.svg.
SVG didacts that the 'direction' attribute is ignored if unicode-bidi is set to 'normal' (default).
Discussed with Mitz.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:28:04 +0000 (13:28 +0000)]
    Reviewed by Oliver.

        Do not export some symbols for internal functions, saves some bytes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver & Rob.
oliver [Fri, 12 Oct 2007 13:25:46 +0000 (13:25 +0000)]
Reviewed by Oliver & Rob.

Enable SVG textPath selection. Actually build chunks for them instead of
ignoring them - was easier than I thought. Respect per-character transformation
when calculating the chunk boundaries for the selection rectangles. Also fixes
selection rect drawing of rotated characters.

Next thing todo is to unify the glyph size calculations, as per-glyph transformations
are not respected when calculating flow box sizes in SVGRootInlineBox.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Nikolas.
oliver [Fri, 12 Oct 2007 13:23:26 +0000 (13:23 +0000)]
    Reviewed by Nikolas.

        http://bugs.webkit.org/show_bug.cgi?id=14312
        Removing an attribute has no effect on SVG

        Update the transform matrix also when transform attribute is empty.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:21:03 +0000 (13:21 +0000)]
Reviewed by Oliver.

Unify absoluteRects() of RenderSVGTSpan & RenderSVGTextPath.
The RenderSVGTextPath one was still using the old, wrong concept.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Sam.
oliver [Fri, 12 Oct 2007 13:18:43 +0000 (13:18 +0000)]
Reviewed by Sam.

Let <textPath> be recognized within the ObjC bindings.
Forgot to add that months ago.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 13:16:19 +0000 (13:16 +0000)]
Reviewed by Oliver.
Fix all known bugs regarding to SVG text selection, when embedded in XHTML.
Also fix inspecting <text> elements when embedded in XHTML. (WebInspector)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Nikolas.
oliver [Fri, 12 Oct 2007 13:13:51 +0000 (13:13 +0000)]
    Reviewed by Nikolas.

        http://bugs.webkit.org/show_bug.cgi?id=5996
        SVG <view> is unimplemented

        Implement <view> and refactor the code in the svg renderer container classes.

Build fix. Not reviewed.
Rob forgot to land the changes to SVGResourceMarker in his last commit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Rob.
oliver [Fri, 12 Oct 2007 13:11:18 +0000 (13:11 +0000)]
Reviewed by Rob.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13611 (Crash in setAttributeNS setting href of SVG <use> to nonexistent symbol)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=14631 (<use> doesn't deep-expand <symbol> elements.)
Rework <use> on <foreignObject> cases, to not just ignore these cases, but actually proceed and skip <fO> objects
from the resulting cloned tree. This fixes parts of "treasure_map.svg" (no bug report availabe on that one, private "testcase").

Fix assertion happening with <use> on <g> containing <symbol>. Introduce expandSymbolElementsInShadowTree()
concept, just like it's done for <use> on <use>, to deep-replace all <symbol> elements by <svg>, as demanded
by the spec. This only worked on <use> on <symbol> direct cases so far.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Rob.
oliver [Fri, 12 Oct 2007 13:08:48 +0000 (13:08 +0000)]
Reviewed by Rob.

Fix invisible-text-after-scrolling.xhtml regression. Scroll offset not
taken into account properly. Also fix RenderSVGInlineText::selectionRect(),
so that SVG text can be selected, when being embedded in XHTML.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixes: http://bugs.webkit.org/show_bug.cgi?id=5940 (<svg> inside <body> incorrectly...
oliver [Fri, 12 Oct 2007 13:06:16 +0000 (13:06 +0000)]
Fixes: bugs.webkit.org/show_bug.cgi?id=5940 (<svg> inside <body> incorrectly extends over top/bottom borders)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=14145 (RenderSVGContainer should not inherit from RenderContainer)
Make RenderSVGContainer inherit from RenderObject directly, instead of RenderContainer.
Itdoes a lot of things that we don't need for SVG, and by removing this inheritance
we can finally fix the differences about SVG object positioning, as we don't need
parent translation (tx/ty). Fixes SVG text rendering within XHTML.

Fix requireLayer() function on RenderSVGRoot, as it can actually be a layer now.
This change is based on Rob's patch at 5940 - fixing z-order indexing.

Change RenderSVGRoot renderName() and update all layout tests, because of this change.

Fix absoluteRects() function for RenderSVGInlineText & RenderSVGTSpan.
Checked extensively using WebInspector, to assure all rects are correctly displayed.

Testcases fixed: junk-data.svg, missing-xlink.svg hixie/013.xml (all regressions!)
(junk-data.svg & missing-xlink.svg previously relied on SVG text painting out of <svg> overflow rect.
 Fix these testcases, as within this new RenderSVGContainer concept, that bug is now fixed, and breaks them)

Testcases added: custom/absolute-sized-svg-in-xhtml.xhtml, custom/inline-svg-in-xhtml.xml (Mozilla XTech demo)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Mark.
oliver [Fri, 12 Oct 2007 13:03:42 +0000 (13:03 +0000)]
Reviewed by Mark.

Forwardport the hash table fix from CodeGeneratorJS.pm to create_hash_table.
Reran run-jsc-tests, couldn't find any regressions. Suggested by Darin.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoRubber stamped by Mark.
oliver [Fri, 12 Oct 2007 13:01:06 +0000 (13:01 +0000)]
Rubber stamped by Mark.

WebKitTools:
Enable svg experimental features as default here in feature-branch.

LayoutTests:
Land new test results with experimental features on by default.
Files showing regressions have NOT been updated, of course.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
oliver [Fri, 12 Oct 2007 12:58:31 +0000 (12:58 +0000)]
WebCore:
Reviewed by Sam.

Remove all "SVGElement* m_context" parameters spread over SVG primitives
(like SVGAngle, SVGPreserveAspectRatio, SVGTransformList, ...)

This is all handled by the JS generation in the bindings now, leading
to a faster static rendering codepaths, and easier handling of the dynamic
parts like JS scripting. Remove the mystified genericContext() concept alltogether.

Add bug number reference missing in the last ChangeLog entry.

LayoutTests:
Reviewed by Sam.
Check in correct results, now that the hashing bug is fixed here as well.

Conflicts:

WebCore/bindings/scripts/CodeGeneratorJS.pm
WebCore/ksvg2/svg/SVGPathSegList.cpp
WebCore/ksvg2/svg/SVGPathSegList.h

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Sam.
oliver [Fri, 12 Oct 2007 12:55:53 +0000 (12:55 +0000)]
Reviewed by Sam.

Recognizee <textPath> in SVG JS bindings.
Add JSSVGTextPathElement to JSSVGElementWrapperFactory.

Add SVGException.idl just for the JS generation.
Turn on all SVG JS constructors and add them to DOMWindow.idl.

Testcase added: LayoutTests/svg/custom/js-svg-constructors.svg

Forgot to commit the ChangeLog and two files in my last commit!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoCorrecting the pixel test result that was supposed to go in during r23849.
oliver [Fri, 12 Oct 2007 12:53:14 +0000 (12:53 +0000)]
Correcting the pixel test result that was supposed to go in during r23849.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdd VIDEO build flag
oliver [Fri, 12 Oct 2007 12:50:34 +0000 (12:50 +0000)]
Add VIDEO build flag

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
oliver [Fri, 12 Oct 2007 12:47:57 +0000 (12:47 +0000)]
    Reviewed by Maciej.

        Use intHash to hash floats and doubles too.

        * ChangeLog:
        * wtf/HashFunctions.h:
        (WTF::FloatHash::hash):
        (WTF::FloatHash::equal):
        (WTF::):
        * wtf/HashTraits.h:
        (WTF::FloatHashTraits::emptyValue):
        (WTF::FloatHashTraits::deletedValue):
        (WTF::):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
oliver [Fri, 12 Oct 2007 12:45:17 +0000 (12:45 +0000)]
    Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=14241
        SVG <image> with height or width less than 1 fails to render image

        Keep extra member vars to get width/height as floats for accurate
        calculations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
oliver [Fri, 12 Oct 2007 12:42:32 +0000 (12:42 +0000)]
    Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9976
        Fix negative width issue in Hixie's test

        Refuse to render zero or negative width/height.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
oliver [Fri, 12 Oct 2007 12:39:46 +0000 (12:39 +0000)]
    Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=12062
        WebCore does not handle CSS-specified fill fallback correctly

        Implement fallback for fill and stroke.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
oliver [Fri, 12 Oct 2007 12:37:00 +0000 (12:37 +0000)]
    Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=14157
        Rotated shape has wrong gradient rendering

        Use the untransformed bbox in objectBoundingBoxMode. Also
        don't do objectBoundingBoxMode should the bbox width ort height
        be zero.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Eric & Oliver.
oliver [Fri, 12 Oct 2007 12:34:11 +0000 (12:34 +0000)]
Reviewed by Eric & Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=14198
Reeanble <foreignObject>. Explicitely disallow <use> on <foreignObject>
as it may lead to bad problems.

While I'm at it disallow <use> on any non-svg element.

Not reviewed.
Forgot to commit new layout tests results, now that <foreignObject> is enabled again.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Oliver.
oliver [Fri, 12 Oct 2007 12:31:21 +0000 (12:31 +0000)]
    Reviewed by Oliver.

        http://bugs.webkit.org/show_bug.cgi?id=14144
        All tx/ty (parentX/parentY) usage should be removed from SVG renders
        http://bugs.webkit.org/show_bug.cgi?id=13981
        <br> prevents click handler from firing

        Fix the hit testing issues by making RenderSVGRoot take its m_x, m_y
        into account in the absolute transform.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Eric.
oliver [Fri, 12 Oct 2007 12:28:28 +0000 (12:28 +0000)]
Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=14015 (SVGTransformList::initialize() has no effect)
Fix SVGTransformList usage in SVG DOM exposed to JS.
This also fixes SVG space invaders including most repainting issues. (still some unrelated ones left)

This is basically the _same_ fix applied to SVGPointList some months ago. We just forgot
to add JSSVGTransformListCustom when switching from SVGTransform* -> SVGTransform (POD type).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Eric.
oliver [Fri, 12 Oct 2007 12:25:32 +0000 (12:25 +0000)]
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=14155
JSSVGMatrix was not working properly.
"matrix.translate(10, 10)" actually altered 'matrix' instead of returning a
new SVGMatrix object, as described in SVG 1.1 specification.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-15 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 12:22:35 +0000 (12:22 +0000)]
2007-06-15  Eric Seidel  <eric@webkit.org>

        Reviewed by Niko.

        Fix the release build.

        * rendering/SVGRootInlineBox.cpp:
        (WebCore::applyTextAnchorToTextChunk):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
oliver [Fri, 12 Oct 2007 12:19:39 +0000 (12:19 +0000)]
    Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=14051
        <svg:image> fails to position correctly when <svg> is inside an inline <div>

        Leave parent translation to the containers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Eric.
oliver [Fri, 12 Oct 2007 12:16:39 +0000 (12:16 +0000)]
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=13963
Fix SVG space invaders. It actually highlighted a bad problem with our JSSVGPODTypeWrapper's.
Introduce a new "2nd-level cache" for all readwrite POD properties. Subsequent calls to ie.
myRect.x.baseVal.value don't create a new wrapper everytime, but are properly cached now.
This leads to a massive reduction in created wrappers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-14 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 12:05:03 +0000 (12:05 +0000)]
2007-06-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Niko.

        Text gradients are broken on feature branch
        http://bugs.webkit.org/show_bug.cgi?id=14142

        * rendering/SVGRenderSupport.cpp:
        (WebCore::prepareToRenderSVGContent):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::prepareTextRendering):
        (WebCore::SVGRootInlineBox::paint):
        (WebCore::SVGRootInlineBox::paintInlineBoxes):
        (WebCore::SVGRootInlineBox::paintChildInlineTextBox):
        (WebCore::SVGRootInlineBox::paintChildInlineFlowBox):
        * rendering/SVGRootInlineBox.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Sam.
oliver [Fri, 12 Oct 2007 12:02:06 +0000 (12:02 +0000)]
Reviewed by Sam.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11273
Implement pixelUnitToMillimeterX(), pixelUnitToMillimeterY() in SVGSVGElement.
Use cssPixelsPerInch, just like done in CSSPrimitiveValue & SVGLength.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
oliver [Fri, 12 Oct 2007 11:59:06 +0000 (11:59 +0000)]
    Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=9752
        %-sizing of elements with a html parent is broken

        Calculate width/height for length percentages when embedded in xhtml.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
oliver [Fri, 12 Oct 2007 11:56:00 +0000 (11:56 +0000)]
    Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=12207
        RenderSVGContainer should be split into multiple classes
        http://bugs.webkit.org/show_bug.cgi?id=14125
        KCanvasRenderingStyle should be removed

        Introduce the RenderSVGRoot class and kill the KCanvas enums.

Build fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Eric.
oliver [Fri, 12 Oct 2007 11:52:58 +0000 (11:52 +0000)]
Reviewed by Eric.
Fix regression: SVG images drawn in the wrong paint phase.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by weinig.
oliver [Fri, 12 Oct 2007 11:49:54 +0000 (11:49 +0000)]
    Reviewed by weinig.

        http://bugs.webkit.org/show_bug.cgi?id=14064
        fill property is reported as type SVGColor

        Do the checks in the right order.

        Change merged into WebCore/bindings/js/JSCSSValueCustom.cpp

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
oliver [Fri, 12 Oct 2007 11:45:25 +0000 (11:45 +0000)]
    Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=12122
        SVGPathElement should not inherit from SVGPathParser

        Use path builders for building Path and PathSegLists.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-06 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:42:20 +0000 (11:42 +0000)]
2007-06-06  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Add support for tabbing between links in an SVG file
        Also add support for drawing a focus ring around focused svg content.
        http://bugs.webkit.org/show_bug.cgi?id=8823

        Layout test is blocked by http://bugs.webkit.org/show_bug.cgi?id=14027

        * css/svg.css:
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):
        (WebCore::SVGAElement::supportsFocus):
        (WebCore::SVGAElement::isFocusable):
        (WebCore::SVGAElement::isMouseFocusable):
        (WebCore::SVGAElement::isKeyboardFocusable):
        * ksvg2/svg/SVGAElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-06 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:39:09 +0000 (11:39 +0000)]
2007-06-06  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Make SVG (mostly) support CSS outline property (and thus focus rings)
        http://bugs.webkit.org/show_bug.cgi?id=10849

        Test: svg/custom/focus-ring.svg

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::addFocusRingRects):
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::addFocusRingRects):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::addFocusRingRects):
        * rendering/RenderSVGImage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-06 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:36:01 +0000 (11:36 +0000)]
2007-06-06  Eric Seidel  <eric@webkit.org>

        Reviewed by weinig.

        Break out common SVG rendering logic into prepareToRenderSVGContent in SVGRenderSupport

        No test cases should be changed by this.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderPath.cpp:
        (WebCore::fillAndStrokePath):
        (WebCore::RenderPath::paint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer):
        (WebCore::RenderSVGContainer::requiresLayer):
        (WebCore::RenderSVGContainer::isOutermostSVG):
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::applyContentTransforms):
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::viewportTransform):
        (WebCore::RenderSVGContainer::absoluteTransform):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::translationForAttributes):
        * rendering/SVGRenderSupport.cpp: Added.
        (WebCore::prepareToRenderSVGContent):
        * rendering/SVGRenderSupport.h: Added.
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::prepareTextRendering):
        (WebCore::SVGRootInlineBox::paint):
        (WebCore::SVGRootInlineBox::paintInlineBoxes):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Eric.
oliver [Fri, 12 Oct 2007 11:32:49 +0000 (11:32 +0000)]
    Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=13976
        getPresentationAttribute not implemented

        Implement getPresentationAttribute.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-06 Rob Buis <buis@kde.org>
oliver [Fri, 12 Oct 2007 11:29:37 +0000 (11:29 +0000)]
2007-06-06  Rob Buis  <buis@kde.org>

        Reviewed by olliej and eric.

        http://bugs.webkit.org/show_bug.cgi?id=12430
        SVG has two transform parsers when it should have one.

        Refactor SVGTransformable parser so SVGAnimateTransformElement can reuse it better.

        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::):
        (WebCore::SVGTransformable::parseTransformValue):
        (WebCore::SVGTransformable::parseTransformAttribute):
        * ksvg2/svg/SVGTransformable.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:26:25 +0000 (11:26 +0000)]
2007-06-01  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Add support for maskUnits and maskContentUnits
        http://bugs.webkit.org/show_bug.cgi?id=12568

        This is covered by the W3C tests (including mask-intro01)

        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        (WebCore::SVGMaskElement::canvasResource):
        (WebCore::SVGMaskElement::notifyAttributeChange):
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGMaskElement.idl:
        * platform/graphics/svg/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::SVGResourceMasker):
        (WebCore::SVGResourceMasker::invalidate):
        * platform/graphics/svg/SVGResourceMasker.h:
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        (WebCore::SVGResourceMasker::applyMask):

2007-06-05  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Commit files missing from previous commit, oops!

        * platform/graphics/svg/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::SVGResourceMasker):
        (WebCore::SVGResourceMasker::invalidate):
        * platform/graphics/svg/SVGResourceMasker.h:
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        (WebCore::SVGResourceMasker::applyMask):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:23:06 +0000 (11:23 +0000)]
2007-06-01  Eric Seidel  <eric@webkit.org>

        Reviewed by lars.

        Cursor does not change to hand over links containing <use>
        http://bugs.webkit.org/show_bug.cgi?id=12630

        Test: manual-tests/svg-link-hover-use.svg

        * manual-tests/svg-link-hover-use.svg: Added.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest): use eventParentNode instead of parentNode

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:19:51 +0000 (11:19 +0000)]
2007-06-01  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        SVG is not correctly respecting scroll during hit testing
        http://bugs.webkit.org/show_bug.cgi?id=13083

        Test: svg/custom/scroll-hit-test.svg

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::nodeAtPoint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::nodeAtPoint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-06-01 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:16:35 +0000 (11:16 +0000)]
2007-06-01  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=12187

        Tests: fast/dom/attribute-case-sensitivity.html, fast/dom/attribute-case-sensitivity2.xhtml

        * dom/Element.cpp:
        (WebCore::shouldIgnoreAttributeCase): check to make sure element is an HTMLElement
        (WebCore::Element::getAttribute):
        (WebCore::Element::setAttribute):
        (WebCore::Element::removeAttribute):
        (WebCore::Element::getAttributeNode):
        (WebCore::Element::hasAttribute):
        * dom/NamedAttrMap.cpp:
        (WebCore::shouldIgnoreAttributeCase):
        (WebCore::NamedAttrMap::getNamedItem):
        (WebCore::NamedAttrMap::removeNamedItem):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-05-31 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 11:13:11 +0000 (11:13 +0000)]
2007-05-31  Eric Seidel  <eric@webkit.org>

        Reviewed by Niko.

        Links are activated based on mouse down events instead of click events
        http://bugs.webkit.org/show_bug.cgi?id=12570

        Test: svg/custom/prevent-default.svg

        * html/HTMLAnchorElement.cpp: use MiddleButton and RightButton instead of 1 and 2
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler): make it function more like the HTML side

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
oliver [Fri, 12 Oct 2007 11:09:57 +0000 (11:09 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11272
        Implement currentScale(), setCurrentScale() and currentTranslate() in SVGSVGElement

        Allow zooming and panning, thereby implementing the above methods.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 10:57:11 +0000 (10:57 +0000)]
Reviewed by Oliver.
Fix regression: gradient on fill of text works again!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 10:53:56 +0000 (10:53 +0000)]
Reviewed by Oliver.

Fix "jumpy" selection by correcting the way svgCharacterHitsPosition works.
I basically mixed up the "closest character to position" logic.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 10:50:40 +0000 (10:50 +0000)]
Reviewed by Oliver.

Add new code path dumping SVG text engine specific layout test results.
Finally the dumped results are actually accurate and respond to the
rendered glyphs. This has never been correct so far.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoReviewed by Oliver.
oliver [Fri, 12 Oct 2007 10:47:18 +0000 (10:47 +0000)]
Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12698 (SVG text needs a special per-character layout mode.)
Finally land the new SVG text engine.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-05-10 Eric Seidel <eric@webkit.org>
oliver [Fri, 12 Oct 2007 10:40:27 +0000 (10:40 +0000)]
2007-05-10  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        http://bugs.webkit.org/show_bug.cgi?id=11931
        PathCG fails to hit on unclosed sub-paths

        Test: svg/custom/hit-test-unclosed-subpaths.svg

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::copyClosingSubpathsApplierFunction):
        (WebCore::copyCGPathClosingSubpaths):
        (WebCore::Path::contains): use new copy & close function

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdd initial markers for feature-branch merge
oliver [Fri, 12 Oct 2007 10:36:56 +0000 (10:36 +0000)]
Add initial markers for feature-branch merge

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-11 Jon Honeycutt <jhoneycutt@apple.com>
honeycutt [Fri, 12 Oct 2007 00:16:56 +0000 (00:16 +0000)]
2007-10-11  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        Handle a race condition that could arise if a plugin was loaded while it
        was scheduled to be freed: check whether the timer that schedules
        library frees is active in PluginPackageWin::load().

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::freeLibrarySoon): Added assertions
        (WebCore::PluginPackageWin::freeLibraryTimerFired): Added assertion
        (WebCore::PluginPackageWin::load): If we are scheduled to free this
        library, cancel the timer, and don't call LoadLibrary

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
justing [Thu, 11 Oct 2007 23:38:41 +0000 (23:38 +0000)]
WebCore:

        Reviewed by Harrison.

        <rdar://problem/5483567> REGRESSION (Tiger only): Pasting words copied from TextEdit in Mail adds extra newline

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Added.
        We would like to insert the fragment as-is if possible, but AppKit on Tiger
        creates fragments from RTF data that have carriage returns and spaces at the
        beginning and end, and those need to be removed since they'll interfere with
        paragraph merging.
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:

LayoutTests:

        Reviewed by Harrison.

        <rdar://problem/5483567> REGRESSION (Tiger only): Pasting words copied from TextEdit in Mail adds extra newline

        Re-enabling this test:
        * editing/pasteboard/5483567.html: Added.
        * editing/pasteboard/5483567.html-disabled: Removed.
        Also demonstrates fix:
        * platform/mac/editing/pasteboard/paste-RTFD-expected.checksum:
        * platform/mac/editing/pasteboard/paste-RTFD-expected.png:
        * platform/mac/editing/pasteboard/paste-RTFD-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
kmccullo [Thu, 11 Oct 2007 23:37:42 +0000 (23:37 +0000)]
    Reviewed by Darin.

        - Updated rational for the leaks list to be more clear.

        * Scripts/run-webkit-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoRemove a couple of empty directories.
darin [Thu, 11 Oct 2007 23:27:28 +0000 (23:27 +0000)]
Remove a couple of empty directories.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Rubber Stamp by Sam.
kmccullo [Thu, 11 Oct 2007 23:15:05 +0000 (23:15 +0000)]
    Rubber Stamp by Sam.

        Adding a known Leopard leak that is already fixed but the bot is on an old version of Leopard.
        I believe there was a radar on this leak, it looks familiar to me, but I could not find it.

        * Scripts/run-webkit-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
justing [Thu, 11 Oct 2007 22:31:36 +0000 (22:31 +0000)]
WebCore:

        Reviewed by Maciej.

        <rdar://problem/5521237> Pasting a word copied from TextEdit after a regular, breaking space, adds a leading newline

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
        Fixed a typo.

LayoutTests:

        Reviewed by Maciej.

        <rdar://problem/5521237> Pasting a word copied from TextEdit after a regular, breaking space, adds a leading newline

        * editing/pasteboard/5521237-expected.txt: Added.
        * editing/pasteboard/5521237.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26369 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago fast/forms/focus-selection-input.html also fails due to unsupported accesskey.
aliceli1 [Thu, 11 Oct 2007 22:03:45 +0000 (22:03 +0000)]
    fast/forms/focus-selection-input.html also fails due to unsupported accesskey.
        adding to a section that already covers this bug.

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago removing a test that was fixed recently
aliceli1 [Thu, 11 Oct 2007 21:15:24 +0000 (21:15 +0000)]
    removing a test that was fixed recently

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-10 Jon Honeycutt <jhoneycutt@apple.com>
honeycutt [Thu, 11 Oct 2007 19:52:43 +0000 (19:52 +0000)]
2007-10-10  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Darin.

        <rdar://5530519> REGRESSION (303-310A18): Crash when closing tab with
        pdf file (Reader 7 only)

        Reader 7 subclasses its parent window, so posting a WM_DESTROY to this
        window puts us in plugin code. When the plugin forwards the message
        back to the original window proc, and we free the plugin library from
        there, we will jump back to code we just freed when we return, so delay
        calling FreeLibrary at least until the next message loop

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::freeLibrarySoon): Start a timer to free the
        plugin library
        (WebCore::PluginPackageWin::freeLibraryTimerFired): Free the library
        (WebCore::PluginPackageWin::PluginPackageWin): Initialize the timer that
        will free this library
        (WebCore::PluginPackageWin::unloadWithoutShutdown): Call
        freeLibrarySoon()
        * plugins/win/PluginPackageWin.h: Added m_freeLibraryTimer

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Roll out r26186
aroben [Thu, 11 Oct 2007 18:30:49 +0000 (18:30 +0000)]
    Roll out r26186

        Apparently some of these tests still fail on the bot even though they
        don't fail for me locally.

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Delay load additional libraries to improve startup time.
sfalken [Thu, 11 Oct 2007 18:20:43 +0000 (18:20 +0000)]
    Delay load additional libraries to improve startup time.

        Reviewed by Darin, Ada.

        * WebKit.vcproj/WebKit.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26362 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
adachan [Thu, 11 Oct 2007 17:04:38 +0000 (17:04 +0000)]
WebCore:
        <rdar://problem/5534421>
        Switched to using wkGetDefaultHTTPCookieStorage() and removed some cookie-related
        methods we no longer need in ResourceHandle.

        <rdar://problem/5244261> "Never" cookie policy was ignored on windows
        Need to set the cookie accept policy on each CFURLRequest.

WebKit/win:
        <rdar://problem/5534421>
        Switched to using wkGetDefaultHTTPCookieStorage() to avoid recreating CFHTTPCookieStorageRef.
        Removed usage of ResourceHandle::cookieStorage().

        Reviewed by Oliver.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago <rdar://problem/5534421>
adachan [Thu, 11 Oct 2007 16:57:40 +0000 (16:57 +0000)]
    <rdar://problem/5534421>
        Added wkGetDefaultHTTPCookieStorage().  Updated libraries.

        Reviewed by Darin.

        * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
        * win/lib/WebKitSystemInterface.lib:
        * win/lib/WebKitSystemInterface_debug.lib:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26360 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-10-11 Mark Rowe <mrowe@apple.com>
bdash [Thu, 11 Oct 2007 15:16:58 +0000 (15:16 +0000)]
2007-10-11  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
        PowerPC to prevent a huge STABS section from being generated.

        * Configurations/Base.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoEnsure that setting innerHTML on an element doesn't do
lars [Thu, 11 Oct 2007 09:30:54 +0000 (09:30 +0000)]
Ensure that setting innerHTML on an element doesn't do
weird things with the document.
Fixes most issues with http://bugs.webkit.org/show_bug.cgi?id=15456

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoOops, forgot to save this file.
darin [Thu, 11 Oct 2007 00:25:51 +0000 (00:25 +0000)]
Oops, forgot to save this file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Kevin McCullough and Sam Weinig.
darin [Thu, 11 Oct 2007 00:24:27 +0000 (00:24 +0000)]
    Reviewed by Kevin McCullough and Sam Weinig.

        - fix mistake in test function that treated all non-prototype objects as equal

        That means that all numbers are treated as equal!
        And all boolean values!

        Kevin noticed that his new test was succeeding even though the bug was still
        there. Turns out the code to compare arrays that I added with my fix for
        bug 14931 was misfiring all the time.

        * fast/js/resources/js-test-pre.js: Use Object.prototype.toString.call
        to test if something is an array. Thanks, Sam.

        * fast/dom/Window/new-window-opener-expected.txt: Update this to reflect the
        fact that the test is actually failing!
        * fast/forms/focus-selection-textarea-expected.txt: Ditto.
        * fast/js/kde/encode_decode_uri-expected.txt: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Remove now-passing tests
aroben [Wed, 10 Oct 2007 20:48:04 +0000 (20:48 +0000)]
    Remove now-passing tests

        Rubberstamped by Sam.

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFix the build on Win32 for VS2005. A solution for mingw and others may be
staikos [Wed, 10 Oct 2007 18:54:39 +0000 (18:54 +0000)]
Fix the build on Win32 for VS2005.  A solution for mingw and others may be
needed for FTPDirectory*.cpp still

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agogtk:
aliceli1 [Wed, 10 Oct 2007 18:31:20 +0000 (18:31 +0000)]
gtk:

        Reviewed by Geoff Garen.

        changes to keep the build from breaking

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::createFrame):
        * WebCoreSupport/FrameLoaderClientGtk.h:

qt:

        Reviewed by Geoff Garen.

        changes to keep the build from breaking

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::createFrame):
        * WebCoreSupport/FrameLoaderClientQt.h:

WebCore:

        Reviewed by Geoff Garen.

        Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
        createFrame() now returns a RefPtr instead of a raw Frame pointer.
        Making this change improves the way we handle frames on Windows webkit.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        * loader/FrameLoaderClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::createFrame):

WebKit:

        Reviewed by Geoff Garen.

        Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
        createFrame() now returns a RefPtr instead of a raw Frame pointer.
        Making this change improves the way we handle frames on Windows WebKit.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createFrame):

win:

        Reviewed by Geoff Garen.

        Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT

        * WebFrame.cpp:
        (WebFrame::createFrame):
        The crash was caused by the early destruction of the subframe.  To resolve this issue,
        the manual deref of the child frame that occurs in between being appended to the
        frametree and being used in loadURLIntoChild wasn't exactly incorrect, but just needed
        to be moved until after loadURLIntoChild. This hasn't been a problem for other uses of
        child frames because this test case involves removing a child frame immediately after
        loading it, all in an onload handler.  Even better than just moving the deref would be
        to change the signature of createFrame to use a RefPtr<Frame> so that a manual deref isn't
        necessary. This is what was done in this patch.
        * WebFrame.h:
        createFrame() now returns a RefPtr instead of a raw Frame pointer.
        Making this change improves the way we handle frames on Windows WebKit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26184 268f45cc-cd09-0410-ab3c-d52691b4dbfc