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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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