1. 03 Jan, 2008 22 commits
  2. 02 Jan, 2008 18 commits
    • mitz@apple.com's avatar
      Reviewed by Sam Weinig. · a579d193
      mitz@apple.com authored
              - fix small caps rendering
              Covered by an existing test,
              * platform/graphics/win/FontDataWin.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      JavaScriptCore: · f9c8dd56
      darin@apple.com authored
              Reviewed by Geoff.
              - fix http://bugs.webkit.org/show_bug.cgi?id=16696
                JSCRE fails fails to match Acid3 regexp
              Test: fast/regex/early-acid3-86.html
              The problem was with the cutoff point between backreferences and octal
              escape sequences. We need to determine the cutoff point by counting the
              total number of capturing brackets, which requires an extra pass through
              the expression when compiling it.
              * pcre/pcre_compile.cpp:
              (CompileData::CompileData): Added numCapturingBrackets. Removed some
              unused fields.
              (compileBranch): Use numCapturingBrackets when calling checkEscape.
              (calculateCompiledPatternLength): Use numCapturingBrackets when calling
              checkEscape, and also store the bracket count at the end of the compile.
              (jsRegExpCompile): Call calculateCompiledPatternLength twice -- once to
              count the number of brackets and then a second time to calculate the length.
              Reviewed by Geoff.
              - test for http://bugs.webkit.org/show_bug.cgi?id=16696
                JSCRE fails fails to match Acid3 regexp
              * fast/regex/early-acid3-86-expected.txt: Added.
              * fast/regex/early-acid3-86.html: Added.
              * fast/regex/resources/early-acid3-86.js: Added.
              * fast/regex/test1-expected.txt: Updated for a few cases where we now fail.
              But these "failures" represent us replacing PCRE behavior with semantics
              that are correct for JavaScript regular expressions.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      Reviewed and landed by Darin. · e420604a
      darin@apple.com authored
              * kjs/nodes.cpp:
              (KJS::DoWhileNode::execute): Added a missing return.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • antti@apple.com's avatar
      Reviewed by Oliver. · ca8c1420
      antti@apple.com authored
              Calculate video position and size within the renderer box in WebCore. This
              way the aspect ratio calculation is not needed in each MediaPlayer implementation.
              This fixes video aspect ratio on Windows.
              Covered by an existing pixel test.
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              * rendering/RenderVideo.cpp:
              * rendering/RenderVideo.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • adachan@apple.com's avatar
      Fix windows build. · c5a84448
      adachan@apple.com authored
              * WebCore.vcproj/WebCore.vcproj:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • sullivan@apple.com's avatar
      Reviewed by Dan Bernstein · a2a483d9
      sullivan@apple.com authored
              - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present
              * loader/DocumentLoader.cpp:
              in the code that replaces control characters with white space, also replace the unicode line separator
              and paragraph separator characters
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • zecke@webkit.org's avatar
      2008-01-02 Holger Hans Peter Freyther <zecke@selfish.org> · 48bc6f43
      zecke@webkit.org authored
              Rubber stamped by Alp.
              Remove GDK_MULTIHEAD_SAFE and GTK_MULTIHEAD_SAFE because they break
              the build. At least people doing a debug build on Ubuntu Hardy will see
              the breakage. I was asked to leave the flags inside the files to ease future
              * GNUmakefile.am:
              * WebKit.pri:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • zecke@webkit.org's avatar
      2008-01-02 Holger Hans Peter Freyther <zecke@selfish.org> · 067161cc
      zecke@webkit.org authored
              Rubber stamped by Darin.
              Coding Style fix. Do not use an else because we use a return in the
              if branch.
              * WebView/webkitwebview.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      - fix buffer overruns seen on buildbot · a2249aef
      darin@apple.com authored
              * platform/text/StringImpl.cpp:
              (WebCore::countCharacter): Added this.
              (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression.
              (WebCore::StringImpl::toLengthArray): Ditto.
              (WebCore::StringImpl::replace): Added assertions.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • alice.liu@apple.com's avatar
      * platform/win/Skipped: removing a fixed test · ece0edab
      alice.liu@apple.com authored
              this was fixed with r28836 but was left behind on the skipped list
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      WebCore: · eb70180f
      darin@apple.com authored
              Reviewed by Maciej.
              - fix http://bugs.webkit.org/show_bug.cgi?id=16657
                Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
              - fix http://bugs.webkit.org/show_bug.cgi?id=16659
                Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
              Tests: dom/html/level2/html/HTMLCollection07.html
              * GNUmakefile.am: Added HTMLTableRowsCollection.
              * WebCore.pro: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * WebCoreSources.bkl: Ditto.
              * dom/XMLTokenizer.cpp: Took out stray include.
              * html/HTMLCollection.cpp:
              (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use
              a separate class for that collection. Also got rid of the distinct types for custom collections
              that don't need them (use Other for both).
              * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual.
              * html/HTMLFormCollection.cpp:
              (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements
              for the HTMLCollection type.
              * html/HTMLTableElement.cpp:
              (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption.
              (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than
              keeping a pointer to it.
              (WebCore::HTMLTableElement::setCaption): Rewrote.
              (WebCore::HTMLTableElement::tHead): Ditto.
              (WebCore::HTMLTableElement::setTHead): Ditto.
              (WebCore::HTMLTableElement::tFoot): Ditto.
              (WebCore::HTMLTableElement::setTFoot): Ditto.
              (WebCore::HTMLTableElement::createTHead): Ditto.
              (WebCore::HTMLTableElement::deleteTHead): Ditto.
              (WebCore::HTMLTableElement::createTFoot): Ditto.
              (WebCore::HTMLTableElement::deleteTFoot): Ditto.
              (WebCore::HTMLTableElement::createCaption): Ditto.
              (WebCore::HTMLTableElement::deleteCaption): Ditto.
              (WebCore::HTMLTableElement::lastBody): Added.
              (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection.
              This is different from the old code mainly in how it handles rows outside any section.
              (WebCore::HTMLTableElement::deleteRow): Ditto.
              (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to
              these was a possible source of serious bugs too, including crashes with stale pointers, although I
              didn't write any test cases to prove those bugs existed.
              (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not
              just the cells of the first body. I believe this fixed rendering on some table tests. I think the code
              visits too many cells and also the use of recursion is overkill, but I didn't try to fix that.
              (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection.
              * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange
              things like DOM mutation events take things ot of the tree before they are safely referenced by
              JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded
              firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and
              Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed
              unneeded friend declaration for HTMLTableCellElement.
              * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions.
              * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the
              collection in which order.
              * html/HTMLTableRowsCollection.h: Added.
              * loader/FTPDirectoryDocument.cpp:
              (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of
              coming up with our own way of inserting a row. Simplifies things -- we can remove the code to
              create a tbody element.
              Reviewed by Maciej.
              - test for http://bugs.webkit.org/show_bug.cgi?id=16657
                Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
              - test for http://bugs.webkit.org/show_bug.cgi?id=16659
                Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
              * fast/dom/HTMLTableElement/early-acid3-65-excerpt-expected.txt: Added.
              * fast/dom/HTMLTableElement/early-acid3-65-excerpt.html: Added.
              * fast/dom/HTMLTableElement/early-acid3-66-excerpt-expected.txt: Added.
              * fast/dom/HTMLTableElement/early-acid3-66-excerpt.html: Added.
              * fast/dom/HTMLTableElement/resources/early-acid3-65-excerpt.js: Added.
              * fast/dom/HTMLTableElement/resources/early-acid3-66-excerpt.js: Added.
              * dom/html/level2/html/HTMLCollection07-expected.txt: Updated to reflect success.
              * dom/html/level2/html/HTMLCollection08-expected.txt: Updated to reflect success.
              * dom/xhtml/level2/html/HTMLCollection07-expected.txt: Updated to reflect success.
              * dom/xhtml/level2/html/HTMLCollection08-expected.txt: Updated to reflect success.
              * fast/dom/HTMLTableElement/resources/rows.js: Changed to expect HTML 5 behavior for rows outside
              table sections.
              * fast/dom/HTMLTableElement/rows-expected.txt: Updated.
              * platform/mac/tables/mozilla/bugs/bug30418-expected.checksum: Updated to reflect better results.
              * platform/mac/tables/mozilla/bugs/bug30418-expected.png: Ditto.
              * platform/mac/tables/mozilla/bugs/bug30418-expected.txt: Ditto.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      - try to fix Qt build · 8e9d4db4
      darin@apple.com authored
              * wtf/unicode/qt4/UnicodeQt4.h:
              (WTF::Unicode::foldCase): Add some missing const.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      Reviewed by Alice and Tim. · 131e00b7
      darin@apple.com authored
              - try to fix GTK and Qt builds
              * platform/win/ScrollViewWin.cpp:
              (WebCore::ScrollView::scroll): Improve logic slightly for the case of
              vertical scrolling when there's no vertical scroll bar.
              * platform/gtk/ScrollViewGtk.cpp:
              (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this
              should be factored differently.
              * platform/qt/ScrollViewQt.cpp:
              (WebCore::ScrollView::scroll): Ditto.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      Reviewed by Anders. · 2419dbe1
      darin@apple.com authored
              - http://bugs.webkit.org/show_bug.cgi?id=16712
                change StringImpl to take and return PassRefPtr instead of raw pointers
              Also eliminated use of const StringImpl. Since StringImpl is immutable there
              is no distinction between a const and non-const one at the moment.
              * WebCore.base.exp: Updated.
              * css/CSSHelper.cpp:
              (WebCore::parseURL): Make String directly, not by making a StringImpl.
              * dom/Attr.cpp:
              (WebCore::Attr::createTextChild): Convert AtomicString to String with domString,
              not via StringImpl.
              (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String
              to a function that takes a String.
              * dom/CDATASection.cpp: Removed unused constructor.
              (WebCore::CDATASection::cloneNode): Added a now-needed .get().
              (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr.
              * dom/CDATASection.h:
              * dom/CharacterData.cpp:
              (WebCore::CharacterData::CharacterData): Removed unneeded initialization and
              ref() now that the string is a RefPtr. Also updated to not call "new StringImpl".
              (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's
              a RefPtr.
              (WebCore::CharacterData::setData): More of that.
              (WebCore::CharacterData::substringData): Ditto.
              (WebCore::CharacterData::appendData): Ditto.
              (WebCore::CharacterData::insertData): Ditto.
              (WebCore::CharacterData::deleteData): Ditto.
              (WebCore::CharacterData::replaceData): Ditto.
              (WebCore::CharacterData::nodeValue): Ditto.
              (WebCore::CharacterData::dispatchModifiedEvent): Ditto.
              (WebCore::CharacterData::dump): Ditto.
              * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String
              instead, but since String adds extra branches to handle 0, I figured it was
              more conservative to just use RefPtr. Later it would be good to figure out
              which is preferred style and be more consistent. Maybe we'll phase out
              StringImpl, or maybe we'll go the other way and use it more since it can be
              more efficient.
              * dom/DOMImplementation.cpp:
              (WebCore::addString): Changed set to use String rather than StringImpl.
              (WebCore::isSVG10Feature): Ditto.
              (WebCore::isSVG11Feature): Ditto.
              (WebCore::DOMImplementation::createDocument): Replaced custom code to
              find a colon with a call to String::find.
              * dom/Range.cpp:
              (WebCore::Range::insertNode): Updated since the result of splitText is now
              a PassRefPtr.
              * dom/Text.cpp:
              (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the
              result of this function be a PassRefPtr.
              (WebCore::Text::createRenderer): Ditto.
              (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr.
              * dom/Text.h:
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::nodeName): Use String::upper.
              * html/HTMLInputElement.cpp:
              (WebCore::numGraphemeClusters): Remove now-unneeded const.
              (WebCore::numCharactersInGraphemeClusters): Ditto.
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::processToken): Updated for function name change.
              * platform/text/AtomicString.cpp:
              (WebCore::CStringTranslator::translate): Updated since there is no longer
              a constructor that takes a string.
              * platform/text/PlatformString.h: Added new constructors that take
              PassRefPtr and RefPtr. Removed misleading comment.
              * platform/text/String.cpp:
              (WebCore::String::String): Changed to use StringImpl::create, which handles
              the empty string automatically.
              (WebCore::String::append): Ditto.
              (WebCore::String::charactersWithNullTermination): Similar.
              (WebCore::String::format): Ditto.
              * platform/text/StringHash.h: Took out unneeded const.
              * platform/text/StringImpl.cpp:
              (WebCore::deleteUCharVector): Changed to take a const pointer since the
              buffers are now const UChar buffers.
              (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the
              separate init functions. The constructors are now private and used only in
              the create functions and one or two other places.
              (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const.
              (WebCore::StringImpl::substring): Ditto. Also changed return value to be a
              (WebCore::StringImpl::characterStartingAt): Ditto.
              (WebCore::StringImpl::toLength): Ditto.
              (WebCore::StringImpl::toCoordsArray): Ditto.
              (WebCore::StringImpl::toLengthArray): Ditto.
              (WebCore::StringImpl::isLower): Ditto.
              (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we
              don't have to use new directly here. Makes empty string handling more consistent.
              (WebCore::StringImpl::upper): Ditto.
              (WebCore::StringImpl::secure): Ditto.
              (WebCore::StringImpl::foldCase): Ditto.
              (WebCore::StringImpl::stripWhiteSpace): Ditto.
              (WebCore::StringImpl::simplifyWhiteSpace): Ditto.
              (WebCore::StringImpl::capitalize): Ditto.
              (WebCore::StringImpl::toInt): Removed now-meaningless const.
              (WebCore::StringImpl::toInt64): Ditto.
              (WebCore::StringImpl::toUInt64): Ditto.
              (WebCore::StringImpl::toDouble): Ditto.
              (WebCore::StringImpl::toFloat): Ditto.
              (WebCore::StringImpl::find): Ditto.
              (WebCore::StringImpl::reverseFind): Ditto.
              (WebCore::StringImpl::endsWith): Ditto.
              (WebCore::StringImpl::replace): Ditto.
              (WebCore::equal): Ditto.
              (WebCore::equalIgnoringCase): Ditto.
              (WebCore::StringImpl::ascii): Ditto.
              (WebCore::StringImpl::defaultWritingDirection): Ditto.
              (WebCore::StringImpl::createStrippingNullCharacters): Ditto.
              (WebCore::StringImpl::adopt): Added special case so this uses the shared
              empty string like other functions. Also optimized the common case where the
              vector happens to already have the right size so we don't do a fastRealloc
              at all in those cases.
              (WebCore::StringImpl::create): Added. These are now the public functions for
              creating new StringImpl objects. They all implement the shared empty string.
              * platform/text/StringImpl.h:
              * platform/text/cf/StringCF.cpp:
              (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
              * platform/text/cf/StringImplCF.cpp:
              (WebCore::StringImpl::createCFString): Removed now-obsolete const.
              * platform/text/mac/StringImplMac.mm:
              (WebCore::StringImpl::operator NSString *): Ditto.
              * platform/text/mac/StringMac.mm:
              (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
              * platform/text/qt/StringQt.cpp:
              (WebCore::String::String): Ditto.
              * platform/text/wx/StringWx.cpp:
              (WebCore::String::String): Ditto.
              * rendering/RenderBR.cpp:
              (WebCore::RenderBR::RenderBR): Ditto.
              * rendering/RenderSVGInlineText.cpp:
              (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr.
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderText.cpp:
              (WebCore::charactersAreAllASCII): Removed now-unneeded const.
              * rendering/RenderTextFragment.cpp:
              (WebCore::RenderTextFragment::originalText): Use RefPtr.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • timothy@apple.com's avatar
      Reviewed by Oliver Hunt. · d3d57216
      timothy@apple.com authored
              <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed
              Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the
              internal element lookup tables. The represented DOM node object still holds the identifier
              it was assigned, and a later call to findTreeElement will use that original identifier
              against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup.
              * page/inspector/treeoutline.js:
              (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier,
              but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup
              instead of an early return.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • alice.liu@apple.com's avatar
      JavaScriptCore: · c2a7fad2
      alice.liu@apple.com authored
              Reviewed by Sam Weinig.
              need to export ASCIICType.h for use in DRT
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * wtf/ASCIICType.h:
              Reviewed by Sam Weinig.
              fixing assertion hit with editing/selection/move-begin-end.html
              * DumpRenderTree/ForwardingHeaders/wtf/ASCIICType.h: Added.
              * DumpRenderTree/win/DumpRenderTree.vcproj:
              * DumpRenderTree/win/EventSender.cpp:
              using isupper will cause an assertion for inputs outside of ascii range. use isASCIIUpper instead.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin@apple.com's avatar
      * Scripts/do-webcore-rename: Some more name change plans. · 7bc79c85
      darin@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • alice.liu@apple.com's avatar
      WebCore: · fb29c7a3
      alice.liu@apple.com authored
              Reviewed by Maciej.
              Fixed <rdar://5283861> (problems scrolling in gmail message content area)
              * platform/ScrollView.h:
              * platform/win/ScrollViewWin.cpp:
               Changed return value to bool to reflect success of scroll attempt
              Reviewed by Maciej.
              Fixed <rdar://5283861> (problems scrolling in gmail message content area)
              * WebView.cpp:
              bubble scrolling from a key event
              Reviewed by Maciej.
              Added test for <rdar://5283861> (problems scrolling in gmail message content area)
              * fast/frames/iframe-scroll-page-up-down-expected.txt: Added.
              * fast/frames/iframe-scroll-page-up-down.html: Added.
              * fast/frames/resources/iframe-scroll-page-up-down-1.html: Added.
              * fast/frames/resources/iframe-scroll-page-up-down-2.html: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29094 268f45cc-cd09-0410-ab3c-d52691b4dbfc