1. 29 May, 2008 12 commits
    • ap@webkit.org's avatar
      Reviewed by Darin. · 56cb5179
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=19294
              <rdar://problem/5969062> A crash when iterating over a sparse array backwards.
      
              * kjs/array_instance.cpp: Turned sparseArrayCutoff into a macro, so that using max() on it
              doesn't cause a PIC branch.
              (KJS::ArrayInstance::increaseVectorLength): Added a comment about this function not
              preserving class invariants.
              (KJS::ArrayInstance::put): Update m_storage after reallocation. Move values that fit to
              the vector from the map in all code paths.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      56cb5179
    • mitz@apple.com's avatar
      Reviewed by Jessica Kahn. · 4e770aa5
      mitz@apple.com authored
              - fix <rdar://problem/5965013> Page 2 does not print correctly
      
              When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
              _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
              -viewWillDraw being sent first, which could lead to painting without
              valid layout. The fix is to ensure up-to-date layout in those methods
              when printing.
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
              (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e770aa5
    • ap@webkit.org's avatar
      Reviewed by Adam Roben. · daed70e3
      ap@webkit.org authored
              <rdar://problem/5960682> REGRESSION(r30535): Crashes on iExploder in checkForHeadCharset().
      
              I don't see how to make a reliable test, but iExploder catches this quickly.
      
              * loader/TextResourceDecoder.cpp:
              (WebCore::TextResourceDecoder::checkForHeadCharset): Correct the length passed to
              findIgnoringCase().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      daed70e3
    • ap@webkit.org's avatar
      Reviewed by Adam Roben. · 032862b0
      ap@webkit.org authored
              Fix run-iexploder-tests and run-mangleme-tests to work with updated shared scripts and
              configuration files.
      
              * Scripts/run-iexploder-tests:
              * Scripts/run-mangleme-tests:
              Renamed runSafari to not conflict with the one in webkitdirs.
              Added SSLCertificateFile option for httpd, as now needed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      032862b0
    • alp@webkit.org's avatar
      2008-05-29 Peter Kasting <zerodpx@gmail.com> · 567092fb
      alp@webkit.org authored
              Reviewed by Dave Hyatt.
      
              https://bugs.webkit.org/show_bug.cgi?id=19273
              Handle looping GIFs correctly (at least in the open source GIF decoder) even when
              the loop count doesn't appear in the initial data packets.
      
              * platform/graphics/BitmapImage.cpp:
              (WebCore::BitmapImage::cacheFrame):
              (WebCore::BitmapImage::startAnimation):
              (WebCore::BitmapImage::advanceAnimation):
              * platform/image-decoders/gif/GIFImageDecoder.cpp:
              (WebCore::GIFImageDecoder::GIFImageDecoder):
              (WebCore::GIFImageDecoder::repetitionCount):
              (WebCore::GIFImageDecoder::gifComplete):
              * platform/image-decoders/gif/GIFImageDecoder.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      567092fb
    • alp@webkit.org's avatar
      2008-05-29 Brent Fulgham <bfulgham@gmail.com> · b5743686
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              http://bugs.webkit.org/show_bug.cgi?id=19284
              Correct Windows (Cairo) Build Regressions
      
              Correct small Windows (Cairo) build regressions in recent updates.
      
              * platform/graphics/SimpleFontData.h:  Correct build regression due
                to r32781 (additional use of m_syntheticBoldOffset in GDI code).
              * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
                Correct build regression due to r31830 (change of clip signature
                to use FloatRect rather than IntRect).
              * platform/graphics/win/SimpleFontDataCairoWin.cpp:
              (WebCore::SimpleFontData::platformInit):  Initialize
              m_syntheticBoldOffset
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              (WebCore::JPEGImageReader::JPEGImageReader):  Work around build
                error due to warnings about _setjmp treated as errors.
              * platform/image-decoders/png/PNGImageDecoder.cpp:  Work around
                build error due to warnings about _setjmp treated as errors.
              * platform/network/curl/ResourceHandleCurl.cpp:  Correct build error
                due to different order (and content) of include files when building
                with CoreFoundation (but not CoreGraphics).
              * platform/network/curl/ResourceHandleManager.cpp:
              (WebCore::ResourceHandleManager::setupPOST):  Correct build error
                due to Visual Studio compiler bug.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5743686
    • hausmann@webkit.org's avatar
      2008-05-29 Thiago Macieira <tjmaciei@trolltech.com> · 56079a32
      hausmann@webkit.org authored
              Reviewed by Simon.
      
              Fix compilation in Solaris with Sun CC
      
              Lots of WebKit code uses C99 functions that, strict as it
              is, the Solaris system doesn't provide in C++. So we must define them
              for both GCC and the Sun CC.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      56079a32
    • ap@webkit.org's avatar
      Reviewed by Darin. · 8aba93cd
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=19215
              REGRESSION: transformToDocument fails when xsl includes &#160;
      
              Test: fast/xsl/nbsp-in-stylesheet.html
      
              * editing/markup.cpp:
              (WebCore::appendAttributeValue):
              (WebCore::appendEscapedContent):
              (WebCore::escapeContentText):
              (WebCore::appendQuotedURLAttributeValue):
              (WebCore::appendNamespace):
              (WebCore::appendStartMarkup):
              (WebCore::appendDocumentType):
              (WebCore::createMarkup):
              Only escape non-breaking spaces in HTML documents. In Firefox, this behavior is also limited
              to innerHTML, but we don't have a separate code path for it, and do not necessarily want to.
      
              * page/Frame.cpp:
              (WebCore::Frame::documentTypeString):
              * dom/CDATASection.cpp:
              * dom/CDATASection.h:
              * dom/Comment.cpp:
              * dom/Comment.h:
              * dom/DocumentType.cpp:
              * dom/DocumentType.h:
              * dom/ProcessingInstruction.cpp:
              * dom/ProcessingInstruction.h:
              While at it, I also wanted to fix escaping for these nodes, but it turned out that FIXMEs were
              incorrect. So, I just moved their serialization to markup.cpp for consistency.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8aba93cd
    • hausmann@webkit.org's avatar
      Kavindra Devi Palaraja <kdpalara@trolltech.com> · 3f8a426f
      hausmann@webkit.org authored
      Doc: Mention the requirement of a QApplication with QtWebKit
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f8a426f
    • hausmann@webkit.org's avatar
      David Boddie <dboddie@trolltech.com> · 3bcd1202
      hausmann@webkit.org authored
      Some clarifications for the documentation.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bcd1202
    • mjs@apple.com's avatar
      Fix ChangeLog typos. · 45ee7b5e
      mjs@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45ee7b5e
    • mjs@apple.com's avatar
      WebCore: · bf259502
      mjs@apple.com authored
      2008-05-29  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - speed up DHTML using lazy style resolution and rendere creation
      
              This change introduces the concept of "lazy attach" - when a node
              is lazy attached, then instead of resolving style and creating a
              renderer right away, we just mark it as needing a style recalc.
              
              The patch makes use of this mechanism when inserting nodes directly
              using DOM APIs from script. For now this is only done for the
              JavaScript language binding but could also be done for other
              bindings in the future.
              
              Lazy attach helps some common DHTML patterns - when a node is
              added to the DOM, and then subsequently changed in a
              style-affecting way, this causes an extra style recalc. This is a
              fairly common pattern so it is better to be lazy.
              
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore): Request lazy attach.
              (WebCore::JSNode::replaceChild): ditto
              (WebCore::JSNode::appendChild): ditto
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::insertBefore): Support lazy attach.
              (WebCore::ContainerNode::replaceChild): ditto
              (WebCore::ContainerNode::appendChild): ditto
              (WebCore::ContainerNode::detach): Clear "changed child" bit if still set.
              * dom/ContainerNode.h:
              * dom/Element.cpp:
              (WebCore::Element::recalcStyle): Adjusted to properly reattach a
              lazy-attached node.
              * dom/Node.cpp:
              (WebCore::Node::insertBefore): Extra parameter for lazy attach
              (still doesn't do anything).
              (WebCore::Node::replaceChild): ditto
              (WebCore::Node::appendChild): ditto
              (WebCore::Node::setChanged): Unrelated but obvious optimization -
              stop marking ancestor as having a changed child once we already reach
              an ancestor so marked.
              (WebCore::outermostLazyAttachedAncestor): Helper function for lazyAttach.
              (WebCore::Node::lazyAttach): Implement lazy attach.
              (WebCore::Node::canLazyAttach): Virtual method - true for most nodes.
              * dom/Node.h:
              * dom/Text.cpp:
              (WebCore::Text::recalcStyle): Properly handle the case of a reattached node.
              * html/HTMLEmbedElement.h:
              (WebCore::HTMLEmbedElement::canLazyAttach): Refuse lazy attach, since
              plugins and frames do important work at rederer creation time.
              * html/HTMLFrameElementBase.h:
              (WebCore::HTMLFrameElementBase::canLazyAttach): Refuse lazy attach, since
              plugins and frames do important work at rederer creation time.
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::recalcStyle): Change order so that
              reattach works properly.
              * html/HTMLObjectElement.h:
              (WebCore::HTMLObjectElement::canLazyAttach): Refuse lazy attach, since
              plugins and frames do important work at rederer creation time.
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::insertBefore): Pass along extra param.
              (WebCore::HTMLOptGroupElement::replaceChild): ditto
              (WebCore::HTMLOptGroupElement::appendChild): ditto
              * html/HTMLOptGroupElement.h:
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::insertBefore): Pass along extra param.
              (WebCore::HTMLSelectElement::replaceChild): ditto
              (WebCore::HTMLSelectElement::appendChild): ditto
              * html/HTMLSelectElement.h:
              * svg/SVGLocatable.cpp:
              (WebCore::SVGLocatable::getBBox): Add missing updateLayout call.
              * svg/SVGTextContentElement.cpp:
              (WebCore::SVGTextContentElement::getNumberOfChars): ditto
              (WebCore::SVGTextContentElement::getComputedTextLength): ditto
              (WebCore::SVGTextContentElement::getSubStringLength): ditto
              (WebCore::SVGTextContentElement::getStartPositionOfChar): ditto
              (WebCore::SVGTextContentElement::getEndPositionOfChar): ditto
              (WebCore::SVGTextContentElement::getExtentOfChar): ditto
              (WebCore::SVGTextContentElement::getRotationOfChar): ditto
              (WebCore::SVGTextContentElement::getCharNumAtPosition): ditto
      
      LayoutTests:
      
      2008-05-29  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - Test cases for this change: "speed up DHTML using lazy style resolution and rendere creation"
      
              * http/tests/misc/acid3-expected.txt:
              * platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.checksum:
              * platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.png:
              * platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf259502
  2. 28 May, 2008 24 commits
  3. 27 May, 2008 4 commits
    • justin.garcia@apple.com's avatar
      WebCore: · 426f94be
      justin.garcia@apple.com authored
      2008-05-27  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
      
              <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
              
              It wasn't enough to break out of the header, to match other browsers we 
              also need to not preserve the typing style.
      
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
              (WebCore::InsertParagraphSeparatorCommand::doApply):
              * editing/InsertParagraphSeparatorCommand.h:
      
      LayoutTests:
      
      2008-05-27  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
              
              <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
      
              * editing/inserting/5803706-1-expected.txt: Adjust this already checked-in test to reflect the new
              expected behavior.
              * editing/inserting/5803706-1.html: 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      426f94be
    • aroben@apple.com's avatar
      Windows build fix · 927d6675
      aroben@apple.com authored
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
              Remove code that appended Cygwin's /bin directory to PATH.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
              Prepend Cygwin's /bin directory to PATH. We prepend instead of append
              so that Cygwin's utilities will win out over Win32 versions of the
              same utilities (particularly perl). We do the prepend here instead of
              in the Makefile because nmake doesn't seem to like prepending to PATH
              inside the Makefile. This also matches the way WebCoreGenerated works.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      927d6675
    • aroben@apple.com's avatar
      Roll out r34163 · 9de75275
      aroben@apple.com authored
              A better fix is on the way.
      
              * DerivedSources.make:
              * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9de75275
    • aroben@apple.com's avatar
      Windows build fix · 6c510361
      aroben@apple.com authored
              * DerivedSources.make: Don't generate the bytecode docs if
              OMIT_BYTECODE_DOCS is set to 1.
              * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Set
              OMIT_BYTECODE_DOCS for production builds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c510361