1. 19 Mar, 2008 6 commits
    • oliver@apple.com's avatar
      Bug 17954: Canvas arc() with radius of 0 throws exception · 72f9333e
      oliver@apple.com authored
      http://bugs.webkit.org/show_bug.cgi?id=17954
      
      Reviewed by Antti
      
      Simple fix -- use >= instead of > when validating the radius.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72f9333e
    • justin.garcia@apple.com's avatar
      WebCore: · 14613b12
      justin.garcia@apple.com authored
      2008-03-19  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
      
              <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
              
              The position inside an empty inline-block was a candidate, but upstream and downstream
              would move across it without stopping.  This confused canonicalPosition, since no more
              than two candidates should have the same upstream/downstream (be visually equivalent).
              
              Code was added intentionally in isCandidate to make VisiblePositions inside empty 
              inline-blocks, so we need to make upstream/downstream understand that.
      
              * dom/Position.cpp:
              (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only
              stop when entering or leaving a non-inline element (referred to as a "block").  We must also 
              avoid entering or leaving an empty inline-block.  This will allow a VisiblePosition there, to 
              match up with what the code in isCandidate intended.
              (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this.
              (WebCore::Position::upstream): Added better comments, called the new functions.
              (WebCore::Position::downstream): Ditto.
              * dom/Position.h:
      
      LayoutTests:
      
      2008-03-19  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver.
              
              <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
      
              * editing/pasteboard/4989774.html: Updated to wait for the images to load before trying to copy it.
              * editing/selection/5794920-1-expected.txt: Added.
              * editing/selection/5794920-1.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14613b12
    • mitz@apple.com's avatar
      WebCore: · 070a7def
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              - fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
      
              Test: fast/repaint/line-flow-with-floats-10.html
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion.
              If the float's top margin has changed and it has not been repositioned
              yet, we do not have its new y position.
      
      LayoutTests:
      
              Reviewed by Sam Weinig.
      
              - test for assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
      
              * fast/repaint/line-flow-with-floats-10.html: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      070a7def
    • mitz@apple.com's avatar
      WebCore: · 142b55a3
      mitz@apple.com authored
              Reviewed by John Sullivan.
      
              - fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
      
              Test: fast/dynamic/subtree-parent-static-y.html
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling
              this method on the parent if the parent is the new layout subtree root,
              which would result in marking all the way to the top, when it should
              actually do nothing.
      
      LayoutTests:
      
              Reviewed by John Sullivan.
      
              - test for <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
      
              * fast/dynamic/subtree-parent-static-y.html: Added.
              * platform/mac/fast/dynamic/subtree-parent-static-y-expected.checksum: Added.
              * platform/mac/fast/dynamic/subtree-parent-static-y-expected.png: Added.
              * platform/mac/fast/dynamic/subtree-parent-static-y-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      142b55a3
    • mrowe@apple.com's avatar
      2008-03-19 Mark Rowe <mrowe@apple.com> · 23332b1b
      mrowe@apple.com authored
              Reviewed by Oliver Hunt.
      
              Fix http://bugs.webkit.org/show_bug.cgi?id=17939
              Bug 17939: Crash decompiling "const a = 1, b;"
      
              * kjs/nodes2string.cpp:
              (KJS::ConstDeclNode::streamTo): Null-check the correct variable.
      
      2008-03-19  Mark Rowe  <mrowe@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Test for http://bugs.webkit.org/show_bug.cgi?id=17939
              Bug 17939: Crash decompiling "const a = 1, b;"
      
              * fast/js/function-toString-parentheses-expected.txt:
              * fast/js/resources/function-toString-parentheses.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23332b1b
    • oliver@apple.com's avatar
      Bug 17929: Incorrect decompilation with |const|, comma · 823096fa
      oliver@apple.com authored
      http://bugs.webkit.org/show_bug.cgi?id=17929
      
      Reviewed by Mark Rowe
      
      There were actually two bugs here. First we weren't correctly handling const
      nodes with multiple declarations. The second issue was caused by us not
      giving the correct precedence to the initialisers.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      823096fa
  2. 18 Mar, 2008 4 commits
    • mrowe@apple.com's avatar
      Fix http://bugs.webkit.org/show_bug.cgi?id=17925 and http://bugs.webkit.org/show_bug.cgi?id=17927. · a9d96b81
      mrowe@apple.com authored
      - Bug 17925: Crash in KJS::JSObject::put after setting this.__proto__
      - Bug 17927: Hang after attempting to create circular __proto__
      
      * kjs/object.cpp:
      (KJS::JSObject::put): Silently ignore attempts to set __proto__ to a non-object, non-null value.
      Return after setting the exception when an attempt to set a cyclic __proto__ is detected so that
      the cyclic value is not set.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9d96b81
    • weinig@apple.com's avatar
      WebCore: · 75f4dcc2
      weinig@apple.com authored
      2008-03-18  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
              REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
              <rdar://problem/5725058>
      
              Tests: fast/dom/NodeList/5725058-crash-scenario-1.html
                     fast/dom/NodeList/5725058-crash-scenario-2.html
                     fast/dom/NodeList/5725058-crash-scenario-3.html
      
              * dom/ChildNodeList.cpp: 
              (WebCore::ChildNodeList::ChildNodeList):
              * dom/ChildNodeList.h:
              Remove rootNodeChildrenChanged() method and fix the constructor to not 
              pass in a needsNotifications argument to DynamicNodeList, as it no longer
              takes one.
      
              * dom/ClassNodeList.cpp:
              (WebCore::ClassNodeList::ClassNodeList):
              Don't pass the needsNotifications argument to DynamicNodeList.
      
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::childrenChanged):
              Rename call to hasNodeLists() to hasNodeListCaches().
      
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::~Document): Zero out the m_document variable to signify
              to destructors down the destruction chain that this is a Document type node
              being destructed, and thus, accessing document() is prohibited.
              * dom/Document.h:
              (WebCore::Document::addNodeListCache): Renamed from addNodeList.
              (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion.
              (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches.
              Rename m_numNodeLists to m_numNodeListCaches.
      
              * dom/DynamicNodeList.cpp:
              (WebCore::DynamicNodeList::DynamicNodeList):
              (WebCore::DynamicNodeList::~DynamicNodeList):
              (WebCore::DynamicNodeList::invalidateCache):
              (WebCore::DynamicNodeList::Caches::Caches):
              * dom/DynamicNodeList.h:
              (WebCore::DynamicNodeList::hasOwnCaches):
              Remove the needsNotifications concept from DynamicNodeList, instead, manually
              invalidate the cache for lists that own their own cache.
      
              * dom/NameNodeList.cpp:
              (WebCore::NameNodeList::NameNodeList):
              * dom/NameNodeList.h:
              Remove rootNodeAttributeChanged() method and fix the constructor to not 
              pass in a needsNotifications argument to DynamicNodeList, as it no longer
              takes one.
      
              * dom/Node.cpp:
              (WebCore::Node::~Node): Decrement the document's nodeListCache count
              if we had a NodeListsNodeData cache and this is not the Document being
              destructor, as tagged by a null m_document.
              (WebCore::Node::childNodes): Increment the document's nodeListCache count 
              if we need create the NodeListsNodeData.
              (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count 
              if we need create the NodeListsNodeData.  Change to invalidate all the caches, instead 
              of just the ChildNodeList, if document has had no NodeListCaches.
              (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches
              set if it is owned by the NodeList and clear the m_nodeLists if it is empty.
              (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to 
              NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty.
              (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to 
              NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty.
              (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup.
              (WebCore::Node::getElementsByName): Increment the document's nodeListCache count 
              if we need create the NodeListsNodeData.
              (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count 
              if we need create the NodeListsNodeData.
      
              (WebCore::NodeListsNodeData::invalidateCaches): Added.
              (WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
              (WebCore::NodeListsNodeData::isEmpty): Added.
      
              * dom/TagNodeList.cpp:
              (WebCore::TagNodeList::TagNodeList):
              Don't pass the needsNotifications argument to DynamicNodeList.
      
      LayoutTests:
      
      2008-03-18  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Tests for http://bugs.webkit.org/show_bug.cgi?id=17057
              REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
              <rdar://problem/5725058>
      
              * fast/dom/NodeList/5725058-crash-scenario-1-expected.txt: Added.
              * fast/dom/NodeList/5725058-crash-scenario-1.html: Added.
              * fast/dom/NodeList/5725058-crash-scenario-2-expected.txt: Added.
              * fast/dom/NodeList/5725058-crash-scenario-2.html: Added.
              * fast/dom/NodeList/5725058-crash-scenario-3-expected.txt: Added.
              * fast/dom/NodeList/5725058-crash-scenario-3.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75f4dcc2
    • weinig@apple.com's avatar
      2008-03-18 Sam Weinig <sam@webkit.org> · a8caca23
      weinig@apple.com authored
              Reviewed by Darin Adler.
      
              Make domListEnumeration.html test not depend on the order of property enumeration
              by sorting the result array.
      
              * fast/dom/domListEnumeration-expected.txt:
              * fast/dom/resources/domListEnumeration.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8caca23
    • mitz@apple.com's avatar
      WebCore: · 292b4827
      mitz@apple.com authored
      2008-03-18  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Adele Peterson.
      
              - fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
      
              Test: fast/dynamic/floating-to-positioned.html
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::setStyle): Added code to remove a float from
              object lists if its position property changes to something other than
              static, since then it ceases to be a float.
      
      LayoutTests:
      
      2008-03-18  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Adele Peterson.
      
              - test for <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
      
              * fast/dynamic/floating-to-positioned.html: Added.
              * platform/mac/fast/dynamic/floating-to-positioned-expected.checksum: Added.
              * platform/mac/fast/dynamic/floating-to-positioned-expected.png: Added.
              * platform/mac/fast/dynamic/floating-to-positioned-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      292b4827
  3. 17 Mar, 2008 6 commits
    • mitz@apple.com's avatar
      WebCore: · 40547b31
      mitz@apple.com authored
      2008-03-17  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - allow incremental relayout of blocks that contain floats
      
              Tests: fast/repaint/line-flow-with-floats-[1-9].html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
              of the function body out of an if statement which was replaced with an
              early return.
              (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
              of the function body out of an if statement and moving the ASSERT, which
              is a crash in release builds, to the beginning. Made this function set
              the m_isDescendant flag of floating objects it creates.
              (WebCore::RenderBlock::removeFloatingObject): Added a call to
              markLinesDirtyInVerticalRange() when removing a float from a block with
              inline children.
              (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
              lines in the given range as dirty.
              (WebCore::RenderBlock::clearFloats): Added code to detect changes to
              the geometry of floats intruding into this block from other blocks and
              mark any lines whose available width has changed as a result as dirty.
      
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
              to cache a float with its position and size.
              (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
              m_isDescendant flag, used by clearFloats() to distinguish between floats
              entering the block from outside and floats internal to the block.
      
              * rendering/RootInlineBox.h:
              (WebCore::RootInlineBox::floats): Added.
              (WebCore::RootInlineBox::floatsPtr): Added.
              (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
              hold the floats originating on the line.
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren): Made the existence of
              floats not force a full layout. Changed to cache the geometry of floats
              in the block and detect changes to it. If a float's size or position
              changes, all lines from that point on are treated as dirty. An exception
              is a change in the dimensions of a float on an otherwise-clean line,
              which only dirties lines potentially affected by the change (see
              determineStartPosition()). Added code to update each RootInlineBox's
              set of floats as lines are laid out. Added code to shift floats
              belonging to clean lines in the end along with the lines.
              (WebCore::RenderBlock::determineStartPosition): Made this function look
              for changes to floats' dimensions and mark lines as dirty accordingly.
              Also look for new floats and if found, cause a full layout. Added code
              to re-add floats belonging to clean lines.
              (WebCore::RenderBlock::matchedEndLine): Added checking that the clean
              lines in the end can be shifted vertically as needed, i.e. that the
              available width along the way is uniform.
      
      LayoutTests:
      
      2008-03-17  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - test incremental relayout of blocks that contain floats
      
              * fast/repaint/line-flow-with-floats-1.html: Added.
              * fast/repaint/line-flow-with-floats-2.html: Added.
              * fast/repaint/line-flow-with-floats-3.html: Added.
              * fast/repaint/line-flow-with-floats-4.html: Added.
              * fast/repaint/line-flow-with-floats-5.html: Added.
              * fast/repaint/line-flow-with-floats-6.html: Added.
              * fast/repaint/line-flow-with-floats-7.html: Added.
              * fast/repaint/line-flow-with-floats-8.html: Added.
              * fast/repaint/line-flow-with-floats-9.html: Added.
              * fast/repaint/resources/line-flow-with-floats.html: Added.
              * fast/repaint/resources/line-flow-with-floats.js: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40547b31
    • eric@webkit.org's avatar
      Reviewed by darin. · fbf6eb55
      eric@webkit.org authored
              Fix _NPN_IntFromIdentifier (and export the symbol for use!)
      
              Test: plugins/netscape-identifier-conversion.html
      
              * WebCore.NPAPI.exp:
              * bridge/npruntime.cpp:
              (_NPN_IntFromIdentifier):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fbf6eb55
    • weinig@apple.com's avatar
      WebCore: · 54981666
      weinig@apple.com authored
      2008-03-17  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Dan Bernstein.
      
              Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)
      
              * page/DOMWindow.idl: 
      
      LayoutTests:
      
      2008-03-17  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Dan Bernstein.
      
              Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)
      
              * fast/dom/Window/window-properties-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54981666
    • darin@apple.com's avatar
      WebCore: · 706da539
      darin@apple.com authored
      2008-03-17  Robert Blaut  <webkit@blaut.biz>
      
              Reviewed by Darin.
      
              Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
              Set default margin-bottom for form element in quirk mode
              and be compatible with Gecko.
      
              Tests: fast/css/margin-bottom-form-element-quirk.html
                     fast/css/margin-bottom-form-element-strict.html
      
              * css/html4.css:
              * css/quirks.css:
      
      LayoutTests:
      
      2008-03-17  Robert Blaut  <webkit@blaut.biz>
      
              Reviewed by Darin.
      
              Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
              Set default margin-bottom for form element in quirk mode
              and be compatible with Gecko.
      
              * fast/css/margin-bottom-form-element-quirk.html: Added.
              * fast/css/margin-bottom-form-element-strict.html: Added.
              * fast/frames/viewsource-empty-attribute-value-expected.txt:
              * platform/mac/fast/block/margin-collapse/103-expected.checksum:
              * platform/mac/fast/block/margin-collapse/103-expected.png:
              * platform/mac/fast/block/margin-collapse/103-expected.txt:
              * platform/mac/fast/css/margin-bottom-form-element-quirk-expected.checksum: Added.
              * platform/mac/fast/css/margin-bottom-form-element-quirk-expected.png: Added.
              * platform/mac/fast/css/margin-bottom-form-element-quirk-expected.txt: Added.
              * platform/mac/fast/css/margin-bottom-form-element-strict-expected.checksum: Added.
              * platform/mac/fast/css/margin-bottom-form-element-strict-expected.png: Added.
              * platform/mac/fast/css/margin-bottom-form-element-strict-expected.txt: Added.
              * platform/mac/tables/mozilla/bugs/bug44505-expected.checksum:
              * platform/mac/tables/mozilla/bugs/bug44505-expected.png:
              * platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug51727-expected.checksum:
              * platform/mac/tables/mozilla/bugs/bug51727-expected.png:
              * platform/mac/tables/mozilla/bugs/bug51727-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug52505-expected.checksum:
              * platform/mac/tables/mozilla/bugs/bug52505-expected.png:
              * platform/mac/tables/mozilla/bugs/bug52505-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug52506-expected.checksum:
              * platform/mac/tables/mozilla/bugs/bug52506-expected.png:
              * platform/mac/tables/mozilla/bugs/bug52506-expected.txt:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.checksum:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.png:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.checksum:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.png:
              * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
              * platform/qt/fast/block/margin-collapse/103-expected.txt: Removed.
              * platform/qt/tables/mozilla/bugs/bug44505-expected.txt: Removed.
              * platform/qt/tables/mozilla/bugs/bug51727-expected.txt: Removed.
              * platform/qt/tables/mozilla/bugs/bug52505-expected.txt: Removed.
              * platform/qt/tables/mozilla/bugs/bug52506-expected.txt: Removed.
              * platform/qt/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt: Removed.
              * platform/qt/tables/mozilla_expected_failures/bugs/bug56024-expected.txt: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      706da539
    • darin@apple.com's avatar
      WebCore: · ebecba84
      darin@apple.com authored
      2008-03-17  Yuzhu Shen  <yuzhu.shen@gmail.com>
      
              Reviewed by Darin.
      
              Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760
              It is necessary to load the image even when src="".
      
              Test: fast/images/load-img-with-empty-src.html
      
              * html/HTMLImageLoader.cpp:
              (WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty.
      
      LayoutTests:
      
      2008-03-17  Yuzhu Shen  <yuzhu.shen@gmail.com>
      
              Reviewed by Darin.
      
              Bug: http://bugs.webkit.org/show_bug.cgi?id=17760
              Test whether <img> tries to load image with empty src attribute.
      
              * fast/images/load-img-with-empty-src-expected.txt: Added.
              * fast/images/load-img-with-empty-src.html: Added.
              * fast/images/resources/test-load.jpg: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebecba84
    • aroben@apple.com's avatar
      Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash · 1638ef9a
      aroben@apple.com authored
      WebCore:
      
              Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
      
              <http://bugs.webkit.org/show_bug.cgi?id=17876>
      
              Reviewed by John.
      
              Test: fast/dom/remove-named-attribute-crash.html
      
              * dom/NamedAttrMap.cpp:
              (WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're
              going to remove from the m_attributes Vector in a RefPtr so it doesn't
              get deleted when it is removed from the Vector.
      
      LayoutTests:
      
              Test for Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
      
              <http://bugs.webkit.org/show_bug.cgi?id=17876>
      
              Reviewed by John.
      
              * fast/dom/remove-named-attribute-crash-expected.txt: Added.
              * fast/dom/remove-named-attribute-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1638ef9a
  4. 16 Mar, 2008 6 commits
    • mjs@apple.com's avatar
      WebCore: · 640c9504
      mjs@apple.com authored
      2008-03-16  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Darin.
      
              - fixed "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"
              http://bugs.webkit.org/show_bug.cgi?id=17509
              
              This gets us to 92/100
      
              * dom/Range.cpp:
              (WebCore::Range::surroundContents): Check for
              HIERARCHY_REQUEST_ERR before BAD_BOUNDARYPOINTS_ERR, since Acid3
              expects exceptional conditions to be tested in the order that the
              spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If
              the start point of the range is in a comment node, the node that
              would be the parent of a partial replacement is actually the
              comment node's parent (since comment nodes have character
              indices), so we should do the HIERARCHY_REQUEST_ERR check based on
              the parent of the comment node, as for text nodes, even though it
              will fail later with a different exception because it is not
              allowed to surround a partially selected non-text node.
      
      LayoutTests:
      
      2008-03-16  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Darin.
      
              - test for "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"
              http://bugs.webkit.org/show_bug.cgi?id=17509
              
              * fast/dom/Range/acid3-surround-contents-expected.txt: Added.
              * fast/dom/Range/acid3-surround-contents.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      640c9504
    • darin@apple.com's avatar
      WebCore: · 81ff5aa6
      darin@apple.com authored
      2008-03-16  Marvin Decker  <marv.decker@gmail.com>
      
              Reviewed by Darin.
      
              Fix bug 15119: URL query characters that are unencodable in the
              request's character set should be converted to XML entities with
              non-alphanumeric characters escaped.
      
              Test: http/tests/uri/escaped-entity.html
      
              * html/FormDataList.cpp:
              (WebCore::FormDataList::appendString):
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::formData):
              * platform/KURL.cpp:
              (WebCore::encodeRelativeString):
              * platform/text/String.cpp:
              (WebCore::String::latin1):
              (WebCore::String::utf8):
              * platform/text/TextCodec.cpp:
              (WebCore::TextCodec::unencodableCharReplacement):
              * platform/text/TextCodec.h:
              (WebCore::):
              * platform/text/TextCodecICU.cpp:
              (WebCore::urlEscapedEntityCallback):
              (WebCore::gbkUrlEscapedEntityCallack):
              (WebCore::TextCodecICU::encode):
              * platform/text/TextCodecICU.h:
              (WebCore::TextCodecICU::setNeedsGBKFallbacks):
              * platform/text/TextCodecLatin1.cpp:
              (WebCore::encodeComplexWindowsLatin1):
              (WebCore::TextCodecLatin1::encode):
              * platform/text/TextCodecLatin1.h:
              * platform/text/TextCodecUTF16.cpp:
              (WebCore::TextCodecUTF16::encode):
              * platform/text/TextCodecUTF16.h:
              * platform/text/TextCodecUserDefined.cpp:
              (WebCore::encodeComplexUserDefined):
              (WebCore::TextCodecUserDefined::encode):
              * platform/text/TextCodecUserDefined.h:
              * platform/text/TextEncoding.cpp:
              (WebCore::TextEncoding::encode):
              * platform/text/TextEncoding.h:
              * platform/text/mac/TextCodecMac.cpp:
              (WebCore::TextCodecMac::encode):
              * platform/text/mac/TextCodecMac.h:
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::send):
      
      LayoutTests:
      
      2008-03-16  Marvin Decker  <marv.decker@gmail.com>
      
              Reviewed by Darin.
      
              Fix bug 15119, unencodable characters in URLs should be entity-escaped.
      
              * http/tests/uri/escaped-entity-expected.txt: Added.
              * http/tests/uri/escaped-entity.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81ff5aa6
    • darin@apple.com's avatar
      WebCore: · c8611d38
      darin@apple.com authored
      2008-03-16  Darin Adler  <darin@apple.com>
      
              Reviewed by Mark Rowe.
      
              - http://bugs.webkit.org/show_bug.cgi?id=17881
                a little cleanup for HTMLTextAreaElement
      
              Tests: fast/forms/textarea-default-value-leading-newline.html
                     fast/forms/textarea-linewrap-dynamic.html
      
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/
              (WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return
              and check for < 0 rather than -1 specifically.
              (WebCore::HTMLTextAreaElement::selectionEnd): Ditto.
              (WebCore::HTMLTextAreaElement::setSelectionStart): Early return.
              (WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto.
              (WebCore::HTMLTextAreaElement::select): Ditto.
              (WebCore::HTMLTextAreaElement::setSelectionRange): Ditto.
              (WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing
              to treat unknown values as meaning "default" rather than "leave value as-is".
              Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed.
              (WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument.
              (WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes.
              (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit
              class name in isFocusable call.
              (WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto.
              (WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting.
              (WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto.
              (WebCore::HTMLTextAreaElement::updateValue): Early return.
              (WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to
              eliminate on small refcount churn.
              (WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant
              string length checks, since String already checks all indexing and returns 0.
              (WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize
              line endings and add a leading line ending to fix cases where the first
              character is a newline.
              (WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg.
              (WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid
              refcount churn.
              (WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead
              of -1 specifically.
      
              * html/HTMLTextAreaElement.h: Replaced wrap function with more-specific
              shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum
              provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to
              m_cachedSelectionStart and m_cachedSelectionEnd.
      
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::createInnerTextStyle): Updated for change to
              HTMLTextAreaElement wrap function.
      
      LayoutTests:
      
      2008-03-16  Darin Adler  <darin@apple.com>
      
              Reviewed by Mark Rowe.
      
              - test for bug fixes in http://bugs.webkit.org/show_bug.cgi?id=17881
                a little cleanup for HTMLTextAreaElement
      
              * fast/forms/textarea-default-value-leading-newline-expected.txt: Added.
              * fast/forms/textarea-default-value-leading-newline.html: Copied from fast/forms/textarea-crlf.html.
      
              * fast/forms/textarea-hard-linewrap-expected.txt: Updated.
              * fast/forms/textarea-hard-linewrap.html: Cleaned up a bit.
      
              * fast/forms/textarea-linewrap-dynamic-expected.txt: Added.
              * fast/forms/textarea-linewrap-dynamic.html: Copied from fast/forms/textarea-hard-linewrap.html.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8611d38
    • antti@apple.com's avatar
      WebCore: · 226fbdf7
      antti@apple.com authored
              Reviewed by Darin.
              
              Fix http://bugs.webkit.org/show_bug.cgi?id=17862
              REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com
              
              This was a memory smasher introduced by the preloading patch. 
              If a script resource was marked uncacheable, early deletion of the 
              Request object would cause deletion of the CachedResource too if
              it was referred more than once in a single document.
      
              Test: http/tests/misc/uncacheable-script-repeated.html
      
              * loader/loader.cpp:
              (WebCore::Loader::Host::servePendingRequests):
              (WebCore::Loader::Host::didFinishLoading):
      
      LayoutTests:
      
              Reviewed by Darin.
              
              Test for http://bugs.webkit.org/show_bug.cgi?id=17862
              REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com
      
              * http/tests/misc/resources/uncacheable-script.cgi: Added.
              * http/tests/misc/uncacheable-script-repeated-expected.txt: Added.
              * http/tests/misc/uncacheable-script-repeated.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      226fbdf7
    • darin@apple.com's avatar
      WebCore: · feb0d89a
      darin@apple.com authored
      2008-03-16  Yuzhu Shen  <yuzhu.shen@gmail.com>
      
              Reviewed by Darin.
      
              Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714
              <img href="#"> should go to top of the page.
      
              Test: fast/html/empty-fragment-id-goto-top.html
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::gotoAnchor):
      
      LayoutTests:
      
      2008-03-16  Yuzhu Shen  <yuzhu.shen@gmail.com>
      
              Reviewed by Darin.
      
              Bug: http://bugs.webkit.org/show_bug.cgi?id=17714
              Test whether clicking <img href="#"> goes to top of the page.
      
              * fast/html/empty-fragment-id-goto-top-expected.txt: Added.
              * fast/html/empty-fragment-id-goto-top.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      feb0d89a
    • darin@apple.com's avatar
      WebCore: · 85d638c1
      darin@apple.com authored
      2008-03-16  Darin Adler  <darin@apple.com>
      
              Reviewed by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=14941
                <rdar://problem/5404093> textarea value from JavaScript includes extra newline
      
              Test: fast/forms/textarea-trailing-newline.html
      
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::finishText): Added code to strip the trailing
              newline. It's possible there are some obscure cases where this is not wanted,
              but I couldn't find any. If someone finds a case where this is bad, we can
              make the code conditional.
      
      LayoutTests:
      
      2008-03-16  Darin Adler  <darin@apple.com>
      
              Reviewed by Mitz.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=14941
                <rdar://problem/5404093> textarea value from JavaScript includes extra newline
      
              * fast/forms/textarea-paste-newline.html: Updated test to expect correct behavior instead
              of expecting the bug.
      
              * fast/forms/textarea-trailing-newline-expected.txt: Added.
              * fast/forms/textarea-trailing-newline.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85d638c1
  5. 15 Mar, 2008 2 commits
    • darin@apple.com's avatar
      WebCore: · f28fa1b0
      darin@apple.com authored
              Reviewed by Sam.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=11997
                Ranges are not fixed after mutation (affects Acid3 test 13)
      
              Test: fast/dom/Range/mutation.html
      
              * WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h,
              and NodeWithIndexBefore.h.
      
              * dom/CharacterData.cpp:
              (WebCore::CharacterData::setData): Replaced call to Document::removeMarkers
              with call to Document::textRemoved.
              (WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers
              with call to Document::textInserted.
              (WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers
              and Document::shiftMarkers with call to Document::textRemoved.
              (WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers
              and Document::shiftMarkers with call to Document::textRemoved and
              Document::textInserted.
              (WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit.
      
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::childrenChanged): Added a call to
              Document::nodeChildrenChanged when the nmber of children was changed (and not
              by the parser).
              (WebCore::dispatchChildRemovalEvents): Updated for name change.
      
              * dom/Document.cpp:
              (WebCore::Document::~Document): Assert that all ranges are gone.
              (WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on
              all ranges.
              (WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
              Added code to call nodeWillBeRemoved on all ranges.
              (WebCore::Document::textInserted): Added. Calls textInserted on all ranges and
              also calls shiftMarkers.
              (WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also
              calls removeMarkers and shiftMarkers.
              (WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges.
              (WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges.
              (WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges
              for this document.
              (WebCore::Document::detachRange): Added. Removes range from the HashSet.
              * dom/Document.h: Added the new functions and the data member.
      
              * dom/Element.cpp:
              (WebCore::Element::normalizeAttributes): Added. Contains the part of the
              normalize function that's specific to Element. Better encapsulation to have it
              here rather than in Node::normalize.
              * dom/Element.h: Added the new function.
      
              * dom/Node.cpp:
              (WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added
              a call to textNodesMerged after each pair of nodes is merged but before the
              second node is removed.
              (WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by
              normalize, but also useful elsewhere.
              * dom/Node.h: Added the new function.
      
              * dom/NodeIterator.cpp:
              (WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
              * dom/NodeIterator.h: Ditto.
      
              * dom/ProcessingInstruction.cpp:
              (WebCore::ProcessingInstruction::setData): Call textRemoved.
      
              * dom/Range.cpp:
              (WebCore::NodeWithIndex::index): Added. Computes and stores index.
              (WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index.
              (WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index.
              (WebCore::Range::Range): Call attachRange.
              (WebCore::Range::~Range): Call detachRange unless the range is already detached.
              (WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR.
              It's no longer possible to create a range where the two containers are non-zero
              and have no common ancestor.
              (WebCore::Range::isPointInRange): Rewrote expression to be more readable.
              (WebCore::Range::compareNode): Changed local variable to use int for consistency.
              (WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED.
              (WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and
              initialization of ec to 0; both are now inside checkDeleteExtract.
              (WebCore::Range::intersectsNode): Changed local variable to use int for consistency.
              Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1
              and -1.
              (WebCore::Range::processContents): Changed code to not get the nodeType multiple
              times on the same node, and tweaked formatting. Removed code to update the range
              on deletion, because the normal delete logic will take care of that now.
              (WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and
              initialization of ec to 0; both are now inside checkDeleteExtract.
              (WebCore::Range::insertNode): Changed local variable to use int for consistency.
              (WebCore::Range::toString): Changed variable name to pastLast.
              (WebCore::Range::detach): Call detachRange.
              (WebCore::Range::checkDeleteExtract): Added check for detached range and code to
              set ec to 0; moved here from the two callers. Also changed variable name to pastLast.
              (WebCore::endpointNodeChildrenChanged): Added.
              (WebCore::Range::nodeChildrenChanged): Added.
              (WebCore::endpointNodeWillBeRemoved): Added.
              (WebCore::Range::nodeWillBeRemoved): Added.
              (WebCore::endpointTextInserted): Added.
              (WebCore::Range::textInserted): Added.
              (WebCore::endpointTextRemoved): Added.
              (WebCore::Range::textRemoved): Added.
              (WebCore::endpointTextNodesMerged): Added.
              (WebCore::Range::textNodesMerged): Added.
              (WebCore::endpointTextNodesSplit): Added.
              (WebCore::Range::textNodeSplit): Added.
      
              * dom/Range.h: Added new member functions.
      
              * dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same
              node more than once.
              * dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a
              node and treats a node pointer of 0 as meaning "before first node in parent container".
              * dom/NodeWithIndexBefore.h: Added.  Similar to NodeWithIndex but treats a node pointer of 0
              as meaning "after last node in parent container".
      
              * dom/Text.cpp:
              (WebCore::Text::splitText): Call textNodeSplit.
      
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast.
      
      LayoutTests:
      
              Reviewed by Sam.
      
              - test changes for http://bugs.webkit.org/show_bug.cgi?id=11997
                Ranges are not fixed after mutation (affects Acid3 test 13)
      
              * fast/dom/Range/mutation-expected.txt: Added.
              * fast/dom/Range/mutation.html: Added.
              * fast/dom/Range/resources/mutation.js: Added.
      
              * editing/execCommand/4920742-2-expected.txt: Updated.
              * editing/execCommand/4920742-2.html: Updated this test. It was testing for a crash in a
              case that's no longer possible -- you can't make a range where one endpoint is in the
              document and the other is not.
      
              * platform/mac/editing/execCommand/4920488-expected.txt: Removed WRONG_DOCUMENT_ERR.
              The fact that a test was getting this exception was a bug, similar to the case above.
              * platform/qt/editing/execCommand/4920488-expected.txt: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f28fa1b0
    • zecke@webkit.org's avatar
      WebCore: · f557a5a5
      zecke@webkit.org authored
      2008-03-15  Julien Chaffraix  <julien.chaffraix@gmail.com>
      
              Reviewed by Holger.
      
              [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
              http://bugs.webkit.org/show_bug.cgi?id=16906
      
              Add null checks for httpBody() to match other ports.
      
              Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html
      
              * platform/network/curl/ResourceHandleManager.cpp:
              (WebCore::readCallback): Add null check.
              (WebCore::ResourceHandleManager::setupPOST): Ditto.
      
      LayoutTests:
      2008-03-15  Julien Chaffraix  <julien.chaffraix@gmail.com>
      
              Reviewed by Holger.
      
              [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
              http://bugs.webkit.org/show_bug.cgi?id=16906
      
              * http/tests/xmlhttprequest/xmlhttprequest-post-crash-expected.txt: Added.
              * http/tests/xmlhttprequest/xmlhttprequest-post-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f557a5a5
  6. 14 Mar, 2008 2 commits
    • andersca@apple.com's avatar
      WebCore: · 74fb13b3
      andersca@apple.com authored
              Reviewed by Sam.
      
              <rdar://problem/5794989>
              https://bugs.webkit.org/show_bug.cgi?id=17792
              REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work
      
              Pass the frame loader that should be used for looking up the frame name to FrameLoader::createWindow
              so that somewindow.open calls where the active window and 'somewindow' differ return the correct frame.
              
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::createWindow):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::createWindow):
              * loader/FrameLoader.h:
      
      LayoutTests:
      
              Reviewed by Sam.
      
              <rdar://problem/5794989>
              https://bugs.webkit.org/show_bug.cgi?id=17792
              REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work
              
              Add tests.
              
              * fast/dom/Window/window-open-self-from-other-frame-expected.txt: Added.
              * fast/dom/Window/window-open-self-from-other-frame.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74fb13b3
    • mitz@apple.com's avatar
      WebCore: · 20fdf975
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17834
                REGRESSION: floated first-letter does not work when included in table
      
              Test: fast/css/first-letter-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter): Changed the search for the
              first text node to stop at a float if that float is an existing first-
              letter.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=17834
                REGRESSION: floated first-letter does not work when included in table
      
              * fast/css/first-letter-float.html: Added.
              * platform/mac-leopard/fast/css/first-letter-float-expected.checksum: Added.
              * platform/mac-leopard/fast/css/first-letter-float-expected.png: Added.
              * platform/mac/fast/css/first-letter-float-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20fdf975
  7. 13 Mar, 2008 2 commits
    • antti@apple.com's avatar
      Reviewed by Mitz. · b416a781
      antti@apple.com authored
              
              Update test results for the preload patch. Load order for some resources changed,
              this does not affect the substance of these tests.
      
              * platform/mac-leopard/security/block-test-expected.txt:
              * security/block-test-expected.txt:
              * webarchive/loading/cache-expired-subresource-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b416a781
    • mitz@apple.com's avatar
      WebCore: · 9cd6d2e4
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17819
                Border-collapse: collapse later cell wins on PC, earlier cell on Mac
      
              Test: fast/table/border-collapsing/equal-precedence-resolution.html
      
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::collapsedLeftBorder): When calling
              compareBorders() with borders that may have the same precedence, made
              sure to pass the border belonging to the earlier (in document order)
              element first, since compareBorders() prefers the first argument when
              there is a tie.
              (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
              (WebCore::RenderTableCell::collapsedTopBorder): Ditto.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=17819
                Border-collapse: collapse later cell wins on PC, earlier cell on Mac
      
              * fast/table/border-collapsing/equal-precedence-resolution.html: Added.
              * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.checksum: Added.
              * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.png: Added.
              * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9cd6d2e4
  8. 12 Mar, 2008 2 commits
    • justin.garcia@apple.com's avatar
      WebCore: · 07178e16
      justin.garcia@apple.com authored
              Reviewed by Oliver.
              
              <rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
              
              Fixes some (but not all) of the instances of:
              <rdar://problem/5659795> CrashTracer: [REGRESSION] 187 crashes in Safari at com.apple.WebCore: WebCore::InsertTextCommand::prepareForTextInsertion + 241
              <rdar://problem/5779631> CrashTracer: [USER] 25 crashes in Mail at WebCore::InsertTextCommand::prepareForTextInsertion
      
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply): applyStyle may have destroyed content that held
              the old endingSelection(), so we must recompute it.  Added a FIXME.  Added a few comments.
              * editing/RemoveFormatCommand.cpp:
              (WebCore::RemoveFormatCommand::doApply): Added a FIXME.
      
      LayoutTests:
      
              Reviewed by Oliver.
              
              <rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
      
              * editing/execCommand/5770834-1-expected.txt: Added.
              * editing/execCommand/5770834-1.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07178e16
    • ap@webkit.org's avatar
      Reviewed by Darin. · 5d8232d7
      ap@webkit.org authored
              <rdar://problem/5640615> REGRESSION (Safari 2-3): Changing subframe encoding rules broke
              some sites.
      
              Other browsers' behavior keeps changing; let's implement what Firefox and Opera do now:
              if the frame and subframe belong to the same site, then the encoding is inherited from parent
              frame to subframe. Otherwise, it is not.
      
              Always inheriting the encoding would cause a security problem.
      
              Tests: http/tests/misc/frame-default-enc-different-domain.html
                     http/tests/misc/frame-default-enc-same-domain.html
                     fast/encoding/frame-default-enc.html
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::write): Also removed a check for m_frame->document() being non-null -
              this function also has code that uses it without checking, so it must be safe.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d8232d7
  9. 11 Mar, 2008 3 commits
    • darin@apple.com's avatar
      WebCore: · 8a24645f
      darin@apple.com authored
              - restored some code I removed in the Range change; this code can't go
                until the rest of the Range fix is in
      
              * dom/Range.cpp:
              (WebCore::Range::commonAncestorContainer): Added back the check for 0
              that I removed erroneously in the Range patch.
              (WebCore::Range::processContents): Left in assertions I used to debug
              this.
      
      LayoutTests:
      
              Reviewed by Beth Dakin.
      
              Update test to catch the SECURITY_ERR thrown by
              CanvasRenderingContext2D::getImageData() and
              HTMLCanvasElement::toDataURL() on a tainted canvas
      
              * http/tests/security/canvas-remote-read-remote-image-expected.txt:
              * http/tests/security/canvas-remote-read-remote-image.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a24645f
    • darin@apple.com's avatar
      - update expected result changed by recent Range patch · afa70063
      darin@apple.com authored
              * platform/mac/editing/execCommand/4920488-expected.txt: Removed incorrect exception log.
              * platform/qt/editing/execCommand/4920488-expected.txt: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      afa70063
    • weinig@apple.com's avatar
      WebCore: · 0d5f0dbd
      weinig@apple.com authored
              Reviewed by Beth Dakin.
      
              Throw a SECURITY_ERR when accessing a tainted canvas
              by CanvasRenderingContext2D::getImageData() and
              HTMLCanvasElement::toDataURL().
      
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::getImageData):
              * html/CanvasRenderingContext2D.h:
              * html/CanvasRenderingContext2D.idl:
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::toDataURL):
              * html/HTMLCanvasElement.h:
              * html/HTMLCanvasElement.idl:
      
      LayoutTests:
      
              Reviewed by Beth Dakin.
      
              Update test to catch the SECURITY_ERR thrown by
              CanvasRenderingContext2D::getImageData() and
              HTMLCanvasElement::toDataURL() on a tainted canvas
      
              * http/tests/security/canvas-remote-read-remote-image-expected.txt:
              * http/tests/security/canvas-remote-read-remote-image.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d5f0dbd
  10. 10 Mar, 2008 5 commits
    • justin.garcia@apple.com's avatar
      WebCore: · c727eb25
      justin.garcia@apple.com authored
              Reviewed by Sam.
      
              <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog
      
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::hasCSSPropertyNamePrefix): Fixed a typo.  The code was only
              comparing the first character of the prefix to the first character
              of the property name.
      
      LayoutTests:
      
              Reviewed by Sam.
              
              <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog
      
              * editing/pasteboard/5780697-2-expected.txt: Added.
              * editing/pasteboard/5780697-2.html: Added.
              * editing/selection/5779984-1-expected.txt: Added.
              * editing/selection/5779984-1.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c727eb25
    • weinig@apple.com's avatar
      Reviewed by Beth Dakin. · 2520bdb7
      weinig@apple.com authored
              Add Tiger specific results for toDataURL-supportedTypes.html as the image
              encoders have slightly changed between releases.
      
              * platform/mac-tiger/fast/canvas: Added.
              * platform/mac-tiger/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2520bdb7
    • darin@apple.com's avatar
      WebCore: · 1bab162f
      darin@apple.com authored
              Reviewed and landed by Darin.
      
              bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations
      
              Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
              by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.
      
              * bindings/js/kjs_binding.cpp:
              (WebCore::setDOMException): Removed PERMISSION_DENIED code.
              * dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
              * dom/ExceptionCode.h: Ditto.
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
              * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.
      
      LayoutTests:
      
              Reviewed and landed by Darin.
      
              bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations
      
              * http/tests/xmlhttprequest/exceptions-expected.txt: Updated results
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1bab162f
    • ap@webkit.org's avatar
      Reviewed, tweaked and landed by Alexey. · 16a7aebb
      ap@webkit.org authored
              - fix http://bugs.webkit.org/show_bug.cgi?id=17732        
      
              We didn't have a fallback to frame encoding in the case of loading a script via
              changing its src attribute.
      
              Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html
      
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper
              charset for correct decoding of script content.
              (WebCore::HTMLScriptElement::insertedIntoDocument):
              (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset
              for the script (as much as can be determined prior to loading it).
              * html/HTMLScriptElement.h:
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct
              decoding of script content.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16a7aebb
    • hausmann@webkit.org's avatar
      2008-03-07 Simon Hausmann <hausmann@webkit.org> · 9999bb88
      hausmann@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=16815
      
              Reviewed by Darin.
      
              Done with Lars.
      
      WebCore:
      
              Ported the manually written JS bindings of window.navigator,
              window.navigator.plugins and window.navigator.mimeTypes to
              auto-generated bindings.
      
              Moved the globally cached plugin and mimetype information to a
              per WebCore::Page shared PluginData structure.
      
              Implemented window.navigator.plugins.refresh() in a
              platform-independent way.
      
      LayoutTests:
      
              Added a testcase for http://bugs.webkit.org/show_bug.cgi?id=16815
      
      WebKit/qt:
      
              Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.
      
      WebKit/mac:
      
              Simplified WebViewFactory's refreshPlugins method to only refresh the
              plugins and not reload the frames anymore since that's now done in a
              platform independent manner by WebCore::Page.
      
              Also removed the now unused pluginNameForMIMEType and
              pluginSupportsMIMEType methods.
      
      WebKitTools/DumpRenderTree/qt:
      
              Ported the netscape test plugin to QWebPluginFactory.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9999bb88
  11. 08 Mar, 2008 2 commits