1. 24 May, 2007 1 commit
    • adele's avatar
      LayoutTests: · 23d876c2
      adele authored
              Reviewed by Darin.
      
              - pixel test for http://bugs.webkit.org/show_bug.cgi?id=13837
                Separator in new <select> widget disappears when block element with border is in document.
      
              * fast/forms/menulist-separator-painting-expected.checksum: Added.
              * fast/forms/menulist-separator-painting-expected.png: Added.
              * fast/forms/menulist-separator-painting-expected.txt: Added.
              * fast/forms/menulist-separator-painting.html: Added.
      
      WebCore:
      
              Reviewed by Darin.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13837
                Separator in new <select> widget disappears when block element with border is in document.
      
              Test: fast/forms/menulist-separator-painting.html
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawConvexPolygon): Changed this function to
              actually do both filling and stroking when needed, even though all existing
              callers set the stroke to none.
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintMenuListButton): Added calls to set the stroke
              style and thickness when painting the arrows and the separator.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23d876c2
  2. 19 May, 2007 1 commit
    • bdash's avatar
      2007-05-19 Mitz Pettel <mitz@webkit.org> · 71b3ce0c
      bdash authored
              Reviewed by Darin.
      
              - http://bugs.webkit.org/show_bug.cgi?id=13320
                rounded corners with drop shadows are really slow
      
              Test for a rendering bug fixed by this patch:
                  fast/box-shadow/border-radius-big.html
      
              No test for the performance ingredient.
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::addRoundedRectClip): Made cross-platform.
              Changed to use a single clipping path. If all the radii cannot be
              accommodated, clips to a rect.
              (WebCore::GraphicsContext::clipOutRoundedRect): Changed to use a single
              clipping path. If all the radii cannot be accommodated, clips out a rect.
              * platform/graphics/GraphicsContext.h: Added clipOut(const Path&).
              * platform/graphics/Path.cpp:
              (WebCore::Path::createRoundedRectangle): Added. Returns a rounded rectangle
              with the specified radii. If all the radii cannot be accommodated, returns
              a rectangular path.
              * platform/graphics/Path.h:
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::clipOut): Added.
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::fillRoundedRect): Changed to use a single path.
              (WebCore::GraphicsContext::clipOut): Added.
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::clipOut): Added.
      
      2007-05-19  Mitz Pettel  <mitz@webkit.org>
      
              Reviewed by Darin.
      
              - http://bugs.webkit.org/show_bug.cgi?id=13320
                rounded corners with drop shadows are really slow
      
              * fast/box-shadow/border-radius-big-expected.checksum: Added.
              * fast/box-shadow/border-radius-big-expected.png: Added.
              * fast/box-shadow/border-radius-big-expected.txt: Added.
              * fast/box-shadow/border-radius-big.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71b3ce0c
  3. 24 Apr, 2007 1 commit
    • thatcher's avatar
      Reviewed by Adam. · bf7c072b
      thatcher authored
              <rdar://problem/4966982> 64-bit: In a unordered list, TYPE=DISC and TYPE=CIRCLE attribute values are ignored
      
              We need to draw our full-circle arcs counter-clockwise, since a clockwise arc from 0 to 2π is no arc at all!
              This only worked on 32-bit due to a rounding error in CoreGraphics, causing it to draw a full circle anyway.
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawEllipse):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf7c072b
  4. 22 Apr, 2007 1 commit
  5. 06 Apr, 2007 1 commit
    • bdakin's avatar
      Reviewed by Geoff and Darin. · 6ab71d09
      bdakin authored
              Fix for <rdar://problem/4875433> WebView underlines are too thick 
              when scaled small
      
              When we have a small scale factor, we should follow the line-
              drawing code as if we were printing. Meaning, specifically, that we 
              should not round to device pixels and we should antialias.
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawLineForText):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ab71d09
  6. 12 Feb, 2007 2 commits
    • darin's avatar
      LayoutTests: · e33be0cb
      darin authored
              Reviewed by Hyatt.
      
              - update pixel results in cases where overline and line-through were used,
                because our old code put them 1px too low
      
              * css1/cascade/cascade_order-expected.checksum: Updated because this has
              line-through style.
              * css1/cascade/cascade_order-expected.png: Ditto.
              * css1/text_properties/text_decoration-expected.checksum: Updated because
              this has overline and line-through.
              * css1/text_properties/text_decoration-expected.png: Ditto.
              * css2.1/t1504-c543-txt-decor-00-d-g-expected.checksum: Ditto.
              * css2.1/t1504-c543-txt-decor-00-d-g-expected.png: Ditto.
              * fast/text/stroking-decorations-expected.checksum: Ditto.
              * fast/text/stroking-decorations-expected.png: Ditto.
      
              - added some missing pixel-test results
      
              * fast/forms/disabled-select-change-index-expected.checksum: Added.
              * fast/forms/disabled-select-change-index-expected.png: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12668
                <rdar://problem/4893344> REGRESSION: underline not visible for the international
                input inline hole in most text fields (12668)
      
              - fix bug where overline and line-through were 1px lower than we intended
      
              * platform/graphics/GraphicsContext.h: Removed unneeded y offset parameter.
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::drawLineForText): Removed bogus y offset and +1.
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawLineForText): Ditto.
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::drawLineForText): Ditto.
      
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintTextDecorations): Added the "+1" that used to be
              inside drawLineForText to the underline-drawing code. Changed the other callers
              of drawLineForText to include the y offset in the y coordinate.
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintDecoration): Ditto. Also renamed _tx and _ty to
              remove the gratuitious underscores.
              (WebCore::InlineTextBox::paintMarkedTextUnderline): Made the default thickness
              be 1px instead of 0 (which ends up being roughly 1px in the CG code path anyway).
              Fixed the code computing the position to put the underline at the bottom of the
              line (different from regular underlines which are put 1px under the baseline).
              The old code used to put the underline 1px further down in the thick case, and
              2px further down in the non-thick case. Both of those are bad, because they
              could be completely clipped out in many cases.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e33be0cb
    • mjs's avatar
      LayoutTests: · 515b98d6
      mjs authored
              Reviewed by Antti.
              
              - test case for <rdar://problem/4928675> REGRESSION: Crash in CGBlt_copyBytes under WebCore::Font::drawGlyphs (12083)
              http://bugs.webkit.org/show_bug.cgi?id=12083
              
              * fast/text/text-shadow-extreme-value.html: Added.
              * fast/text/text-shadow-extreme-value-expected.txt: Added.
      
      WebCore:
      
              Reviewed by Antti.
      
              - fixed <rdar://problem/4928675> REGRESSION: Crash in CGBlt_copyBytes under WebCore::Font::drawGlyphs (12083)
              http://bugs.webkit.org/show_bug.cgi?id=12083
              
              Test: fast/text/text-shadow-extreme-value.html
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::setShadow): Clamp shadow value to 1000px, anything more seems to 
              make CG unhappy.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      515b98d6
  7. 07 Jan, 2007 1 commit
    • hyatt's avatar
      LayoutTests: · 3b5fdf3d
      hyatt authored
              Add support for the CSS3 box-shadow property.
      
              Reviewed by olliej
      
              * fast/box-shadow/basic-shadows-expected.checksum: Added.
              * fast/box-shadow/basic-shadows-expected.png: Added.
              * fast/box-shadow/basic-shadows-expected.txt: Added.
              * fast/box-shadow/basic-shadows.html: Added.
      
      WebCore:
      
              Add support for the CSS3 box-shadow property.
      
              Reviewed by olliej
      
              fast/box-shadow/ contains the tests for this feature.
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::clipOutRoundedRect):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::fillRoundedRect):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::clipOutEllipseInRect):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::fillRoundedRect):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::clipOutEllipseInRect):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paint):
              (WebCore::InlineFlowBox::paintBoxShadow):
              (WebCore::InlineFlowBox::paintBoxDecorations):
              (WebCore::shouldDrawTextDecoration):
              (WebCore::InlineFlowBox::paintTextDecorations):
              * rendering/InlineFlowBox.h:
              * rendering/InlineRunBox.h:
              (WebCore::InlineRunBox::paintBoxDecorations):
              (WebCore::InlineRunBox::paintTextDecorations):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintObject):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::setStyle):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::paint):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderImage.h:
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::paintBoxShadow):
              (WebCore::RenderObject::dump):
              (WebCore::RenderObject::setStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::hasBoxDecorations):
              (WebCore::RenderObject::setHasBoxDecorations):
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::paint):
              (WebCore::RenderTable::paintBoxDecorations):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::RenderTableCell):
              (WebCore::RenderTableCell::setStyle):
              (WebCore::RenderTableCell::paintBoxDecorations):
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b5fdf3d
  8. 06 Jan, 2007 1 commit
    • darin's avatar
      Reviewed and significantly tweaked by Darin. · 4bc83c31
      darin authored
              - fix http://bugs.webkit.org/show_bug.cgi?id=12103
                LEAK: Fix the leaking ImageBuffer buffers on TOT
      
              * ksvg2/svg/SVGMaskElement.h:
              * ksvg2/svg/SVGMaskElement.cpp:
              (WebCore::SVGMaskElement::drawMaskerContent):
              Changed to return auto_ptr since it returns a newly-created ImageBuffer.
      
              * ksvg2/svg/SVGPatternElement.cpp:
              (WebCore::SVGPatternElement::buildPattern):
              Changed to use auto_ptr since ImageBuffer::create now returns one.
      
              * platform/graphics/GraphicsContext.h: Removed the include of ImageBuffer.h,
              which was never needed, and the declaration of createImageBuffer, which is
              now a class member function of ImageBuffer.
      
              * platform/graphics/ImageBuffer.h: Replaced the constructor with a create
              function. Added a comment about the need to move renderSubtreeToImage
              elsewhere. Added an m_data member to store the data so it can be deleted
              when the object is done, made the m_size member non-platform-specific.
              Added a private constructor for use to create the CG version.
      
              * platform/graphics/cg/GraphicsContextCG.cpp: Removed
              GraphicsContext::createImageBuffer.
      
              * platform/graphics/cg/ImageBufferCG.cpp:
              (WebCore::ImageBuffer::create): Added. Replaces the old
              GraphicsContext::createImageBuffer function.
              (WebCore::ImageBuffer::ImageBuffer): Added m_data and m_context.
              (WebCore::ImageBuffer::~ImageBuffer): Added a fastFree of the data and got
              rid of the unneeded null check before calling CGImageRelease.
      
              * platform/graphics/svg/SVGPaintServerGradient.h: Removed the include of
              ImageBuffer.h and declared the ImageBuffer class instead.
      
              * platform/graphics/svg/SVGPaintServerPattern.h: Removed the include of
              ImageBuffer.h and declared the ImageBuffer class instead, and changed setTile
              to take an auto_ptr since it takes ownership of the ImageBuffer.
              * platform/graphics/svg/SVGPaintServerPattern.cpp:
              (WebCore::SVGPaintServerPattern::setTile): Ditto.
      
              * platform/graphics/svg/SVGResourceMasker.h: Removed the include of
              ImageBuffer.h and declared the ImageBuffer class instead, and changed setMask
              to take an auto_ptr since it takes ownership of the ImageBuffer.
              * platform/graphics/svg/SVGResourceMasker.cpp:
              (WebCore::SVGResourceMasker::setMask): Ditto.
      
              * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
              (WebCore::SVGPaintServerGradient::setup): Updated to use auto_ptr.
      
              * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Updated includes.
      
              * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
              (WebCore::SVGResourceMasker::applyMask): Updated to use auto_ptr.
      
              - other changes
      
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::handleStartCondition):
              Remove unused variables.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4bc83c31
  9. 04 Jan, 2007 1 commit
    • bdash's avatar
      2007-01-04 Mitz Pettel <mitz@webkit.org> · ab267718
      bdash authored
              Reviewed by Sam Weinig.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12043
                Another assertion failure in WebCore::RenderObject::drawBorder
      
              Test: fast/borders/border-radius-huge-assert.html
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::addRoundedRectClip): Fixed the check for border radii
              that do not fit in the given width or height to work with radii that sum up to
              more than MAX_INT.
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::paintBorder): Ditto.
      
      2007-01-04  Mitz Pettel  <mitz@webkit.org>
      
              Reviewed by Sam Weinig.
      
              - pixel test for http://bugs.webkit.org/show_bug.cgi?id=12043
                Another assertion failure in WebCore::RenderObject::drawBorder
      
              * fast/borders/border-radius-huge-assert-expected.checksum: Added.
              * fast/borders/border-radius-huge-assert-expected.png: Added.
              * fast/borders/border-radius-huge-assert-expected.txt: Added.
              * fast/borders/border-radius-huge-assert.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab267718
  10. 26 Dec, 2006 1 commit
    • eseidel's avatar
      2006-12-26 Eric Seidel <eric@webkit.org> · dd93f79c
      eseidel authored
              Reviewed by rwlbuis.
      
              Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix:
              http://bugs.webkit.org/show_bug.cgi?id=11973
              
              * ksvg2/svg/SVGLength.cpp:
              (WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces
              (WebCore::SVGLength::valueAsPercentage): new method
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGLinearGradientElement.cpp:
              (WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage()
              * ksvg2/svg/SVGPatternElement.cpp:
              (WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails
              * ksvg2/svg/SVGRadialGradientElement.cpp:
              (WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage()
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails
              * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
              (WebCore::SVGPaintServerGradient::setup): return if malloc fails
              * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
              (WebCore::SVGResourceMasker::applyMask): add comment about possible crash
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd93f79c
  11. 20 Dec, 2006 2 commits
    • hyatt's avatar
      Fix SVG stroking. Make strokeThickness() get pushed into CG immediately · 75f6c797
      hyatt authored
              when set in the GraphicsContext.  Remove setLineWidth since it is
              redundant with setStrokeThickness now.
      
              Reviewed by mitz
      
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::setLineWidth):
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::setPlatformStrokeThickness):
              (WebCore::GraphicsContext::setPlatformStrokeStyle):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawLine):
              (WebCore::GraphicsContext::drawEllipse):
              (WebCore::GraphicsContext::strokeArc):
              (WebCore::GraphicsContext::drawConvexPolygon):
              (WebCore::GraphicsContext::setPlatformStrokeThickness):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              * platform/mac/FontMac.mm:
              (WebCore::Font::drawComplexText):
              (WebCore::Font::drawGlyphs):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75f6c797
    • bdash's avatar
      2006-12-20 Mark Rowe <bdash@webkit.org> · 6fd58238
      bdash authored
              Reviewed by Anders.
      
              Fix leak of CGContextRef from GraphicsContext::createImageBuffer.
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6fd58238
  12. 19 Dec, 2006 7 commits
    • zimmermann's avatar
      Reviewed by Sam. Previous attempts reviewed by Oliver & Eric. · f10700ae
      zimmermann authored
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=11867
      
      Bring back masking, by adding off-screen rendering functionality in GraphicsContext.
      Add new "static GraphicsContext* createImageContext(const IntSize& size, bool grayScale)"
      function, and implement it with CGBitmapContext in the GraphicsContextCG (stubs for Qt.)
      
      Mask image sizes are dynamically calculated using the passed bounding box in applyMask,
      as it was orignally planned. Gradient stroke mask image sizes aren't hardcoded to 2048x2048
      anymore, but are as well dynamically calculated using getAbsoluteRepaintRect().
      
      Add new ImageBuffer class encapsulating the size of the image, a platform-specific
      handle (ie. CGImageRef for CG platform) plus the GraphicsContext pointer, obtained
      via GraphicsContext::createImageBuffer. Offer a generic logic for rendering subtrees
      of the rendering tree into a ImageBuffer (see renderSubtreeToImage function)
      ImageBufferCG is completly implemented, ImageBufferQt is stubbed.
      
      Also add correct default values for x/y/width/height of <mask>.
      Fixes masking related LayoutTests, and speeds up gradient-on-stroke a lot.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f10700ae
    • hyatt's avatar
      Remove save()/restore()... forgot they are more expensive. · 46e62664
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46e62664
    • hyatt's avatar
      Make sure to initialize the CG fill and stroke colors to our initial... · 7e88633b
      hyatt authored
              Make sure to initialize the CG fill and stroke colors to our initial fill/stroke colors when first
              constructing a GraphicsContextCG.  Because Safari actually draws text in the bookmarks bar using GraphicsContext
              and sets a fill color, this could only really be seen in another WebKit app.
      
              Patched GraphicsContextQt as well, since it has the same pattern.
      
              Reviewed by bdash
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::setCGFillColor):
              (WebCore::setCGStrokeColor):
              (WebCore::GraphicsContext::GraphicsContext):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e88633b
    • hyatt's avatar
      Remove an unnecessary cgsetfill in drawEllipse. · e843e79b
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e843e79b
    • hyatt's avatar
      Fix buildbot bustage with conversion of stroke thickness. · be7bc56a
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be7bc56a
    • hyatt's avatar
      Convert stroke thickness to a float. This allows the thickness... · 44420658
      hyatt authored
              Convert stroke thickness to a float.  This allows the thickness argument to strokeArc to be eliminated.
             
              Reviewed by olliej
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::setStrokeThickness):
              (WebCore::GraphicsContext::strokeThickness):
              (WebCore::GraphicsContext::setPlatformStrokeThickness):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawEllipse):
              (WebCore::GraphicsContext::strokeArc):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::strokeArc):
              (WebCore::GraphicsContext::setPlatformStrokeThickness):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBorderArc):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44420658
    • hyatt's avatar
      Rename drawArc to strokeArc and remove its strange behavior of trying... · acf57b8e
      hyatt authored
              Rename drawArc to strokeArc and remove its strange behavior of trying to "fill" by stroking using the passed in
              thickness.  Now the method is purely about stroking an arc and always uses the passed in thickness.   Fix the
              border-radius code that calls the method so that it makes more sense now.  If stroke thickness is converted
              to a float, then even the extra argument can go away, and this method can be a clean stroke of an arc.
      
              Make sure to get square list markers right by setting both stroke and fill color properly.
      
              Reviewed by mitz, olliej
      
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::strokeArc):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::strokeArc):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBorderArc):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      acf57b8e
  13. 18 Dec, 2006 2 commits
    • hyatt's avatar
      Eliminate the Pen object in favor of separate stroke variables, since... · 801efce1
      hyatt authored
              Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the
              stroke color.  This also makes it easier for us to push only stroke color through into CG synchronously
              while leaving the others alone.
      
              Reviewed by olliej
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContextState::GraphicsContextState):
              (WebCore::GraphicsContext::setStrokeThickness):
              (WebCore::GraphicsContext::setStrokeStyle):
              (WebCore::GraphicsContext::setStrokeColor):
              (WebCore::GraphicsContext::strokeThickness):
              (WebCore::GraphicsContext::strokeStyle):
              (WebCore::GraphicsContext::strokeColor):
              (WebCore::GraphicsContext::setPlatformStrokeStyle):
              (WebCore::GraphicsContext::setPlatformStrokeThickness):
              * platform/graphics/GraphicsContext.h:
              (WebCore::):
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawRect):
              (WebCore::GraphicsContext::drawLine):
              (WebCore::GraphicsContext::drawEllipse):
              (WebCore::GraphicsContext::drawArc):
              (WebCore::GraphicsContext::drawConvexPolygon):
              (WebCore::GraphicsContext::drawLineForText):
              (WebCore::GraphicsContext::setPlatformStrokeColor):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::toQPenStyle):
              (WebCore::GraphicsContext::setPlatformStrokeColor):
              (WebCore::GraphicsContext::setPlatformStrokeStyle):
              (WebCore::GraphicsContext::setPlatformStrokeThickness):
              * platform/mac/FontMac.mm:
              (WebCore::Font::drawComplexText):
              (WebCore::Font::drawGlyphs):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintDecorations):
              * rendering/InlineTextBox.cpp:
              (WebCore::updateTextColor):
              (WebCore::InlineTextBox::paint):
              (WebCore::InlineTextBox::paintDecoration):
              (WebCore::InlineTextBox::paintMarkedTextUnderline):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintObject):
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::userResize):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBorderArc):
              (WebCore::RenderObject::drawBorder):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::paint):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::paint):
              * rendering/RenderText.cpp:
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintMenuListButton):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      801efce1
    • hyatt's avatar
      Fix performance regression caused by adding setting of stroke colors... · 35ea5bf6
      hyatt authored
              Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing
              call on Mac.  Fix is rather involved:
      
              (1) Fill color is now updated in CG synchronously.  There is no more delay in the push.  I used the model that
              Qt added for this, setPlatformFillColor, so we're the same now.
      
              (2) Text was being drawn using the pen color, which is tantamount to using the stroke color.  Since text in HTML
              is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead
              of the pen.
      
              (3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip.
              Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText
              method on their Font class to get the new functionality.
      
              (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.
      
              (5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object
              as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color.
      
              Reviewed by olliej
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContextState::GraphicsContextState):
              (WebCore::GraphicsContext::textDrawingMode):
              (WebCore::GraphicsContext::setTextDrawingMode):
              (WebCore::GraphicsContext::setPlatformTextDrawingMode):
              (WebCore::GraphicsContext::setPlatformPen):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformTextDrawingMode):
              (WebCore::GraphicsContext::setPlatformFillColor):
              * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
              (WebCore::SVGPaintServerGradient::teardown):
              (WebCore::SVGPaintServerGradient::setup):
              * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
              (WebCore::SVGPaintServerPattern::setup):
              (WebCore::SVGPaintServerPattern::teardown):
              * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
              (WebCore::SVGPaintServerSolid::setup):
              * platform/mac/FontMac.mm:
              (WebCore::Font::drawComplexText):
              (WebCore::Font::drawGlyphs):
              * platform/mac/WebCoreTextRenderer.mm:
              (WebCoreDrawTextAtPoint):
              * rendering/EllipsisBox.cpp:
              (WebCore::EllipsisBox::paint):
              * rendering/InlineTextBox.cpp:
              (WebCore::correctedTextColor):
              (WebCore::updateTextColor):
              (WebCore::InlineTextBox::paint):
              (WebCore::InlineTextBox::paintSelection):
              (WebCore::InlineTextBox::paintMarkedTextBackground):
              (WebCore::InlineTextBox::paintTextMatchMarker):
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::paintObject):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::paintItemForeground):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35ea5bf6
  14. 30 Nov, 2006 1 commit
    • zimmermann's avatar
      Reviewed by Eric. Rubber stamped by Oliver. · b67995fc
      zimmermann authored
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
      
      This is the final patch after the long "die kcanvas" journey.
      
      All old kcanvas code is gone now, and properly integrated within
      WebCore (stuff like GraphicsContext changes etc.). It shares
      the platform/ design concept: no subclassing, but instead
      implementing parts of the classes/methods per-platform.
      
      This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
      This layer was just obsolete, given the powerful GraphicsContext API we have
      since quite a while now. All the ugly pushContext/popContext stuff is gone now.
      
      The naming issues Cg vs. CG will be fixed in one shot, when moving the whole
      platform/graphics/svg directory down into ksvg2/graphics - as discussed with Darin.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b67995fc
  15. 11 Nov, 2006 1 commit
    • ap's avatar
      2006-11-11 Nikolas Zimmermann <zimmermann@kde.org> · 08a5a1ee
      ap authored
              Reviewed by aroben and ap, landed by ap.
      
              Fixes: http://bugs.webkit.org/show_bug.cgi?id=11468
      
              Group graphics related files in platform/graphics.
              Move certain files from certain subdirectories
              into platform/graphics/{win,mac,cg,gdk,qt}
      
              * CMakeLists.txt:
              * WebCore.xcodeproj/project.pbxproj:
              * platform/AffineTransform.cpp: Removed.
              * platform/AffineTransform.h: Removed.
              * platform/Color.cpp: Removed.
              * platform/Color.h: Removed.
              * platform/FloatPoint.cpp: Removed.
              * platform/FloatPoint.h: Removed.
              * platform/FloatRect.cpp: Removed.
              * platform/FloatRect.h: Removed.
              * platform/FloatSize.cpp: Removed.
              * platform/FloatSize.h: Removed.
              * platform/Icon.h: Removed.
              * platform/Image.cpp: Removed.
              * platform/Image.h: Removed.
              * platform/ImageSource.h: Removed.
              * platform/IntPoint.h: Removed.
              * platform/IntRect.cpp: Removed.
              * platform/IntRect.h: Removed.
              * platform/IntSize.h: Removed.
              * platform/IntSizeHash.h: Removed.
              * platform/Path.cpp: Removed.
              * platform/Path.h: Removed.
              * platform/Pen.cpp: Removed.
              * platform/Pen.h: Removed.
              * platform/cairo/AffineTransformCairo.cpp: Removed.
              * platform/cairo/GraphicsContextCairo.cpp: Removed.
              * platform/cairo/ImageCairo.cpp: Removed.
              * platform/cairo/ImageSourceCairo.cpp: Removed.
              * platform/cairo/cairo/AUTHORS: Removed.
              * platform/cairo/cairo/COPYING: Removed.
              * platform/cairo/cairo/COPYING-LGPL-2.1: Removed.
              * platform/cairo/cairo/COPYING-MPL-1.1: Removed.
              * platform/cairo/cairo/INSTALL: Removed.
              * platform/cairo/cairo/NEWS: Removed.
              * platform/cairo/cairo/README: Removed.
              * platform/cairo/cairo/TODO: Removed.
              * platform/cairo/cairo/src/Makefile.in: Removed.
              * platform/cairo/cairo/src/cairo-arc-private.h: Removed.
              * platform/cairo/cairo/src/cairo-arc.c: Removed.
              * platform/cairo/cairo/src/cairo-array.c: Removed.
              * platform/cairo/cairo/src/cairo-atsui-font.c: Removed.
              * platform/cairo/cairo/src/cairo-atsui.h: Removed.
              * platform/cairo/cairo/src/cairo-beos-surface.cpp: Removed.
              * platform/cairo/cairo/src/cairo-beos.h: Removed.
              * platform/cairo/cairo/src/cairo-cache-private.h: Removed.
              * platform/cairo/cairo/src/cairo-cache.c: Removed.
              * platform/cairo/cairo/src/cairo-clip-private.h: Removed.
              * platform/cairo/cairo/src/cairo-clip.c: Removed.
              * platform/cairo/cairo/src/cairo-color.c: Removed.
              * platform/cairo/cairo/src/cairo-debug.c: Removed.
              * platform/cairo/cairo/src/cairo-debug.h: Removed.
              * platform/cairo/cairo/src/cairo-directfb-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-directfb.h: Removed.
              * platform/cairo/cairo/src/cairo-features.h: Removed.
              * platform/cairo/cairo/src/cairo-features.h.in: Removed.
              * platform/cairo/cairo/src/cairo-fixed.c: Removed.
              * platform/cairo/cairo/src/cairo-font-options.c: Removed.
              * platform/cairo/cairo/src/cairo-font-subset-private.h: Removed.
              * platform/cairo/cairo/src/cairo-font-subset.c: Removed.
              * platform/cairo/cairo/src/cairo-font.c: Removed.
              * platform/cairo/cairo/src/cairo-ft-font.c: Removed.
              * platform/cairo/cairo/src/cairo-ft-private.h: Removed.
              * platform/cairo/cairo/src/cairo-ft.h: Removed.
              * platform/cairo/cairo/src/cairo-glitz-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-glitz.h: Removed.
              * platform/cairo/cairo/src/cairo-gstate-private.h: Removed.
              * platform/cairo/cairo/src/cairo-gstate.c: Removed.
              * platform/cairo/cairo/src/cairo-hash-private.h: Removed.
              * platform/cairo/cairo/src/cairo-hash.c: Removed.
              * platform/cairo/cairo/src/cairo-hull.c: Removed.
              * platform/cairo/cairo/src/cairo-image-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-matrix.c: Removed.
              * platform/cairo/cairo/src/cairo-meta-surface-private.h: Removed.
              * platform/cairo/cairo/src/cairo-meta-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-output-stream.c: Removed.
              * platform/cairo/cairo/src/cairo-paginated-surface-private.h: Removed.
              * platform/cairo/cairo/src/cairo-paginated-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-path-bounds.c: Removed.
              * platform/cairo/cairo/src/cairo-path-data-private.h: Removed.
              * platform/cairo/cairo/src/cairo-path-data.c: Removed.
              * platform/cairo/cairo/src/cairo-path-fill.c: Removed.
              * platform/cairo/cairo/src/cairo-path-fixed-private.h: Removed.
              * platform/cairo/cairo/src/cairo-path-stroke.c: Removed.
              * platform/cairo/cairo/src/cairo-path.c: Removed.
              * platform/cairo/cairo/src/cairo-pattern.c: Removed.
              * platform/cairo/cairo/src/cairo-pdf-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-pdf.h: Removed.
              * platform/cairo/cairo/src/cairo-pen.c: Removed.
              * platform/cairo/cairo/src/cairo-platform.h: Removed.
              * platform/cairo/cairo/src/cairo-png.c: Removed.
              * platform/cairo/cairo/src/cairo-polygon.c: Removed.
              * platform/cairo/cairo/src/cairo-private.h: Removed.
              * platform/cairo/cairo/src/cairo-ps-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-ps.h: Removed.
              * platform/cairo/cairo/src/cairo-quartz-private.h: Removed.
              * platform/cairo/cairo/src/cairo-quartz-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-quartz.h: Removed.
              * platform/cairo/cairo/src/cairo-quartz2-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-quartz2.h: Removed.
              * platform/cairo/cairo/src/cairo-region.c: Removed.
              * platform/cairo/cairo/src/cairo-scaled-font.c: Removed.
              * platform/cairo/cairo/src/cairo-slope.c: Removed.
              * platform/cairo/cairo/src/cairo-spline.c: Removed.
              * platform/cairo/cairo/src/cairo-stroke-style.c: Removed.
              * platform/cairo/cairo/src/cairo-surface-fallback-private.h: Removed.
              * platform/cairo/cairo/src/cairo-surface-fallback.c: Removed.
              * platform/cairo/cairo/src/cairo-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-svg-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-svg.h: Removed.
              * platform/cairo/cairo/src/cairo-traps.c: Removed.
              * platform/cairo/cairo/src/cairo-unicode.c: Removed.
              * platform/cairo/cairo/src/cairo-wideint.c: Removed.
              * platform/cairo/cairo/src/cairo-wideint.h: Removed.
              * platform/cairo/cairo/src/cairo-win32-font.c: Removed.
              * platform/cairo/cairo/src/cairo-win32-private.h: Removed.
              * platform/cairo/cairo/src/cairo-win32-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-win32.h: Removed.
              * platform/cairo/cairo/src/cairo-xcb-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-xcb-xrender.h: Removed.
              * platform/cairo/cairo/src/cairo-xcb.h: Removed.
              * platform/cairo/cairo/src/cairo-xlib-private.h: Removed.
              * platform/cairo/cairo/src/cairo-xlib-screen.c: Removed.
              * platform/cairo/cairo/src/cairo-xlib-surface.c: Removed.
              * platform/cairo/cairo/src/cairo-xlib-test.h: Removed.
              * platform/cairo/cairo/src/cairo-xlib-xrender.h: Removed.
              * platform/cairo/cairo/src/cairo-xlib.h: Removed.
              * platform/cairo/cairo/src/cairo.c: Removed.
              * platform/cairo/cairo/src/cairo.h: Removed.
              * platform/cairo/cairo/src/cairoint.h: Removed.
              * platform/cairo/cairo/src/test-fallback-surface.c: Removed.
              * platform/cairo/cairo/src/test-fallback-surface.h: Removed.
              * platform/cairo/cairo/src/test-meta-surface.c: Removed.
              * platform/cairo/cairo/src/test-meta-surface.h: Removed.
              * platform/cairo/cairo/src/test-paginated-surface.c: Removed.
              * platform/cairo/cairo/src/test-paginated-surface.h: Removed.
              * platform/cairo/pixman/AUTHORS: Removed.
              * platform/cairo/pixman/COPYING: Removed.
              * platform/cairo/pixman/README: Removed.
              * platform/cairo/pixman/src/Makefile.in: Removed.
              * platform/cairo/pixman/src/fbcompose.c: Removed.
              * platform/cairo/pixman/src/fbedge.c: Removed.
              * platform/cairo/pixman/src/fbedgeimp.h: Removed.
              * platform/cairo/pixman/src/fbmmx.c: Removed.
              * platform/cairo/pixman/src/fbmmx.h: Removed.
              * platform/cairo/pixman/src/fbpict.c: Removed.
              * platform/cairo/pixman/src/fbpict.h: Removed.
              * platform/cairo/pixman/src/fbtrap.c: Removed.
              * platform/cairo/pixman/src/icblt.c: Removed.
              * platform/cairo/pixman/src/icbltone.c: Removed.
              * platform/cairo/pixman/src/iccolor.c: Removed.
              * platform/cairo/pixman/src/icformat.c: Removed.
              * platform/cairo/pixman/src/icimage.c: Removed.
              * platform/cairo/pixman/src/icimage.h: Removed.
              * platform/cairo/pixman/src/icint.h: Removed.
              * platform/cairo/pixman/src/icpixels.c: Removed.
              * platform/cairo/pixman/src/icrect.c: Removed.
              * platform/cairo/pixman/src/icrop.h: Removed.
              * platform/cairo/pixman/src/icstipple.c: Removed.
              * platform/cairo/pixman/src/ictransform.c: Removed.
              * platform/cairo/pixman/src/ictrap.c: Removed.
              * platform/cairo/pixman/src/ictri.c: Removed.
              * platform/cairo/pixman/src/icutil.c: Removed.
              * platform/cairo/pixman/src/pixman-remap.h: Removed.
              * platform/cairo/pixman/src/pixman-xserver-compat.h: Removed.
              * platform/cairo/pixman/src/pixman.h: Removed.
              * platform/cairo/pixman/src/pixregion.c: Removed.
              * platform/cairo/pixman/src/pixregionint.h: Removed.
              * platform/cairo/pixman/src/renderedge.c: Removed.
              * platform/cairo/pixman/src/renderedge.h: Removed.
              * platform/cairo/pixman/src/slim_internal.h: Removed.
              * platform/cairo/rgb24-hacks.txt: Removed.
              * platform/cairo/scale-removal.txt: Removed.
              * platform/cg/AffineTransformCG.cpp: Removed.
              * platform/cg/FloatPointCG.cpp: Removed.
              * platform/cg/FloatRectCG.cpp: Removed.
              * platform/cg/FloatSizeCG.cpp: Removed.
              * platform/cg/GraphicsContextCG.cpp: Removed.
              * platform/cg/GraphicsContextPlatformPrivate.h: Removed.
              * platform/cg/ImageCG.cpp: Removed.
              * platform/cg/ImageSourceCG.cpp: Removed.
              * platform/cg/IntPointCG.cpp: Removed.
              * platform/cg/IntRectCG.cpp: Removed.
              * platform/cg/IntSizeCG.cpp: Removed.
              * platform/cg/PDFDocumentImage.cpp: Removed.
              * platform/cg/PDFDocumentImage.h: Removed.
              * platform/cg/PathCG.cpp: Removed.
              * platform/gdk/ImageGdk.cpp: Removed.
              * platform/mac/ColorMac.mm: Removed.
              * platform/mac/FloatPointMac.mm: Removed.
              * platform/mac/FloatRectMac.mm: Removed.
              * platform/mac/FloatSizeMac.mm: Removed.
              * platform/mac/GraphicsContextMac.mm:
              * platform/mac/IconMac.mm: Removed.
              * platform/mac/ImageMac.mm: Removed.
              * platform/mac/IntPointMac.mm: Removed.
              * platform/mac/IntRectMac.mm: Removed.
              * platform/mac/IntSizeMac.mm: Removed.
              * platform/qt/AffineTransformQt.cpp: Removed.
              * platform/qt/ColorQt.cpp: Removed.
              * platform/qt/FloatPointQt.cpp: Removed.
              * platform/qt/FloatRectQt.cpp: Removed.
              * platform/qt/IconQt.cpp: Removed.
              * platform/qt/ImageQt.cpp: Removed.
              * platform/qt/ImageSourceQt.cpp: Removed.
              * platform/qt/IntPointQt.cpp: Removed.
              * platform/qt/IntRectQt.cpp: Removed.
              * platform/qt/IntSizeQt.cpp: Removed.
              * platform/qt/PathQt.cpp: Removed.
              * platform/win/ImageWin.cpp: Removed.
              * platform/win/IntPointWin.cpp: Removed.
              * platform/win/IntRectWin.cpp: Removed.
              * platform/win/IntSizeWin.cpp: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08a5a1ee
  16. 13 Oct, 2006 2 commits
    • bdakin's avatar
      Patch written mostly by Ken Kraisler, but also by me. · 6e760ffb
      bdakin authored
              Reviewed by Hyatt.
      
              Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar://
              problem/3391162> PDF created by printing should have live 
              hyperlinks
      
              * platform/GraphicsContext.cpp:
              (WebCore::GraphicsContext::focusRingBoundingRect):
              * platform/GraphicsContext.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::setURLForRect):
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::setURLForRect): Implement method to add 
              URL link to PDF document.
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paint): Ask hasOutline() instead of 
              querying the outline width
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintObject): Same as above.
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::paintLines): Call the new paintOutline()
              (WebCore::RenderFlow::paintOutline): Take care of focus ring and 
              pdf url rects, and outline painting.
              * rendering/RenderFlow.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF 
              link to a rectanglular region.
              (WebCore::RenderObject::paintOutline): Take care of pdf rects as 
              well as focus ring painting.
              * rendering/RenderObject.h:
              (WebCore::RenderObject::hasOutlineAnnotation): Returns true is the 
              element is a link and we are printing.
              (WebCore::RenderObject::hasOutline): Returns true is the style has 
              an outline and hasOutlineAnnotation() is true.
              * rendering/RenderStyle.h:
              (WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is 
              greater than 0 and outlineStyle is greater than BHIDDEN.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e760ffb
    • hyatt's avatar
      Transparency layer work. · d3b68ca5
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d3b68ca5
  17. 05 Oct, 2006 2 commits
    • hyatt's avatar
      Temporary hack. · db99410f
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db99410f
    • hyatt's avatar
      Rename addClip to clip. · db43342c
      hyatt authored
              Reviewed by darin
      
              * kcanvas/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::paint):
              * kcanvas/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
              * kcanvas/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::paint):
              * platform/GraphicsContext.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::clip):
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::savePlatformState):
              (WebCore::GraphicsContext::restorePlatformState):
              (WebCore::GraphicsContext::clip):
              (WebCore::GraphicsContext::addRoundedRectClip):
              (WebCore::GraphicsContext::addInnerRoundedRectClip):
              (WebCore::GraphicsContext::scale):
              (WebCore::GraphicsContext::rotate):
              (WebCore::GraphicsContext::translate):
              (WebCore::GraphicsContext::concatCTM):
              * platform/cg/GraphicsContextPlatformPrivate.h:
              (WebCore::GraphicsContextPlatformPrivate::save):
              (WebCore::GraphicsContextPlatformPrivate::restore):
              (WebCore::GraphicsContextPlatformPrivate::clip):
              (WebCore::GraphicsContextPlatformPrivate::scale):
              (WebCore::GraphicsContextPlatformPrivate::rotate):
              (WebCore::GraphicsContextPlatformPrivate::translate):
              (WebCore::GraphicsContextPlatformPrivate::concatCTM):
              * platform/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::clip):
              (WebCore::GraphicsContext::addInnerRoundedRectClip):
              (WebCore::GraphicsContext::addRoundedRectClip):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintBackground):
              (WebCore::InlineFlowBox::paintBackgroundAndBorder):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintSelection):
              (WebCore::InlineTextBox::paintTextMatchMarker):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/RenderButton.cpp:
              (WebCore::RenderButton::paintObject):
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::paintObject):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::beginTransparencyLayers):
              (WebCore::setClip):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::paintObject):
              * rendering/RenderMenuList.cpp:
              (WebCore::RenderMenuList::paintObject):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db43342c
  18. 22 Sep, 2006 1 commit
    • thatcher's avatar
      Reviewed by Brady. · 1258da50
      thatcher authored
              Build fix for Xcode 2.3. Convert GraphicsContext::translate() to
              take floats. There was already an implicit conversion to float/double
              when calling CGContextTranslateCTM or cairo_translate.
      
              * platform/GraphicsContext.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::translate):
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::translate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1258da50
  19. 21 Sep, 2006 1 commit
  20. 28 Aug, 2006 1 commit
    • ggaren's avatar
      Reviewed by Maciej. · 4c7c632c
      ggaren authored
              
              Added support for experimental CFNetwork-based loader (not turned on yet).
              
              While I was there, I did the following platform cleanup:
              - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
                USE(CFNETWORK) idiom.
              - Removed some #includes of windows.h in platform-independent headers.
              - Changed #ifdef __APPLE__ to PLATFORM(MAC)
              - Fixed some build bustage, including case-sensitive filesystem bustage.
      
              * loader/loader.cpp:
              (WebCore::Loader::receivedAllData):
              * platform/Cursor.h:
              * platform/KURL.h:
              * platform/ResourceLoader.h:
              * platform/ResourceLoaderClient.h:
              * platform/ResourceLoaderInternal.h:
              (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
              * platform/cfnet/KURLCFNet.cpp: Added.
              (WebCore::KURL::createCFURL):
              * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
              (WebCore::willSendRequest):
              (WebCore::didReceiveChallenge):
              (WebCore::didCancelChallenge):
              (WebCore::didReceiveResponse):
              (WebCore::didReceiveData):
              (WebCore::didFinishLoading):
              (WebCore::didFail):
              (WebCore::willCacheResponse):
              (WebCore::addHeadersFromString):
              (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
              (WebCore::ResourceLoader::~ResourceLoader):
              (WebCore::arrayFromFormData):
              (WebCore::emptyPerform):
              (WebCore::runLoaderThread):
              (WebCore::ResourceLoader::start):
              (WebCore::ResourceLoader::cancel):
              * platform/win/CursorWin.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c7c632c
  21. 25 Aug, 2006 1 commit
    • adele's avatar
      LayoutTests: · 05abee33
      adele authored
              Reviewed by Hyatt.
      
              New tests and updated tests for styled selects.
      
              * fast/borders/borderRadiusInvalidColor-expected.checksum: Added.
              * fast/borders/borderRadiusInvalidColor-expected.png: Added.
              * fast/borders/borderRadiusInvalidColor-expected.txt: Added.
              * fast/borders/borderRadiusInvalidColor.html: Added.
      
              * fast/forms/select-baseline-expected.checksum: Added.
              * fast/forms/select-baseline-expected.png: Added.
              * fast/forms/select-baseline-expected.txt: Added.
              * fast/forms/select-baseline.html: Added.
      
              * editing/pasteboard/4641033-expected.txt:
              * editing/selection/replaced-boundaries-3-expected.txt:
              * editing/selection/select-box-expected.txt:
              * fast/block/margin-collapse/103-expected.txt:
              * fast/forms/001-expected.checksum:
              * fast/forms/001-expected.png:
              * fast/forms/001-expected.txt:
              * fast/forms/003-expected.txt:
              * fast/forms/004-expected.txt:
              * fast/forms/HTMLOptionElement_label01-expected.txt:
              * fast/forms/HTMLOptionElement_label02-expected.txt:
              * fast/forms/HTMLOptionElement_label03-expected.txt:
              * fast/forms/HTMLOptionElement_label04-expected.txt:
              * fast/forms/HTMLOptionElement_label06-expected.txt:
              * fast/forms/HTMLOptionElement_label07-expected.txt:
              * fast/forms/form-element-geometry-expected.checksum:
              * fast/forms/form-element-geometry-expected.png:
              * fast/forms/form-element-geometry-expected.txt:
              * fast/forms/option-script-expected.txt:
              * fast/forms/option-text-clip-expected.txt:
              * fast/forms/select-change-listbox-to-popup-expected.txt:
              * fast/forms/select-selected-expected.txt:
              * fast/forms/select-style-expected.txt:
              * fast/forms/select-visual-hebrew-expected.txt:
              * fast/invalid/014-expected.txt:
              * fast/parser/document-write-option-expected.txt:
              * fast/replaced/width100percent-expected.txt:
              * http/tests/navigation/anchor-basic-expected.txt:
              * http/tests/navigation/anchor-frames-expected.txt:
              * http/tests/navigation/anchor-goback-expected.txt:
              * http/tests/navigation/anchor-subframeload-expected.txt:
              * http/tests/navigation/javascriptlink-basic-expected.txt:
              * http/tests/navigation/javascriptlink-frames-expected.txt:
              * http/tests/navigation/javascriptlink-goback-expected.txt:
              * http/tests/navigation/javascriptlink-subframeload-expected.txt:
              * http/tests/navigation/metaredirect-basic-expected.txt:
              * http/tests/navigation/metaredirect-frames-expected.txt:
              * http/tests/navigation/metaredirect-goback-expected.txt:
              * http/tests/navigation/metaredirect-subframeload-expected.txt:
              * http/tests/navigation/post-goback2-expected.txt:
              * http/tests/navigation/postredirect-goback2-expected.txt:
              * http/tests/navigation/redirect302-basic-expected.txt:
              * http/tests/navigation/redirect302-frames-expected.txt:
              * http/tests/navigation/redirect302-goback-expected.txt:
              * http/tests/navigation/redirect302-subframeload-expected.txt:
              * http/tests/navigation/relativeanchor-basic-expected.txt:
              * http/tests/navigation/relativeanchor-frames-expected.txt:
              * http/tests/navigation/relativeanchor-goback-expected.txt:
              * http/tests/navigation/slowmetaredirect-basic-expected.txt:
              * http/tests/navigation/slowtimerredirect-basic-expected.txt:
              * http/tests/navigation/success200-basic-expected.txt:
              * http/tests/navigation/success200-frames-expected.txt:
              * http/tests/navigation/success200-frames-loadsame-expected.txt:
              * http/tests/navigation/success200-goback-expected.txt:
              * http/tests/navigation/success200-loadsame-expected.txt:
              * http/tests/navigation/success200-reload-expected.txt:
              * http/tests/navigation/success200-subframeload-expected.txt:
              * http/tests/navigation/timerredirect-basic-expected.txt:
              * http/tests/navigation/timerredirect-frames-expected.txt:
              * http/tests/navigation/timerredirect-goback-expected.txt:
              * http/tests/navigation/timerredirect-subframeload-expected.txt:
              * tables/mozilla/bugs/bug1188-expected.txt:
              * tables/mozilla/bugs/bug18359-expected.txt:
              * tables/mozilla/bugs/bug2479-3-expected.txt:
              * tables/mozilla/bugs/bug2479-4-expected.txt:
              * tables/mozilla/bugs/bug29326-expected.txt:
              * tables/mozilla/bugs/bug33855-expected.txt:
              * tables/mozilla/bugs/bug4382-expected.txt:
              * tables/mozilla/bugs/bug96334-expected.txt:
              * tables/mozilla/core/margins-expected.txt:
              * tables/mozilla/dom/tableDom-expected.txt:
              * tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
      
      WebCore:
      
              Reviewed by Hyatt.
      
              Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
      
              Tests:   fast/forms/select-baseline.html
                       fast/borders/borderRadiusInvalidColor.html
              updated: fast/forms/select-style-expected.txt and more...
      
              * css/html4.css: Added style rules for styled select elements.
      
              * platform/GraphicsContext.h: Added argument for antialiasing.
              * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
              * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
              (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
               (any callers that set this to true were already ensuring that their color was valid).
               Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
              (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
              (WebCore::RenderObject::paintOutline): ditto.
              * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
              * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
      
              * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
                Added case for when there's no children to check for hasLineIfEmpty.
              * rendering/RenderBlock.h:
              * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
              * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
              * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
              (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
      
              * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
              * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
               immediately after painting the background.
      
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
              For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
              to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
              (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
               so the arrow control will draw at the right time (after the background).
              (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
              (WebCore::RenderTheme::paintBorderOnly): ditto.
              (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
              (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
              * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
      
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
              (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
              (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
              (WebCore::TopGradientInterpolate): Added.
              (WebCore::BottomGradientInterpolate): Added.
              (WebCore::MainGradientInterpolate): Added.
              (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
              (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
              (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05abee33
  22. 23 Aug, 2006 1 commit
    • hyatt's avatar
      Refactor Cairo and CoreGraphics to use platform ifdefs. This patch · 7d8d9656
      hyatt authored
              separates the graphics engines from their respective platforms and replaces
              #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
      
              Reviewed by darin
      
              * WebCore.xcodeproj/project.pbxproj:
              * platform/AffineTransform.h:
              * platform/Color.h:
              * platform/Cursor.h:
              * platform/FloatPoint.h:
              * platform/FloatRect.h:
              * platform/FloatSize.h:
              * platform/Font.h:
              * platform/FontData.h:
              * platform/GlyphBuffer.h:
              (WebCore::GlyphBuffer::glyphAt):
              (WebCore::GlyphBuffer::advanceAt):
              (WebCore::GlyphBuffer::add):
              * platform/GraphicsContext.h:
              * platform/Image.h:
              * platform/ImageSource.h:
              * platform/IntPoint.h:
              * platform/IntRect.h:
              * platform/IntSize.h:
              * platform/ResourceLoader.h:
              * platform/ResourceLoaderClient.h:
              * platform/Widget.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              * platform/cairo/ImageCairo.cpp:
              * platform/cairo/ImageSourceCairo.cpp:
              * platform/cg/AffineTransformCG.cpp:
              * platform/cg/FloatPointCG.cpp: Added.
              * platform/cg/FloatRectCG.cpp: Added.
              * platform/cg/FloatSizeCG.cpp: Added.
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::setFocusRingClip):
              (WebCore::GraphicsContext::clearFocusRingClip):
              (WebCore::GraphicsContext::platformContext):
              (WebCore::GraphicsContext::drawRect):
              (WebCore::GraphicsContext::drawLine):
              * platform/cg/GraphicsContextPlatformPrivate.h: Added.
              (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
              (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
              * platform/cg/ImageCG.cpp: Added.
              (WebCore::Image::drawTiled):
              * platform/cg/ImageSourceCG.cpp: Added.
              * platform/cg/IntPointCG.cpp: Added.
              * platform/cg/IntRectCG.cpp: Added.
              * platform/cg/IntSizeCG.cpp: Added.
              * platform/cg/PDFDocumentImage.cpp: Added.
              (WebCore::PDFDocumentImage::adjustCTM):
              * platform/cg/PDFDocumentImage.h: Added.
              * platform/cg/PathCG.cpp:
              * platform/image-decoders/bmp/BMPImageDecoder.cpp:
              * platform/image-decoders/gif/GIFImageDecoder.cpp:
              * platform/image-decoders/gif/GIFImageReader.cpp:
              * platform/image-decoders/ico/ICOImageDecoder.cpp:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              * platform/image-decoders/xbm/XBMImageDecoder.cpp:
              * platform/mac/FloatPointMac.mm:
              * platform/mac/FloatRectMac.mm:
              * platform/mac/FloatSizeMac.mm:
              * platform/mac/GraphicsContextMac.mm:
              * platform/mac/ImageMac.mm:
              * platform/mac/ImageSourceMac.cpp: Removed.
              * platform/mac/IntPointMac.mm:
              * platform/mac/IntRectMac.mm:
              * platform/mac/IntSizeMac.mm:
              * platform/mac/PDFDocumentImage.h: Removed.
              * platform/mac/PDFDocumentImage.mm: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d8d9656
  23. 11 Aug, 2006 1 commit
    • eseidel's avatar
      2006-08-11 Eric Seidel <eric@eseidel.com> · 0f4a4a03
      eseidel authored
              Reviewed by andersca.
      
              The outermost <svg> element needs to clip itself
              http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
      
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
              * kcanvas/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
              (WebCore::RenderSVGContainer::paint):
              * kcanvas/device/KRenderingDevice.h:
              * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
              * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
              (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
              * ksvg2/svg/SVGPaint.cpp: spacing changes
              (WebCore::SVGPaint::SVGPaint): spacing cleanup
              * ksvg2/svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
              * platform/GraphicsContext.h: Added concatCTM
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::concatCTM): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0f4a4a03
  24. 09 Aug, 2006 1 commit
    • ddkilzer's avatar
      WebCore: · 54f5ceac
      ddkilzer authored
              Reviewed by Darin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247
              REGRESSION: Unable to build webkit without SVG/XPATH
      
              * bindings/js/kjs_binding.cpp:
              (KJS::setDOMException):
              * bindings/js/kjs_dom.cpp:
              (KJS::toJS):
              * bindings/js/kjs_html.cpp:
              (KJS::HTMLElementFunction::callAsFunction):
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_proxy.h:
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMInternal.mm:
              (raiseDOMException):
              * bindings/objc/DOMXPath.mm:
              * bindings/objc/DOMXPathInternal.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
              * css/CSSGrammar.y:
              * css/CSSStyleDeclaration.cpp:
              (WebCore::propertyID):
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseValue):
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::loadDefaultStyle):
              (WebCore::CSSStyleSelector::applyProperty):
              * css/cssstyleselector.h:
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::~Document):
              (WebCore::Document::createElementNS):
              (WebCore::Document::implicitClose):
              (WebCore::Document::recalcStyleSelector):
              (WebCore::Document::createEvent):
              * dom/Document.h:
              * dom/Document.idl:
              * dom/Node.cpp:
              (WebCore::Node::createRendererIfNeeded):
              * dom/Node.h:
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::endElementNs):
              (WebCore::XMLTokenizer::insertErrorMessageBlock):
              * html/HTMLEmbedElement.cpp:
              * html/HTMLEmbedElement.h:
              * html/HTMLObjectElement.cpp:
              * html/HTMLObjectElement.h:
              * kcanvas/KCanvasCreator.cpp:
              * kcanvas/KCanvasCreator.h:
              * kcanvas/KCanvasFilters.cpp:
              * kcanvas/KCanvasFilters.h:
              * kcanvas/KCanvasImage.h:
              * kcanvas/KCanvasMatrix.cpp:
              * kcanvas/KCanvasMatrix.h:
              * kcanvas/KCanvasPath.cpp:
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasResourceListener.h:
              * kcanvas/KCanvasResources.cpp:
              * kcanvas/KCanvasResources.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * kcanvas/RenderForeignObject.cpp:
              * kcanvas/RenderForeignObject.h:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderPath.h:
              * kcanvas/RenderSVGContainer.cpp:
              * kcanvas/RenderSVGContainer.h:
              * kcanvas/RenderSVGImage.cpp:
              * kcanvas/RenderSVGImage.h:
              * kcanvas/RenderSVGText.cpp:
              * kcanvas/RenderSVGText.h:
              * kcanvas/device/KRenderingDevice.cpp:
              * kcanvas/device/KRenderingDevice.h:
              * kcanvas/device/KRenderingFillPainter.cpp:
              * kcanvas/device/KRenderingFillPainter.h:
              * kcanvas/device/KRenderingPaintServer.h:
              * kcanvas/device/KRenderingPaintServerGradient.cpp:
              * kcanvas/device/KRenderingPaintServerGradient.h:
              * kcanvas/device/KRenderingPaintServerPattern.cpp:
              * kcanvas/device/KRenderingPaintServerPattern.h:
              * kcanvas/device/KRenderingPaintServerSolid.cpp:
              * kcanvas/device/KRenderingPaintServerSolid.h:
              * kcanvas/device/KRenderingStrokePainter.cpp:
              * kcanvas/device/KRenderingStrokePainter.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              * kcanvas/device/quartz/KCanvasItemQuartz.mm:
              * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
              * kcanvas/device/quartz/KCanvasPathQuartz.mm:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
              * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
              * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
              * kcanvas/device/quartz/QuartzSupport.h:
              * kcanvas/device/quartz/QuartzSupport.mm:
              * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
              * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
              * ksvg2/css/SVGCSSParser.cpp:
              * ksvg2/css/SVGCSSStyleSelector.cpp:
              * ksvg2/css/SVGRenderStyle.cpp:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/ecma/GlobalObject.cpp:
              * ksvg2/ecma/GlobalObject.h:
              * ksvg2/events/JSSVGLazyEventListener.cpp:
              * ksvg2/events/JSSVGLazyEventListener.h:
              * ksvg2/events/SVGZoomEvent.cpp:
              * ksvg2/events/SVGZoomEvent.h:
              * ksvg2/ksvg.h:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/KSVGTimeScheduler.cpp:
              * ksvg2/misc/KSVGTimeScheduler.h:
              * ksvg2/misc/SVGDocumentExtensions.cpp:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/misc/SVGImageLoader.cpp:
              * ksvg2/misc/SVGImageLoader.h:
              * ksvg2/svg/DOMList.h:
              * ksvg2/svg/SVGAElement.cpp:
              * ksvg2/svg/SVGAElement.h:
              * ksvg2/svg/SVGAngle.cpp:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.cpp:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateElement.cpp:
              * ksvg2/svg/SVGAnimateElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * ksvg2/svg/SVGAnimatedAngle.cpp:
              * ksvg2/svg/SVGAnimatedAngle.h:
              * ksvg2/svg/SVGAnimatedBoolean.cpp:
              * ksvg2/svg/SVGAnimatedBoolean.h:
              * ksvg2/svg/SVGAnimatedColor.cpp:
              * ksvg2/svg/SVGAnimatedColor.h:
              * ksvg2/svg/SVGAnimatedEnumeration.cpp:
              * ksvg2/svg/SVGAnimatedEnumeration.h:
              * ksvg2/svg/SVGAnimatedInteger.cpp:
              * ksvg2/svg/SVGAnimatedInteger.h:
              * ksvg2/svg/SVGAnimatedLength.cpp:
              * ksvg2/svg/SVGAnimatedLength.h:
              * ksvg2/svg/SVGAnimatedLengthList.cpp:
              * ksvg2/svg/SVGAnimatedLengthList.h:
              * ksvg2/svg/SVGAnimatedNumber.cpp:
              * ksvg2/svg/SVGAnimatedNumber.h:
              * ksvg2/svg/SVGAnimatedNumberList.cpp:
              * ksvg2/svg/SVGAnimatedNumberList.h:
              * ksvg2/svg/SVGAnimatedPathData.cpp:
              * ksvg2/svg/SVGAnimatedPathData.h:
              * ksvg2/svg/SVGAnimatedPoints.cpp:
              * ksvg2/svg/SVGAnimatedPoints.h:
              * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
              * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
              * ksvg2/svg/SVGAnimatedRect.cpp:
              * ksvg2/svg/SVGAnimatedRect.h:
              * ksvg2/svg/SVGAnimatedString.cpp:
              * ksvg2/svg/SVGAnimatedString.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGAnimatedTransformList.cpp:
              * ksvg2/svg/SVGAnimatedTransformList.h:
              * ksvg2/svg/SVGAnimationElement.cpp:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGCircleElement.cpp:
              * ksvg2/svg/SVGCircleElement.h:
              * ksvg2/svg/SVGClipPathElement.cpp:
              * ksvg2/svg/SVGClipPathElement.h:
              * ksvg2/svg/SVGColor.cpp:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
              * ksvg2/svg/SVGComponentTransferFunctionElement.h:
              * ksvg2/svg/SVGCursorElement.cpp:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGDOMImplementation.cpp:
              * ksvg2/svg/SVGDOMImplementation.h:
              * ksvg2/svg/SVGDefsElement.cpp:
              * ksvg2/svg/SVGDefsElement.h:
              * ksvg2/svg/SVGDescElement.cpp:
              * ksvg2/svg/SVGDescElement.h:
              * ksvg2/svg/SVGDocument.cpp:
              * ksvg2/svg/SVGDocument.h:
              * ksvg2/svg/SVGElement.cpp:
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGElementInstance.cpp:
              * ksvg2/svg/SVGElementInstance.h:
              * ksvg2/svg/SVGElementInstanceList.cpp:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGEllipseElement.cpp:
              * ksvg2/svg/SVGEllipseElement.h:
              * ksvg2/svg/SVGExternalResourcesRequired.cpp:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFEBlendElement.cpp:
              * ksvg2/svg/SVGFEBlendElement.h:
              * ksvg2/svg/SVGFEColorMatrixElement.cpp:
              * ksvg2/svg/SVGFEColorMatrixElement.h:
              * ksvg2/svg/SVGFEComponentTransferElement.cpp:
              * ksvg2/svg/SVGFEComponentTransferElement.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/SVGFEDistantLightElement.cpp:
              * ksvg2/svg/SVGFEDistantLightElement.h:
              * ksvg2/svg/SVGFEFloodElement.cpp:
              * ksvg2/svg/SVGFEFloodElement.h:
              * ksvg2/svg/SVGFEFuncAElement.cpp:
              * ksvg2/svg/SVGFEFuncAElement.h:
              * ksvg2/svg/SVGFEFuncBElement.cpp:
              * ksvg2/svg/SVGFEFuncBElement.h:
              * ksvg2/svg/SVGFEFuncGElement.cpp:
              * ksvg2/svg/SVGFEFuncGElement.h:
              * ksvg2/svg/SVGFEFuncRElement.cpp:
              * ksvg2/svg/SVGFEFuncRElement.h:
              * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
              * ksvg2/svg/SVGFEGaussianBlurElement.h:
              * ksvg2/svg/SVGFEImageElement.cpp:
              * ksvg2/svg/SVGFEImageElement.h:
              * ksvg2/svg/SVGFELightElement.cpp:
              * ksvg2/svg/SVGFELightElement.h:
              * ksvg2/svg/SVGFEMergeElement.cpp:
              * ksvg2/svg/SVGFEMergeElement.h:
              * ksvg2/svg/SVGFEMergeNodeElement.cpp:
              * ksvg2/svg/SVGFEMergeNodeElement.h:
              * ksvg2/svg/SVGFEOffsetElement.cpp:
              * ksvg2/svg/SVGFEOffsetElement.h:
              * ksvg2/svg/SVGFEPointLightElement.cpp:
              * ksvg2/svg/SVGFEPointLightElement.h:
              * ksvg2/svg/SVGFESpecularLightingElement.cpp:
              * ksvg2/svg/SVGFESpecularLightingElement.h:
              * ksvg2/svg/SVGFESpotLightElement.cpp:
              * ksvg2/svg/SVGFESpotLightElement.h:
              * ksvg2/svg/SVGFETileElement.cpp:
              * ksvg2/svg/SVGFETileElement.h:
              * ksvg2/svg/SVGFETurbulenceElement.cpp:
              * ksvg2/svg/SVGFETurbulenceElement.h:
              * ksvg2/svg/SVGFilterElement.cpp:
              * ksvg2/svg/SVGFilterElement.h:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
              * ksvg2/svg/SVGFitToViewBox.cpp:
              * ksvg2/svg/SVGFitToViewBox.h:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGForeignObjectElement.h:
              * ksvg2/svg/SVGGElement.cpp:
              * ksvg2/svg/SVGGElement.h:
              * ksvg2/svg/SVGGradientElement.cpp:
              * ksvg2/svg/SVGGradientElement.h:
              * ksvg2/svg/SVGHelper.cpp:
              * ksvg2/svg/SVGHelper.h:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGImageElement.h:
              * ksvg2/svg/SVGLangSpace.cpp:
              * ksvg2/svg/SVGLangSpace.h:
              * ksvg2/svg/SVGLength.cpp:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGLengthList.cpp:
              * ksvg2/svg/SVGLengthList.h:
              * ksvg2/svg/SVGLineElement.cpp:
              * ksvg2/svg/SVGLineElement.h:
              * ksvg2/svg/SVGLinearGradientElement.cpp:
              * ksvg2/svg/SVGLinearGradientElement.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGLocatable.cpp:
              * ksvg2/svg/SVGLocatable.h:
              * ksvg2/svg/SVGMarkerElement.cpp:
              * ksvg2/svg/SVGMarkerElement.h:
              * ksvg2/svg/SVGMaskElement.cpp:
              * ksvg2/svg/SVGMaskElement.h:
              * ksvg2/svg/SVGMatrix.cpp:
              * ksvg2/svg/SVGMatrix.h:
              * ksvg2/svg/SVGNumber.cpp:
              * ksvg2/svg/SVGNumber.h:
              * ksvg2/svg/SVGNumberList.cpp:
              * ksvg2/svg/SVGNumberList.h:
              * ksvg2/svg/SVGPaint.cpp:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGPathElement.cpp:
              * ksvg2/svg/SVGPathElement.h:
              * ksvg2/svg/SVGPathSeg.cpp:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPathSegArc.cpp:
              * ksvg2/svg/SVGPathSegArc.h:
              * ksvg2/svg/SVGPathSegClosePath.cpp:
              * ksvg2/svg/SVGPathSegClosePath.h:
              * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubic.h:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
              * ksvg2/svg/SVGPathSegLineto.cpp:
              * ksvg2/svg/SVGPathSegLineto.h:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
              * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
              * ksvg2/svg/SVGPathSegLinetoVertical.h:
              * ksvg2/svg/SVGPathSegList.cpp:
              * ksvg2/svg/SVGPathSegList.h:
              * ksvg2/svg/SVGPathSegMoveto.cpp:
              * ksvg2/svg/SVGPathSegMoveto.h:
              * ksvg2/svg/SVGPatternElement.cpp:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGPoint.cpp:
              * ksvg2/svg/SVGPoint.h:
              * ksvg2/svg/SVGPointList.cpp:
              * ksvg2/svg/SVGPointList.h:
              * ksvg2/svg/SVGPolyElement.cpp:
              * ksvg2/svg/SVGPolyElement.h:
              * ksvg2/svg/SVGPolygonElement.cpp:
              * ksvg2/svg/SVGPolygonElement.h:
              * ksvg2/svg/SVGPolylineElement.cpp:
              * ksvg2/svg/SVGPolylineElement.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRadialGradientElement.cpp:
              * ksvg2/svg/SVGRadialGradientElement.h:
              * ksvg2/svg/SVGRect.cpp:
              * ksvg2/svg/SVGRect.h:
              * ksvg2/svg/SVGRectElement.cpp:
              * ksvg2/svg/SVGRectElement.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGScriptElement.cpp:
              * ksvg2/svg/SVGScriptElement.h:
              * ksvg2/svg/SVGSetElement.cpp:
              * ksvg2/svg/SVGSetElement.h:
              * ksvg2/svg/SVGStopElement.cpp:
              * ksvg2/svg/SVGStopElement.h:
              * ksvg2/svg/SVGStringList.cpp:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGStylable.cpp:
              * ksvg2/svg/SVGStylable.h:
              * ksvg2/svg/SVGStyleElement.cpp:
              * ksvg2/svg/SVGStyleElement.h:
              * ksvg2/svg/SVGStyledElement.cpp:
              * ksvg2/svg/SVGStyledElement.h:
              * ksvg2/svg/SVGStyledLocatableElement.cpp:
              * ksvg2/svg/SVGStyledLocatableElement.h:
              * ksvg2/svg/SVGStyledTransformableElement.cpp:
              * ksvg2/svg/SVGStyledTransformableElement.h:
              * ksvg2/svg/SVGSwitchElement.cpp:
              * ksvg2/svg/SVGSwitchElement.h:
              * ksvg2/svg/SVGSymbolElement.cpp:
              * ksvg2/svg/SVGSymbolElement.h:
              * ksvg2/svg/SVGTRefElement.cpp:
              * ksvg2/svg/SVGTRefElement.h:
              * ksvg2/svg/SVGTSpanElement.cpp:
              * ksvg2/svg/SVGTSpanElement.h:
              * ksvg2/svg/SVGTests.cpp:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTextContentElement.cpp:
              * ksvg2/svg/SVGTextContentElement.h:
              * ksvg2/svg/SVGTextElement.cpp:
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/SVGTextPositioningElement.cpp:
              * ksvg2/svg/SVGTextPositioningElement.h:
              * ksvg2/svg/SVGTitleElement.cpp:
              * ksvg2/svg/SVGTitleElement.h:
              * ksvg2/svg/SVGTransform.cpp:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransformList.cpp:
              * ksvg2/svg/SVGTransformList.h:
              * ksvg2/svg/SVGTransformable.cpp:
              * ksvg2/svg/SVGTransformable.h:
              * ksvg2/svg/SVGURIReference.cpp:
              * ksvg2/svg/SVGURIReference.h:
              * ksvg2/svg/SVGUseElement.cpp:
              * ksvg2/svg/SVGUseElement.h:
              * ksvg2/svg/SVGViewElement.cpp:
              * ksvg2/svg/SVGViewElement.h:
              * ksvg2/svg/SVGZoomAndPan.cpp:
              * ksvg2/svg/SVGZoomAndPan.h:
              * ksvg2/svg/svgpathparser.cpp:
              * ksvg2/svg/svgpathparser.h:
              * page/DOMWindow.idl:
              * page/Frame.cpp:
              (WebCore::Frame::Frame):
              (WebCore::Frame::begin):
              (WebCore::Frame::pauseTimeouts):
              (WebCore::Frame::resumeTimeouts):
              * platform/GraphicsContext.h:
              * platform/cg/GraphicsContextCG.cpp:
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::isTransparent):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::containingBlock):
              * rendering/RenderObject.h:
              * rendering/RenderStyle.cpp:
              (WebCore::RenderStyle::RenderStyle):
              (WebCore::RenderStyle::inheritFrom):
              (WebCore::RenderStyle::operator==):
              (WebCore::RenderStyle::inheritedNotEqual):
              (WebCore::RenderStyle::diff):
              * rendering/RenderStyle.h:
              * rendering/RenderTreeAsText.cpp:
              (WebCore::write):
              (WebCore::externalRepresentation):
              * xpath/XPathEvaluator.cpp:
              * xpath/XPathEvaluator.h:
              * xpath/XPathExpression.cpp:
              * xpath/XPathExpression.h:
              * xpath/XPathNSResolver.cpp:
              * xpath/XPathNSResolver.h:
              * xpath/XPathNamespace.cpp:
              * xpath/XPathNamespace.h:
              * xpath/XPathResult.cpp:
              * xpath/XPathResult.h:
              * xpath/impl/XPathExpressionNode.cpp:
              * xpath/impl/XPathExpressionNode.h:
              * xpath/impl/XPathFunctions.cpp:
              * xpath/impl/XPathFunctions.h:
              * xpath/impl/XPathGrammar.y:
              * xpath/impl/XPathParser.cpp:
              * xpath/impl/XPathParser.h:
              * xpath/impl/XPathPath.cpp:
              * xpath/impl/XPathPath.h:
              * xpath/impl/XPathPredicate.cpp:
              * xpath/impl/XPathPredicate.h:
              * xpath/impl/XPathStep.cpp:
              * xpath/impl/XPathStep.h:
              * xpath/impl/XPathUtil.cpp:
              * xpath/impl/XPathUtil.h:
              * xpath/impl/XPathValue.cpp:
              * xpath/impl/XPathValue.h:
              * xpath/impl/XPathVariableReference.cpp:
              * xpath/impl/XPathVariableReference.h:
      
              Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
              #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
              (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
              in RenderTreeAsText.cpp)
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54f5ceac
  25. 16 Jul, 2006 1 commit
    • bdakin's avatar
      Reviewed by Maciej. · 3716f5fb
      bdakin authored
              Fix for <rdar://problem/4616595> REGRESSION: Problems with world 
              clock widget clock hand motion on 9A211 + 4604574
      
              The second hand on the widget was jiggling because the rotation was 
              messing up the use of the affine transformation matrix while 
              rounding to pixel boundaries in device space. We are mainly 
              concerned with rounding to pixel boundaries with the scale in mind, 
              so this patch extracts the scale to device space from the matrix, 
              and rounds to pixel boundaries using only the scale. This doesn't 
              seem like it is a perfect solution, but it definitely solves the 
              immediate problem. We will probably need to re-address what should 
              happen to avoid pixel cracks with rotations at non-integral scale 
              factors. 
      
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::roundToDevicePixels):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3716f5fb
  26. 19 Jun, 2006 1 commit
    • mjs's avatar
      Reviewed by Darin. · ab2dceb7
      mjs authored
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488
              "Animated GIFs do not respect transforms in SVG"
              
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6946
              "SVG shows invalidation issues in WebKit"
              
              http://www.treebuilder.de/default.asp?file=441875.xml
              "Invalidation issues with "SVG 3d" demo"
              
              http://code.google.com/webstats/2005-12/pages.html
              "SVG text doesn't repaint correctly"
      
              * kcanvas/KCanvasContainer.cpp:
              (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
              appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
              (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
              seems wrong.
              * kcanvas/KCanvasContainer.h: Prototype new method.
      
              * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
              so it paints twice.
              * kcanvas/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
              so everything paints that is supposed to. Also handle opacity here since we won't get layers.
              (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
              appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
              (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
              (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
              changes, as by transform.
              * kcanvas/RenderForeignObject.h:
      
              * kcanvas/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity 
              here since we won't get layers.
              (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
              appropriate transforms, so damage rects in SVG images  get propagated up properly.
              (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
              (WebCore::RenderSVGImage::translateForAttributes): Use above.
              (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
              (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
              for transforms.
              (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
              * kcanvas/RenderSVGImage.h:
      
              * kcanvas/RenderSVGText.cpp:
              (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
              won't get a layer.
              (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
              (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
              (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
      
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
              and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
              rect will get inflated if user space is rotated or skewed.
      
              * kcanvas/RenderPath.cpp:
              (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
              (WebCore::RenderPath::paint): Hhandle opacity here.
              
              Bonus fix:
              
              * kcanvas/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
              attribute transform.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab2dceb7
  27. 11 Jun, 2006 1 commit
    • darin's avatar
      Reviewed by Hyatt, tweaked quite a bit and landed by Darin. · 91298e58
      darin authored
              - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
                Remove use of DeprecatedArray in favor of new Vector class
      
              This removes most of the uses of DeprecatedArray and 
              DeprecatedByteArray, with the exception of DeprecatedCString.
      
              No test cases added because there is no change in
              functionality.
      
              * loader/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::data):
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::bufferData):
              (WebCore::CachedImage::data):
              (WebCore::CachedImage::checkNotify):
              (WebCore::CachedImage::shouldStopAnimation):
              * loader/CachedImage.h:
              * loader/CachedObject.cpp:
              (WebCore::CachedObject::bufferData):
              (WebCore::CachedObject::setExpireDate):
              * loader/CachedObject.h:
              (WebCore::CachedObject::setCharset):
              * loader/CachedScript.cpp:
              (WebCore::CachedScript::data):
              * loader/CachedScript.h:
              * loader/CachedXBLDocument.cpp:
              (WebCore::CachedXBLDocument::data):
              (WebCore::CachedXBLDocument::checkNotify):
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              (WebCore::CachedXSLStyleSheet::data):
              * loader/CachedXSLStyleSheet.h:
              * loader/Request.cpp:
              (WebCore::Request::Request):
              (WebCore::Request::~Request):
              * loader/Request.h:
              (WebCore::Request::buffer):
              (WebCore::Request::cachedObject):
              (WebCore::Request::docLoader):
              (WebCore::Request::isIncremental):
              (WebCore::Request::setIsIncremental):
              (WebCore::Request::isMultipart):
              (WebCore::Request::setIsMultipart):
              * loader/loader.cpp:
              (WebCore::crossDomain):
              (WebCore::Loader::Loader):
              (WebCore::Loader::load):
              (WebCore::Loader::servePendingRequests):
              (WebCore::Loader::receivedAllData):
              (WebCore::Loader::receivedResponse):
              (WebCore::Loader::receivedData):
              (WebCore::Loader::numRequests):
              (WebCore::Loader::cancelRequests):
              (WebCore::Loader::removeBackgroundDecodingRequest):
              (WebCore::Loader::jobForRequest):
              * platform/Image.cpp:
              (WebCore::Image::setData):
              * platform/Image.h:
              (WebCore::Image::dataBuffer):
      
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::init):
              (WebCore::CSSStyleSelector::matchRules):
              (WebCore::CSSStyleSelector::matchRulesForList):
              (WebCore::CSSStyleSelector::sortMatchedRules):
              (WebCore::CSSStyleSelector::initForStyleResolve):
              (WebCore::CSSStyleSelector::createStyleForElement):
              (WebCore::CSSStyleSelector::createPseudoStyleForElement):
              * css/cssstyleselector.h:
              (WebCore::CSSStyleSelector::addMatchedRule):
              (WebCore::CSSStyleSelector::addMatchedDeclaration):
              * dom/xml_tokenizer.cpp:
              (WebCore::OffsetBuffer::OffsetBuffer):
              (WebCore::openFunc):
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::index):
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::selectedIndex):
              (WebCore::HTMLSelectElement::setSelectedIndex):
              (WebCore::HTMLSelectElement::length):
              (WebCore::HTMLSelectElement::remove):
              (WebCore::HTMLSelectElement::value):
              (WebCore::HTMLSelectElement::setValue):
              (WebCore::HTMLSelectElement::state):
              (WebCore::HTMLSelectElement::restoreState):
              (WebCore::HTMLSelectElement::appendFormData):
              (WebCore::HTMLSelectElement::optionToListIndex):
              (WebCore::HTMLSelectElement::listToOptionIndex):
              (WebCore::HTMLSelectElement::recalcListItems):
              (WebCore::HTMLSelectElement::reset):
              (WebCore::HTMLSelectElement::notifyOptionSelected):
              * html/HTMLSelectElement.h:
              (WebCore::HTMLSelectElement::listItems):
              * kwq/KWQLoader.h:
              * kwq/KWQLoader.mm:
              (KWQServeSynchronousRequest):
              * kwq/KWQTextStream.cpp:
              (QTextStream::operator<<):
              * kwq/KWQTextStream.h:
              * loader/FormData.cpp:
              (WebCore::FormData::flatten):
              (WebCore::FormData::flattenToString):
              * loader/FormData.h:
              (WebCore::FormDataElement::FormDataElement):
              * platform/DeprecatedString.cpp:
              * platform/DeprecatedString.h:
              * platform/IntPointArray.cpp: Removed.
              * platform/IntPointArray.h: Removed.
              * platform/TextEncoding.cpp:
              (WebCore::TextEncoding::toUnicode):
              * platform/TextEncoding.h:
              * platform/cairo/pixman/src/pixregion.c:
              * platform/cg/PathCG.cpp:
              (WebCore::Path::Path):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBorder):
              * rendering/RenderTable.h:
              (WebCore::RenderTable::colToEffCol):
              (WebCore::RenderTable::effColToCol):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::ensureRows):
              (WebCore::RenderTableSection::addCell):
              (WebCore::RenderTableSection::setCellWidths):
              * rendering/RenderTableSection.h:
              * rendering/bidi.cpp:
              (WebCore::addMidpoint):
              (WebCore::RenderBlock::layoutInlineChildren):
              * rendering/render_form.cpp:
              (WebCore::RenderSelect::updateFromElement):
              (WebCore::RenderSelect::layout):
              (WebCore::RenderSelect::valueChanged):
              (WebCore::RenderSelect::selectionChanged):
              (WebCore::RenderSelect::updateSelection):
              * rendering/table_layout.cpp:
              (WebCore::FixedTableLayout::layout):
              * rendering/table_layout.h:
              * xml/XSLTProcessor.cpp:
              (WebCore::docLoaderFunc):
              * xml/xmlhttprequest.cpp:
              (WebCore::XMLHttpRequest::send):
              (WebCore::XMLHttpRequest::processSyncLoadResults):
              * xml/xmlhttprequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91298e58
  28. 05 Jun, 2006 1 commit
    • bdakin's avatar
      Reviewed by Darin. · af5f98b2
      bdakin authored
              Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
              1.83 scaling
      
              To prevent pixel cracks at non-integral scaling factors, before we 
              call into CG to draw an image, we have to convert the rect to 
              device space, round the origin and size to integers in device 
              space, and convert back to user space. 
              
              No test cases added since this only affects non-1.0 resolution 
              scale factors.
      
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
              takes FloatRects.
              * html/CanvasPattern.cpp:
              (WebCore::patternCallback): Call roundToDevicePixels()
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
              takes FloatRects and call roundToDevicePixels()
              * html/CanvasRenderingContext2D.h: drawImage() now takes 
              FloatRects.
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
              * kcanvas/device/quartz/QuartzSupport.mm:
              (WebCore::debugDumpCGImageToFile): Same as above.
              * platform/GraphicsContext.h:
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
              converting between coordinate spaces and rounding.
              (WebCore::GraphicsContext::drawLineForText):
              * platform/mac/ImageMac.mm: Call roundToDevicePixels()
              (WebCore::Image::draw): Same as above.
              (WebCore::drawPattern): Same as above.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af5f98b2
  29. 31 May, 2006 1 commit
    • bdakin's avatar
      Reviewed by Hyatt. · f0cf2561
      bdakin authored
              Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6755 CSS3: 
              Borders rounded with border-radius don't draw the roundings
      
              This patch does not draw all of the different border styles 
              perfectly, so I have filed a few followup bugs that I will 
              reference from this Bugzilla.
      
              * platform/GraphicsContext.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::drawArc): drawArc() has different 
              parameters now, but mostly this needs to be implemented to match 
              the Mac side later.
              (WebCore::GraphicsContext::addRoundedRectClip): Just a stub. 
              Implement this later.
              (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub. 
              Implement this later.
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing 
              elliptical arcs as well as circular arcs, it also takes a thickness 
              parameter to draw an arc of a given thickness and draws with the 
              appropriate pen style.
              (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to 
              the inside of an arc instead of to the outside which is already 
              done by addRoundedClipRect()
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::drawBorderArc): Draws the border arcs in 
              the appropriate styles.
              (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when 
              border arcs are needed.
              * rendering/RenderObject.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0cf2561