1. 15 Feb, 2011 1 commit
  2. 12 Feb, 2011 1 commit
    • rniwa@webkit.org's avatar
      2011-02-11 Ryosuke Niwa <rniwa@webkit.org> · ea75851d
      rniwa@webkit.org authored
              Reviewed by Darin Adler.
      
              Extract a function to process contents for one node from Range::processContents
              https://bugs.webkit.org/show_bug.cgi?id=54282
      
              Extracted Range::processContentsBetweenOffsets, which process contents of a node
              between two offsets. This function is used for the simple case where the start
              and the end containers are of the same node, and to process start and end containers
              in the complex case.
      
              When the function takes a non-null fragment (simple case), it appends the processed
              contents to the fragment; character data and processing instruction's contents are copied
              between the offsets, and descendants are copied for node of other types (not node itself).
      
              When the fragment is null (complex case), the function copies contents of character data,
              processing instruction, and node of other types (including node itself).
      
              No new tests are added since this is a refactoring.
      
              * dom/Range.cpp:
              (WebCore::highestAncestorUnderCommonRoot): Added.
              (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
              processContentsBetweenOffsets.
              (WebCore::Range::processContentsBetweenOffsets): Added.
              * dom/Range.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea75851d
  3. 08 Jan, 2011 1 commit
  4. 28 Sep, 2010 1 commit
  5. 16 Sep, 2010 1 commit
  6. 10 May, 2010 1 commit
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 748d5222
      ap@apple.com authored
              Based on a patch by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=28697
              <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
      
              It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
              that it can adjust start and end position to any node except for the one being removed -
              so these notifications cannot be batched.
      
              Test: fast/dom/Range/remove-all-children-crash.html
      
              * dom/ContainerNode.cpp:
              (WebCore::willRemoveChild): Removed unused ExceptionCode.
              (WebCore::willRemoveChildren): New function, used in removeChildren() case.
              (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
              (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
              (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
              and willRemoveChild.
      
              * dom/Document.cpp:
              (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
      
              * dom/Document.h: 
              (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
      
              * dom/Range.h:
              * dom/Range.cpp:
              (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
              (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      748d5222
  7. 01 Apr, 2010 1 commit
    • dbates@webkit.org's avatar
      2010-04-01 Daniel Bates <dbates@rim.com> · e2d62cfc
      dbates@webkit.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=36901
      
              Removed functions Range::operator == and Range::operator != as they
              were using C++ code that was not sound and hence may have undefined
              behavior.
      
              Test case: manual-tests/crash-on-find-with-no-selection.html
      
              * dom/Range.cpp:
              (WebCore::areRangesEqual): Added.
              * dom/Range.h:
              * editing/markup.cpp:
              (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
              * manual-tests/crash-on-find-with-no-selection.html: Added.
              * page/Frame.cpp:
              (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2d62cfc
  8. 29 Jan, 2010 1 commit
  9. 23 Nov, 2009 1 commit
    • simon.fraser@apple.com's avatar
      2009-11-23 Simon Fraser <simon.fraser@apple.com> · 0365603a
      simon.fraser@apple.com authored
              Reviewed by Dan Bernstein.
      
              DocumentMarkers need to be educated about transforms
              https://bugs.webkit.org/show_bug.cgi?id=31751
      
              Find highlight is incorrect with transforms
              <rdar://problem/6358394>
      
              Allow callers to specify that Frame::selectionTextRects() takes transforms into account
              when computing the set of rects that encompass a selection. For transformed elemenets, the
              selection rect will be the bounding box of the selected content.
      
              Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
      
              Test: editing/selection/transformed-selection-rects.html
      
              * WebCore.base.exp:
              Frame::selectionTextRects() has a new parameter.
      
              * dom/Document.cpp:
              (WebCore::Document::setRenderedRectForMarker):
              * dom/Document.h:
              Pass the marker as a const reference.
      
              * dom/Range.h:
              * dom/Range.cpp:
              (WebCore::Range::textQuads):
              Add a new method, textQuads(), which returns a list of quads, respecting transforms.
      
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::selectionTextRects):
              Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
              method to get quads for ranges, and then take their bounding boxes.
      
              * rendering/InlineTextBox.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
              (WebCore::InlineTextBox::paintTextMatchMarker):
              (WebCore::InlineTextBox::computeRectForReplacementMarker):
              (WebCore::InlineTextBox::paintDocumentMarkers):
              (WebCore::InlineTextBox::textPos):
              (WebCore::InlineTextBox::offsetForPosition):
      
              Pass DocumentMarkers as a const references.
              Convert the argument to setRenderedRectForMarker() into absolute coordinates.
      
              * rendering/RenderView.cpp:
              (WebCore::RenderView::selectionBounds):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0365603a
  10. 27 Sep, 2009 1 commit
    • weinig@apple.com's avatar
      WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=29760 · a09f5201
      weinig@apple.com authored
      Implement CSSOM Range.getClientRects/getBoundingClientRect 
      
      Reviewed by Dan Bernstein.
      
      Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html
             fast/dom/Range/getBoundingClientRect.html
             fast/dom/Range/getClientRects.html
      
      * dom/Range.cpp:
      (WebCore::Range::getClientRects):
      (WebCore::Range::getBoundingClientRect):
      (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
      (WebCore::Range::getBorderAndTextQuads):
      * dom/Range.h:
      * dom/Range.idl:
      Implement Range.getClientRects/getBoundingClientRect.
      
      * dom/Element.cpp:
      * rendering/RenderObject.h: 
      (WebCore::adjustForAbsoluteZoom):
      (WebCore::adjustIntRectForAbsoluteZoom):
      (WebCore::adjustFloatPointForAbsoluteZoom):
      (WebCore::adjustFloatQuadForAbsoluteZoom):
      Move point/quad adjustment methods from Element.cpp to RenderObject.h
      so that Range.cpp can use them as well.
      
      LayoutTests: Tests for https://bugs.webkit.org/show_bug.cgi?id=29760
      Implement CSSOM Range.getClientRects/getBoundingClientRect 
      
      Reviewed by Dan Bernstein.
      
      * fast/dom/Element/getBoundingClientRect-expected.txt: Copied from LayoutTests/fast/dom/getBoundingClientRect-expected.txt.
      * fast/dom/Element/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Copied from LayoutTests/fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt.
      * fast/dom/Element/getBoundingClientRect-getClientRects-relative-to-viewport.html: Copied from LayoutTests/fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html.
      * fast/dom/Element/getBoundingClientRect.html: Copied from LayoutTests/fast/dom/getBoundingClientRect.html.
      * fast/dom/Element/getClientRects-expected.txt: Copied from LayoutTests/fast/dom/getClientRects-expected.txt.
      * fast/dom/Element/getClientRects.html: Copied from LayoutTests/fast/dom/getClientRects.html.
      * fast/dom/Range/getBoundingClientRect-expected.txt: Added.
      * fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Added.
      * fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html: Added.
      * fast/dom/Range/getBoundingClientRect.html: Added.
      * fast/dom/Range/getClientRects-expected.txt: Added.
      * fast/dom/Range/getClientRects.html: Added.
      * fast/dom/Window/window-properties-expected.txt:
      * fast/dom/getBoundingClientRect-expected.txt: Removed.
      * fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Removed.
      * fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html: Removed.
      * fast/dom/getBoundingClientRect.html: Removed.
      * fast/dom/getClientRects-expected.txt: Removed.
      * fast/dom/getClientRects.html: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a09f5201
  11. 10 Sep, 2009 1 commit
  12. 17 Jul, 2009 1 commit
    • jparent@chromium.org's avatar
      2009-07-17 Ryosuke Niwa <ryosuke.niwa@gmail.com> · 14959eab
      jparent@chromium.org authored
              Reviewed by Eric Seidel.
      
              htmlediting.cpp needs more utility functions to fix the bug 26816
              https://bugs.webkit.org/show_bug.cgi?id=27038
      
              In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
      
              No tests because functions haven't been used anywhere yet.
      
              * dom/Range.cpp:
              (WebCore::Range::create):
              (WebCore::Range::comparePoint): added const qualifier
              (WebCore::Range::compareNode): added const qualifier
              * dom/Range.h:
              * editing/htmlediting.cpp:
              (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
              (WebCore::positionBeforeNode): added ASSERT(node)
              (WebCore::positionAfterNode): added ASSERT(node)
              (WebCore::visiblePositionBeforeNode):
              (WebCore::visiblePositionAfterNode):
              (WebCore::createRange): create a range object from two visible positions
              (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
              (WebCore::canMergeLists): typo
              (WebCore::indexForVisiblePosition): added const qualifier
              (WebCore::isVisiblyAdjacent): typo
              (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
              * editing/htmlediting.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14959eab
  13. 02 Jun, 2009 2 commits
    • eric@webkit.org's avatar
      2009-06-02 Eric Seidel <eric@webkit.org> · 4267321e
      eric@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Add a compareBoundaryPoints which takes RangeBoundaryPoints
              https://bugs.webkit.org/show_bug.cgi?id=25500
      
              I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
              This patch is almost entirely minus lines.
      
              No functional changes, thus no tests.
      
              * dom/Range.cpp:
              (WebCore::Range::setStart):
              (WebCore::Range::setEnd):
              (WebCore::Range::compareBoundaryPoints):
              (WebCore::Range::boundaryPointsValid):
              * dom/Range.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4267321e
    • eric@webkit.org's avatar
      2009-06-02 Eric Seidel <eric@webkit.org> · 05d6e939
      eric@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056
              https://bugs.webkit.org/show_bug.cgi?id=25500
      
              Darin indicated the Range should deal only with primitive DOM node/offset
              pairs, and that Position (which is a more robust editing construct) should have
              its own comparison functions and that Range.h should not mention Position at all.
      
              Turns out that Position already has a comparePositions() function (which knows
              how to additionally handled positions in shadow trees).  So I've just changed
              all callers of compareBoundaryPoints(Position, Position) to use the existing
              comparePositions() function.  I've also added a comparePositions which takes
              VisiblePositions for convenience.
      
              * dom/Range.cpp:
              * dom/Range.h:
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::updateStartEnd):
              (WebCore::ApplyStyleCommand::applyBlockStyle):
              (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
              (WebCore::ApplyStyleCommand::applyInlineStyle):
              (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
              (WebCore::ApplyStyleCommand::removeInlineStyle):
              (WebCore::ApplyStyleCommand::nodeFullySelected):
              (WebCore::ApplyStyleCommand::nodeFullyUnselected):
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::deleteInsignificantText):
              (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
              (WebCore::CompositeEditCommand::moveParagraphs):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::initializeStartEnd):
              (WebCore::DeleteSelectionCommand::handleGeneralDelete):
              (WebCore::DeleteSelectionCommand::mergeParagraphs):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::nodeWillBeRemoved):
              * editing/VisibleSelection.cpp:
              (WebCore::VisibleSelection::toNormalizedRange):
              * editing/htmlediting.cpp:
              (WebCore::comparePositions):
              * editing/htmlediting.h:
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMousePressEventSingleClick):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05d6e939
  14. 28 Apr, 2009 1 commit
    • timothy@apple.com's avatar
      Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it · df6a405c
      timothy@apple.com authored
              collects the individual rects, making sure to only include RenderText.
      
              <rdar://problem/6810061>
      
              Reviewed by Sam Weinig.
      
              * bindings/objc/DOM.mm:
              (-[DOMNode textRects]): Added. Make a Range and call textRects.
              (-[DOMNode lineBoxRects]): Call textRects method.
              (-[DOMRange textRects]): Call Range::textRects.
              (-[DOMRange lineBoxRects]): Call textRects method.
              * bindings/objc/DOMPrivate.h: Add the new methods and a comment
              about lineBoxRects being deprecated.
              * dom/Range.cpp:
              (WebCore::Range::boundingBox): Call textRects (renamed from addLineBoxRects).
              (WebCore::Range::textRects): Renamed from addLineBoxRects. Iterate over the
              nodes instead of the RenderObjects to correctly account for offsets. Also
              only call absoluteRectsForRange on RenderText.
              * dom/Range.h: Renamed addLineBoxRects to textRects.
              * page/Frame.cpp:
              (WebCore::Frame::selectionTextRects): Call textRects (renamed from addLineBoxRects).
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::absoluteRectsForRange): Remove if conditions that made this
              function very specific for the lineBoxRects API. These functions are still used
              by the InspectorController, and this change improves what the Inspector shows.
              (WebCore::RenderObject::absoluteQuadsForRange): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@42974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df6a405c
  15. 07 Apr, 2009 1 commit
    • eric@webkit.org's avatar
      Reviewed by Darin Adler. · b9aaf595
      eric@webkit.org authored
              Move RangeBoundaryPoint off of Position, per Darin's suggestion
              https://bugs.webkit.org/show_bug.cgi?id=24966
      
              Rename setToChild to setToBeforeChild (since that's what the method does)
      
              * dom/Position.h:
              (WebCore::Position::offsetInContainerNode):
              * dom/Range.cpp:
              (WebCore::Range::insertNode):
              (WebCore::Range::selectNodeContents):
              (WebCore::boundaryNodeWillBeRemoved):
              * dom/Range.h:
              (WebCore::Range::startPosition):
              (WebCore::Range::endPosition):
              * dom/RangeBoundaryPoint.h:
              (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
              (WebCore::RangeBoundaryPoint::container):
              (WebCore::RangeBoundaryPoint::childBefore):
              (WebCore::RangeBoundaryPoint::position):
              (WebCore::RangeBoundaryPoint::offset):
              (WebCore::RangeBoundaryPoint::clear):
              (WebCore::RangeBoundaryPoint::set):
              (WebCore::RangeBoundaryPoint::setOffset):
              (WebCore::RangeBoundaryPoint::setToBeforeChild):
              (WebCore::RangeBoundaryPoint::setToStartOfNode):
              (WebCore::RangeBoundaryPoint::setToEndOfNode):
              (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
              (WebCore::RangeBoundaryPoint::invalidateOffset):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@42264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9aaf595
  16. 30 Jun, 2008 1 commit
    • adele@apple.com's avatar
      WebCore: · 8e9caa38
      adele@apple.com authored
      2008-06-30  Adele Peterson  <adele@apple.com>
      
              Reviewed by Anders.
      
              Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
      
              Test: editing/selection/select-all-textarea.html
      
              * dom/Node.cpp:
              (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
              (WebCore::Node::shadowTreeRootNode): Added helper function.
              * dom/Node.h:
              * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
              * dom/Range.h:
              * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
              * editing/Selection.h:
              * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
              * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
              If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole docum...
      8e9caa38
  17. 01 Apr, 2008 1 commit
    • darin@apple.com's avatar
      2008-04-01 Darin Adler <darin@apple.com> · 98ac4575
      darin@apple.com authored
              Reviewed by Sam and Antti.
      
              - fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes
      
              Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
              the offset is now stored as a node pointer, and the offset is computed as and when needed.
              This allows us to efficiently update when the DOM tree is changed -- computation of the
              node offsets is deferred until the Range is used later.
      
              * WebCore.base.exp: Export nodeIndex().
      
              * WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h
              and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
      
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
      
              * dom/Document.cpp:
              (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range.
              (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for
              the index.
              * dom/Document.h: Take fewer arguments.
      
              * dom/NodeWithIndexAfter.h: Removed.
              * dom/NodeWithIndexBefore.h: Removed.
      
              * dom/Range.cpp:
              (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor.
              (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position.
              (WebCore::Range::~Range): Ditto.
              (WebCore::Range::startContainer): Ditto.
              (WebCore::Range::startOffset): Ditto.
              (WebCore::Range::endContainer): Ditto.
              (WebCore::Range::endOffset): Ditto.
              (WebCore::Range::commonAncestorContainer): Ditto.
              (WebCore::Range::collapsed): Ditto.
              (WebCore::Range::setStart): Ditto.
              (WebCore::Range::setEnd): Ditto.
              (WebCore::Range::collapse): Ditto.
              (WebCore::Range::isPointInRange): Ditto.
              (WebCore::Range::comparePoint): Ditto.
              (WebCore::Range::compareNode): Ditto.
              (WebCore::Range::compareBoundaryPoints): Ditto.
              (WebCore::Range::boundaryPointsValid): Ditto.
              (WebCore::Range::intersectsNode): Ditto.
              (WebCore::Range::processContents): Ditto.
              (WebCore::Range::cloneContents): Ditto.
              (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code
              at the end that updates the range -- not all of it is needed now since most of the fixup
              is done automatically by the range document mutation machinery. The one bit that remains
              is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification
              that it is indeed a bug (and then Acid3 will probably have to change).
              (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position.
              (WebCore::Range::text): Ditto.
              (WebCore::Range::createContextualFragment): Ditto.
              (WebCore::Range::detach): Ditto.
              (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to
              be more efficient by using childNode instead of childNodeCount, and also return the node
              before which is needed to set the value of a RangeBoundaryPoint.
              (WebCore::Range::cloneRange): Ditto.
              (WebCore::Range::setStartAfter): Ditto.
              (WebCore::Range::setEndBefore): Ditto.
              (WebCore::Range::setEndAfter): Ditto.
              (WebCore::Range::selectNode): Ditto.
              (WebCore::Range::selectNodeContents): Ditto.
              (WebCore::Range::surroundContents): Ditto.
              (WebCore::Range::setStartBefore): Ditto.
              (WebCore::Range::checkDeleteExtract): Ditto.
              (WebCore::Range::containedByReadOnly): Ditto.
              (WebCore::Range::firstNode): Ditto.
              (WebCore::Range::editingStartPosition): Ditto.
              (WebCore::Range::pastLastNode): Ditto.
              (WebCore::Range::addLineBoxRects): Ditto.
              (WebCore::Range::formatForDebugger): Ditto.
              (WebCore::Range::maxStartOffset): Ditto.
              (WebCore::Range::maxEndOffset): Ditto.
              (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of
              Position. Also changed name and changed to just call invalidateOffset.
              (WebCore::Range::nodeChildrenChanged): Changed to take just a container node.
              (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of
              Position. Also changed name and changed to update childBefore.
              (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*.
              (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of
              Position. Also changed name.
              (WebCore::Range::textInserted): Ditto.
              (WebCore::boundaryTextRemoved): Ditto.
              (WebCore::Range::textRemoved): Ditto.
              (WebCore::boundaryTextNodesMerged): Ditto.
              (WebCore::Range::textNodesMerged): Ditto.
              (WebCore::boundaryTextNodesSplit): Ditto.
              (WebCore::Range::textNodeSplit): Ditto.
      
              * dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
      
              * dom/RangeBoundaryPoint.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98ac4575
  18. 15 Mar, 2008 1 commit
    • 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
  19. 11 Mar, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · b7bf13ad
      darin@apple.com authored
              Reviewed by Mitz.
      
              - make some Range improvements (preparation for Range support for DOM mutation)
      
              Made constructors private, added create functions.
              Made refcount start at 1 rather than starting at 0 and being incremented.
              Made Range use two Position objects for the start/end container/offset pairs.
      
              * WebCore.base.exp: Updated.
      
              * dom/Document.cpp:
              (WebCore::Document::createRange): Changed to use Range::create.
              (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change.
      
              * dom/Position.cpp:
              (WebCore::Position::formatForDebugger): Updated for member variable name change.
              (WebCore::Position::showTreeForThis): Ditto.
              (WebCore::startPosition): Changed to use Range::startPosition.
              (WebCore::endPosition): Changed to use Range::endPosition.
      
              * dom/Position.h: Made the data members public and renamed them to container
              and offset. But since offset() is already a function, temporarily used posOffset
              for the data member. Later we'll get rid of offset(). Made more functions inline.
              Removed the constructor that takes a PositionIterator.
      
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::operator Position): Added. Replaces the constructor
              that used to be in Position.
              * dom/PositionIterator.h: Added conversion operator to produce a Position.
              Removed friend declaration for Position.
      
              * dom/Range.cpp:
              (WebCore::Range::Range): Updated constructors for data member changes and made
              them use a refcount of 1.
              (WebCore::Range::create): Added.
              (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached
              is now indicated by m_start.container of 0. Also updated to use m_start instead
              of the old m_startContainer.
              (WebCore::Range::startOffset): Ditto.
              (WebCore::Range::endContainer): Ditto.
              (WebCore::Range::endOffset): Ditto.
              (WebCore::Range::commonAncestorContainer): Ditto.
              (WebCore::Range::collapsed): Ditto.
              (WebCore::Range::setStart): Ditto.
              (WebCore::Range::setEnd): Ditto.
              (WebCore::Range::collapse): Ditto.
              (WebCore::Range::isPointInRange): Ditto.
              (WebCore::Range::comparePoint): Ditto.
              (WebCore::Range::compareNode): Ditto.
              (WebCore::Range::compareBoundaryPoints): Ditto.
              (WebCore::Range::boundaryPointsValid): Ditto.
              (WebCore::Range::deleteContents): Ditto.
              (WebCore::Range::intersectsNode): Ditto.
              (WebCore::Range::processContents): Ditto.
              (WebCore::Range::extractContents): Ditto.
              (WebCore::Range::cloneContents): Ditto.
              (WebCore::Range::insertNode): Ditto.
              (WebCore::Range::toString): Ditto.
              (WebCore::Range::text): Ditto.
              (WebCore::Range::createContextualFragment): Ditto.
              (WebCore::Range::detach): Ditto.
              (WebCore::Range::checkNodeBA): Changed to use switch statements instead of
              multiple calls to the virtual nodeType() function.
              (WebCore::Range::cloneRange): Ditto.
              (WebCore::Range::setStartAfter): Ditto.
              (WebCore::Range::setEndBefore): Ditto.
              (WebCore::Range::setEndAfter): Ditto.
              (WebCore::Range::selectNode): Ditto.
              (WebCore::Range::selectNodeContents): Ditto.
              (WebCore::Range::surroundContents): Ditto.
              (WebCore::Range::setStartBefore): Ditto.
              (WebCore::Range::checkDeleteExtract): Ditto.
              (WebCore::Range::containedByReadOnly): Ditto.
              (WebCore::Range::firstNode): Ditto.
              (WebCore::Range::editingStartPosition): Ditto.
              (WebCore::Range::pastLastNode): Ditto.
              (WebCore::Range::addLineBoxRects): Ditto.
              (WebCore::Range::formatForDebugger): Ditto.
              (WebCore::operator==): Ditto.
              (WebCore::rangeOfContents): Ditto.
              (WebCore::Range::maxStartOffset): Ditto.
              (WebCore::Range::maxEndOffset): Ditto.
      
              * dom/Range.h: Made constructors private. Added create functions.
              Added getters for startContainer/Offset and endContainer/Offset that
              return 0 instead of an exception for detached ranges that are inline
              and don't require an ExceptionCode out parameter. Changed the parameters
              to setStart and setEnd to PassRefPtr. Removed isDetached function.
              Made ActionType and processContents private. Made startPosition and
              endPosition inlines and have then return const&. Renamed startNode and
              pastEndNode to firstNode and pastLastNode to reduce the chance of
              confusion with startContainer/endContainer. Used Position for m_start
              and m_end instead of separate container and offset members. Changed
              maxStartOffset and maxEndOffset into int to match other offsets.
      
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create.
              (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto.
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::inputText): Ditto.
              (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
              * editing/Editor.cpp:
              (WebCore::Editor::fontForSelection): Changed for pastLastNode name change.
              (WebCore::Editor::setComposition): Changed to use Range::create.
              (WebCore::paragraphAlignedRangeForRange): Ditto.
              (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for
              isDetached and check for 0 from startContainer instead.
              (WebCore::Editor::compositionRange): Changed to use Range::create.
              * editing/EditorCommand.cpp:
              (WebCore::unionDOMRanges): Ditto.
              * editing/Selection.cpp:
              (WebCore::Selection::toRange): Ditto.
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode
              name change.
              (WebCore::TextIterator::range): Changed to use Range::create.
              (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
              (WebCore::TextIterator::subrange): Ditto.
              * editing/VisiblePosition.cpp:
              (WebCore::makeRange): Ditto.
              * editing/VisiblePosition.h: Added now-needed include.
              * editing/htmlediting.cpp:
              (WebCore::indexForVisiblePosition): Changed to use Range::create.
              (WebCore::avoidIntersectionWithNode): Changed to get rid of check for
              isDetached and check for 0 instead and to use Range::create.
              * editing/markup.cpp:
              (WebCore::renderedText): Changed to use Range::create.
              (WebCore::createMarkup): Changed to no longer use isDetached and also
              for new firstNode/pastEndNode names.
              (WebCore::createFragmentFromText): Ditto.
              * editing/visible_units.cpp:
              (WebCore::previousBoundary): Changed to use Range::create.
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use
              isDetached().
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create.
              (WebCore::RenderTextControl::indexForVisiblePosition): Ditto.
      
      WebKit/mac:
      
              Reviewed by Mitz.
      
              - update code affected by Range changes
      
              * Misc/WebNSAttributedStringExtras.mm:
              (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
              * WebView/WebHTMLRepresentation.mm:
              (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
              Use Range::create.
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView attributedString]): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7bf13ad
  20. 10 Feb, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · f22fa3cc
      darin@apple.com authored
              Reviewed and tweaked by Darin.
              
              DOMRange.surroundContents throws wrong exception (Acid3 bug)
              http://bugs.webkit.org/show_bug.cgi?id=16749
              
              Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
              has offsets in characters.
      
              * dom/Range.cpp:
              (WebCore::Range::surroundContents):
      
      LayoutTests:
      
              Reviewed and tweaked a bit by Darin.
              
              DOMRange.surroundContents throws wrong exception (Acid3 bug)
              http://bugs.webkit.org/show_bug.cgi?id=16749
              
              Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
              has offsets in characters
      
              * fast/dom/Range/range-exceptions-expected.txt: Added.
              * fast/dom/Range/resources/range-exceptions.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f22fa3cc
  21. 13 Nov, 2007 2 commits
    • ggaren@apple.com's avatar
      JavaScriptCore: · 58ea1c13
      ggaren@apple.com authored
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * API/JSClassRef.h:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/interpreter.h:
              * kjs/regexp.h:
              * wtf/RefCounted.h: Copied from JavaScriptCore/wtf/Shared.h.
              (WTF::RefCounted::RefCounted):
              * wtf/Shared.h: Removed.
      
      JavaScriptGlue:
      
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
      
      WebCore:
      
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
              * bindings/js/JSSVGPODTypeWrapper.h:
              * css/CSSFontFace.h:
              * css/CSSRuleList.h:
              * css/Counter.h:
              * css/Pair.h:
              * css/Rect.h:
              * css/StyleBase.h:
              * css/StyleSheetList.h:
              * dom/Attribute.h:
              * dom/Clipboard.h:
              * dom/DOMImplementation.h:
              * dom/Event.h:
              * dom/EventListener.h:
              * dom/NamedNodeMap.h:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.h:
              * dom/NodeList.h:
              * dom/QualifiedName.h:
              * dom/Range.h:
              * dom/RangeException.h:
              * dom/RegisteredEventListener.h:
              * dom/Traversal.h:
              * editing/EditCommand.h:
              * history/BackForwardList.h:
              * history/CachedPage.h:
              * history/HistoryItem.cpp:
              (WebCore::HistoryItem::HistoryItem):
              * history/HistoryItem.h:
              * html/CanvasGradient.h:
              * html/CanvasPattern.h:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.h:
              * html/HTMLCollection.h:
              * html/MediaError.h:
              * html/TimeRanges.h:
              * html/VoidCallback.h:
              * ksvg2/css/SVGRenderStyle.cpp:
              (WebCore::SVGRenderStyle::SVGRenderStyle):
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              (StyleFillData::StyleFillData):
              (StyleStrokeData::StyleStrokeData):
              (StyleStopData::StyleStopData):
              (StyleTextData::StyleTextData):
              (StyleClipData::StyleClipData):
              (StyleMaskData::StyleMaskData):
              (StyleMarkerData::StyleMarkerData):
              (StyleMiscData::StyleMiscData):
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/svg/SVGAngle.cpp:
              (WebCore::SVGAngle::SVGAngle):
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGException.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * loader/DocumentLoader.h:
              * loader/FormState.h:
              * loader/ResourceLoader.h:
              * loader/TextResourceDecoder.h:
              * loader/icon/IconRecord.h:
              * page/BarInfo.h:
              * page/Console.h:
              * page/DOMSelection.h:
              * page/DOMWindow.h:
              * page/Frame.h:
              * page/History.h:
              * page/InspectorController.cpp:
              * page/Plugin.h:
              * page/Screen.h:
              * platform/ArrayImpl.h:
              * platform/CString.h:
              * platform/Cursor.h:
              * platform/DeprecatedValueListImpl.cpp:
              (WebCore::DeprecatedValueListImpl::Private::Private):
              * platform/FileChooser.h:
              * platform/FontFallbackList.h:
              * platform/FontFamily.cpp:
              (WebCore::FontFamily::FontFamily):
              * platform/FontFamily.h:
              * platform/FontSelector.h:
              * platform/GlyphPageTreeNode.h:
              * platform/PopupMenu.h:
              * platform/RegularExpression.cpp:
              * platform/ScrollBar.h:
              * platform/SharedBuffer.h:
              * platform/StringImpl.h:
              * platform/graphics/Icon.h:
              * platform/graphics/svg/SVGResource.h:
              * platform/network/FormData.cpp:
              (WebCore::FormData::FormData):
              * platform/network/FormData.h:
              * platform/network/ResourceHandle.h:
              * platform/network/ResourceHandleClient.h:
              * rendering/RenderStyle.cpp:
              (WebCore::StyleSurroundData::StyleSurroundData):
              (WebCore::StyleBoxData::StyleBoxData):
              (WebCore::StyleVisualData::StyleVisualData):
              (WebCore::StyleBackgroundData::StyleBackgroundData):
              (WebCore::StyleMarqueeData::StyleMarqueeData):
              (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
              (WebCore::StyleMultiColData::StyleMultiColData):
              (WebCore::StyleTransformData::StyleTransformData):
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              (WebCore::StyleRareInheritedData::StyleRareInheritedData):
              (WebCore::StyleInheritedData::StyleInheritedData):
              * rendering/RenderStyle.h:
              * rendering/SVGCharacterLayoutInfo.h:
              (WebCore::SVGCharOnPath::SVGCharOnPath):
              * storage/SQLResultSetRowList.h:
              * xml/DOMParser.h:
              * xml/XMLHttpRequest.h:
              * xml/XMLSerializer.h:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.h:
              * xml/XPathNSResolver.h:
              * xml/XPathResult.h:
              * xml/XPathValue.h:
              * xml/XSLTProcessor.h:
      
      WebKit/mac:
      
              Reviewed by Anders Carlsson.
              
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
              * WebCoreSupport/WebContextMenuClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58ea1c13
    • ggaren@apple.com's avatar
      JavaScriptCore: · 7911af29
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places. Deployed
              Shared in places where JSCore previously had hand-rolled ref-counting
              classes.
      
              * API/JSClassRef.cpp:
              (OpaqueJSClass::OpaqueJSClass):
              * API/JSClassRef.h:
              * API/JSObjectRef.cpp:
              (JSClassRetain):
              (JSClassRelease):
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/interpreter.cpp:
              (KJS::Interpreter::init):
              * kjs/interpreter.h:
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp):
              * kjs/regexp.h:
              * wtf/Shared.h: Copied from WebCore/platform/Shared.h.
      
      JavaScriptGlue:
      
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places.
      
              * ForwardingHeaders/wtf/Shared.h: Added.
      
      WebCore:
      
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places. Retained 
              TreeShared, but moved it to its own file, TreeShared.h.
      
              * ForwardingHeaders/wtf/Shared.h: Added.
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSSVGPODTypeWrapper.h:
              * css/CSSFontFace.h:
              * css/CSSRuleList.h:
              * css/Counter.h:
              * css/Pair.h:
              * css/Rect.h:
              * css/StyleBase.h:
              * css/StyleSheetList.h:
              * dom/Clipboard.h:
              * dom/DOMImplementation.h:
              * dom/Event.h:
              * dom/EventListener.h:
              * dom/NamedNodeMap.h:
              * dom/NodeFilterCondition.h:
              * dom/NodeList.h:
              * dom/Range.h:
              * dom/RangeException.h:
              * dom/RegisteredEventListener.h:
              * dom/Traversal.h:
              * history/BackForwardList.h:
              * history/CachedPage.h:
              * history/HistoryItem.h:
              * html/CanvasGradient.h:
              * html/CanvasPattern.h:
              * html/HTMLCollection.h:
              * html/MediaError.h:
              * html/TimeRanges.h:
              * html/VoidCallback.h:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * loader/DocumentLoader.h:
              * loader/FormState.h:
              * loader/ResourceLoader.h:
              * loader/TextResourceDecoder.h:
              * loader/icon/IconRecord.h:
              * page/BarInfo.h:
              * page/Console.h:
              * page/DOMSelection.h:
              * page/DOMWindow.h:
              * page/History.h:
              * page/InspectorController.cpp:
              * page/Plugin.h:
              * page/Screen.h:
              * platform/ArrayImpl.h:
              * platform/CString.h:
              * platform/DeprecatedValueListImpl.cpp:
              * platform/FontFallbackList.h:
              * platform/FontFamily.h:
              * platform/FontSelector.h:
              * platform/GlyphPageTreeNode.h:
              * platform/PopupMenu.h:
              * platform/RegularExpression.cpp:
              * platform/ScrollBar.h:
              * platform/Shared.h: Removed.
              * platform/SharedBuffer.h:
              * platform/StringImpl.h:
              * platform/graphics/Icon.h:
              * platform/graphics/svg/SVGResource.h:
              * platform/network/FormData.h:
              * platform/network/ResourceHandleClient.h:
              * rendering/RenderStyle.h:
              * rendering/SVGCharacterLayoutInfo.h:
              * storage/SQLResultSetRowList.h:
              * xml/DOMParser.h:
              * xml/XMLSerializer.h:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.h:
              * xml/XPathNSResolver.h:
              * xml/XPathResult.h:
      
      WebKit/mac:
      
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places.
      
              * ChangeLog:
              * WebCoreSupport/WebContextMenuClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7911af29
  22. 25 Sep, 2007 1 commit
    • ddkilzer's avatar
      JavaScriptCore: · c8eccecd
      ddkilzer authored
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * COPYING.LIB:
              * bindings/testbindings.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/config.h:
      
      WebCore:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * LICENSE-LGPL-2:
              * LICENSE-LGPL-2.1:
              * WebCorePrefix.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              * bindings/js/JSHTMLInputElementBase.h:
              *...
      c8eccecd
  23. 13 Sep, 2007 1 commit
    • darin's avatar
      WebCore: · ead9a459
      darin authored
              Reviewed by Oliver.
      
              - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
                <input> elements with maxlength limit
      
              * editing/Editor.h: Moved MarkedTextUnderline here and renamed it CompositionUnderline.
              Moved the rest of the marked text API here and used the term that will be more familiar
              to those on platforms other than Macintosh, "composition". This helps prevent confusion
              with the other kinds of mark -- the emacs "mark" and spelling/grammar marks. Also
              cleaned up the conditionals a bit for the Macintosh-specific parts of this header.
      
              * editing/Editor.cpp:
              (WebCore::Editor::Editor): Updated for name change.
              (WebCore::Editor::clear): Added. To be called by FrameLoader::clear().
              (WebCore::Editor::insertTextWithoutSendingTextEvent): Removed code to make inserted
              text replace the marked text range -- we now deal with this explicitly by not
              calling this function to replace marked text. Also removed unneeded code that was
              specific to the use of this to replace the marked text.
              (WebCore::Editor::selectComposition): Renamed from selectMarkedText. Updated since
              the composition range is not stored as a Range.
              (WebCore::Editor::confirmComposition): Added. To be called when changing a composition
              into actual text. Unlike the old code path, deletes the composition first, then inserts
              the text, triggering the normal insertion code path and events. This is helpful because
              it means the inserted text will be truncated by the <input> element, for example.
              (WebCore::Editor::confirmCompositionWithoutDisturbingSelection): Added.
              (WebCore::Editor::setComposition): Added. To be called when changing the composition.
              Takes parameters for the underlines and selection. Unlike the old code path, this passes
              a flag down that indicates the inserted text is part of a composition. This is helpful
              because we don't send the event that will cause the <input> element to do truncation.
              It's also a better API for future improvements to our input method handling.
              (WebCore::Editor::revealSelectionAfterEditingOperation): Updated for name change.
              (WebCore::Editor::setIgnoreCompositionSelectionChange): Ditto.
              (WebCore::Editor::compositionRange): Added. Needed now that the composition is not
              stored as a Range.
              (WebCore::Editor::getCompositionSelection): Added.
      
              * editing/TypingCommand.h:
              * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText):
              Added an insertedTextIsComposition parameter, and don't send the BeforeTextInsertedEvent
              if it's true.
      
              * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Replaced the Macintosh-specific
              call to setMarkedTextRange with a call to the new Editor::clear().
      
              * page/Frame.h:
              * page/Frame.cpp:
              * page/FramePrivate.h:
              * page/mac/FrameMac.mm:
              Removed the marked text code. It was streamlined and moved to Editor, except for the
              Mac-specific code, which was moved into WebKit.
      
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm: Removed some now-unneeded marked text code.
              (-[WebCoreFrameBridge markedTextNSRange]): Updated for name/API change.
      
              * rendering/InlineTextBox.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint): Updated marked text code for name changes, and also
              streamlined the code a bit for the case where there is no composition.
              (WebCore::InlineTextBox::paintCompositionBackground): Name change.
              (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
      
              * rendering/RenderTextControl.h:
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::finishText): Added. Helper function shared by the
              (WebCore::RenderTextControl::text):
              (WebCore::getNextSoftBreak):
              (WebCore::RenderTextControl::textWithHardLineBreaks):
      
              * platform/CharacterNames.h: Added newlineCharacter.
      
              * dom/Range.h: Remove the now-unneeded version of toString that converts <br>
              elements into newlines.
              * dom/Range.cpp:
              (WebCore::Range::toString): Changed this to use a Vector<UChar> instead of
              a String so it will not have pathological reallocation performance, and removed
              the <br> feature.
              (WebCore::Range::pastEndNode): Made this return 0 when there is no start node.
              This bit of extra robustness guarantees you can't do a null dereference if the
              start node is 0 and the end node is not. Not sure this case really exists.
      
              * page/ContextMenuController.cpp: (ContextMenuController::contextMenuItemSelected):
              Removed a semi-bogus use of Range::toString(true). The right function to use here
              is plainText().
      
              * bridge/EditorClient.h: Removed obsolete markedTextAbandoned function.
      
              * WebCore.exp: Updated for above changes. 
      
      WebKit:
      
              Reviewed by Oliver.
      
              - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
                <input> elements with maxlength limit
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _selectionChanged]): Tweaked code a bit.
              (-[WebHTMLView markedRange]): Simplified logic, since markedTextNSRange works when there's
              no composition range.
              (-[WebHTMLView hasMarkedText]): Call directly to Editor instead of bridge.
              (-[WebHTMLView unmarkText]): Call new confirmComposition to make it clear that this is
              confirming text, not just unmarking it to discard it.
              (extractUnderlines): Added. Converts directly from an NSAttributedString to the
              CompositionUnderline vector that's used by WebCore.
              (-[WebHTMLView setMarkedText:selectedRange:]): Changed to use the new setComposition.
              (-[WebHTMLView insertText:]): Changed to use confirmComposition when appropriate, instead
              of relying on special behavior of Editor::insertText.
              (-[WebHTMLView _updateSelectionForInputManager]): Rewrote to use getCompositionSelection
              and confirmCompositionWithoutDisturbingSelection.
      
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              Removed obsolete markedTextAbandoned function.
      
      win:
      
              Reviewed by Oliver.
      
              - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
                <input> elements with maxlength limit
      
              * WebView.cpp:
              (WebView::resetIME): Change to use confirmCompositionWithoutDisturbingSelection.
              (WebView::updateSelectionForIME): Update for name changes, and to use new functions
              in Editor.
              (WebView::onIMEStartComposition): Removed unneeded call to unmarkText.
              (compositionToUnderlines): Removed startOffset parameter, since setComposition now
              handles this.
              (WebView::onIMEComposition): Changed to use confirmComposition and setComposition.
              Logic gets a lot cleaner.
              (WebView::onIMEEndComposition): Removed unneeded calls to Editor.
              (WebView::onIMERequestCharPosition): Updated for name changes.
      
      LayoutTests:
      
              Reviewed by Oliver.
      
              - updated test results changed by change in input manager logic
      
              * platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt:
              * platform/mac/editing/input/text-input-controller-expected.txt:
              * platform/mac/editing/input/wrapped-line-char-rect-expected.txt:
              Updated. Small changes in which delegate methods are called.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ead9a459
  24. 05 Jul, 2007 1 commit
    • sullivan's avatar
      WebCore: · 4ea5e41a
      sullivan authored
              Reviewed by Adam
      
              - WebCore part of fix for <rdar://problem/5315033>
      
              * rendering/RenderObject.h:
              replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
              (WebCore::RenderObject::PaintInfo::PaintInfo):
              replaced forceWhiteText with forceBlackText
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::addLineBoxRects):
              added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
              at this level so this has no effect.
      
              * rendering/RenderText.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::addLineBoxRects):
              added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
              and height returned by selectionRect rather than replacing it with the more tight-fitting position
              and height of the line box.
      
              * dom/Range.h:
              * dom/Range.cpp:
              (WebCore::Range::addLineBoxRects):
              added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        
      
              * page/Frame.h:
              renamed parameter to selectionImage
              * page/Frame.cpp:
              (WebCore::Frame::selectionTextRects):
              pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
              method will match the height that the selection would be painted here
              (WebCore::Frame::paint):
              updated for white->black name changes
              
              * page/mac/FrameMac.mm:
              (WebCore::Frame::selectionImage):
              updated for white->black name changes
              
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintTextDecorations):
              updated for white->black name changes
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::paintLayer):
              updated for white->black name changes
      
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              updated for white->black name changes, and actually use black instead of white. This was the goal
              of all the name changes.
      
      WebKit:
      
              Reviewed by Adam
              
              - WebKit part of fix for <rdar://problem/5315033>
      
              * WebView/WebDocumentPrivate.h:
              new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
              in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
              using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
              white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
              
              * Misc/WebSearchableTextView.m:
              (-[WebSearchableTextView selectionImageForcingBlackText:]):
              new unimplemented protocol method for this obsolete class
              
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView selectionImageForcingBlackText:]):
              calls through to WebCore the way selectionImageForcingWhiteText: used to
              (-[WebHTMLView selectionImageForcingWhiteText:]):
              now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
              
              * WebView/WebPDFView.mm:
              (-[WebPDFView selectionImageForcingBlackText:]):
              guts of old selectionImageForcingWhiteText:, but with black substituted for white
              (-[WebPDFView selectionImageForcingWhiteText:]):
              now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ea5e41a
  25. 31 Jan, 2007 1 commit
    • ggaren's avatar
      WebCore: · 884d9e49
      ggaren authored
              Reviewed by Darin Adler.
      
              Added a Range counter to detect leaks. Tweaked the Node counter.
              
              Also fixed a TextIterator destructive modification bug that I noticed along the
              way. No test case for this bug because no clients have been bitten by it
              yet.
      
              * dom/Node.cpp: Renamed NodeImplCounter to NodeCounter, changed counter
              to unsigned, fixed formatting to match style guidelines.
              (WebCore::NodeCounter::~NodeCounter):
              (WebCore::Node::Node):
              (WebCore::Node::~Node):
      
              * dom/Range.cpp:
              (WebCore::RangeCounter::~RangeCounter): Added.
              (WebCore::Range::Range):
              (WebCore::Range::~Range):
              (WebCore::Range::ownerDocument): New accessor, used by TextIterator to avoid
              annoying NULL checks.
              * dom/Range.h:
      
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::subrange): 
              (1) Don't initialize result with entireRange --  doing so would create a 
              PassRefPtr that pointed to entireRange, so this function would destructively 
              modify the Range you passed it. Initialize it with a new Range instead.
              (2) Don't use a PassRefPtr as a local variable, because they have sneaky
              semantics. Use a RefPtr instead.
              (3) Don't call CharacterIterator::range() willy-nilly, since it does 
              non-trivial work. Use a local variable instead.
      
      WebKitTools:
      
              Reviewed by Darin Adler.
      
              Added Selection::toRange to the leaks -exclude list, since it comes up
              as a false positive (Radar 4967949).
              
              Also added RangeCounter to the global initializer exclude list. I added
              a RangeCounter since leaks won't detect all Range leaks anymore.
      
              * Scripts/check-for-global-initializers:
              * Scripts/run-webkit-tests:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      884d9e49
  26. 15 Jan, 2007 1 commit
    • eseidel's avatar
      2007-01-15 Eric Seidel <eric@webkit.org> · 8eddecf9
      eseidel authored
              Reviewed by bdash.
      
              Update header guards to follow new style guidelines using new clean-header-guards script.
      
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              * bindings/js/JSSVGElementWrapperFactory.h:
              * bindings/js/JSSVGPODTypeWrapper.h:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_css.h:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_domnode.h:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.h:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_traversal.h:
              * bindings/js/kjs_window.h:
              * bridge/EditorClient.h:
              * bridge/History.h:
              * css/CSSStyleSheet.h:
              * css/CSSValue.h:
              * css/CSSValueList.h:
              * css/DashboardRegion.h:
              * css/FontFamilyValue.h:
              * css/FontValue.h:
              * css/MediaFeatureNames.h:
              * css/MediaList.h:
              * css/Pair.h:
              * css/RectImpl.h:
              * css/ShadowValue.h:
              * css/StyleBase.h:
              * css/StyleList.h:
              * css/StyleSheet.h:
              * css/StyleSheetList.h:
              * css/cssstyleselector.h:
              * dom/BeforeTextInsertedEvent.h:
              * dom/CDATASection.h:
              * dom/CharacterData.h:
              * dom/ChildNodeList.h:
              * dom/Comment.h:
              * dom/DOMImplementation.h:
              * dom/DocPtr.h:
              * dom/Document.h:
              * dom/DocumentFragment.h:
              * dom/DocumentMarker.h:
              * dom/DocumentType.h:
              * dom/EditingText.h:
              * dom/Entity.h:
              * dom/EntityReference.h:
              * dom/EventNames.h:
              * dom/EventTargetNode.h:
              * dom/NameNodeList.h:
              * dom/NamedNodeMap.h:
              * dom/Node.h:
              * dom/NodeList.h:
              * dom/Notation.h:
              * dom/Position.h:
              * dom/ProcessingInstruction.h:
              * dom/Range.h:
              * dom/StyleElement.h:
              * dom/Text.h:
              * editing/AppendNodeCommand.h:
              * editing/ApplyStyleCommand.h:
              * editing/BreakBlockquoteCommand.h:
              * editing/CommandByName.h:
              * editing/CompositeEditCommand.h:
              * editing/DeleteButton.h:
              * editing/DeleteButtonController.h:
              * editing/DeleteFromTextNodeCommand.h:
              * editing/DeleteSelectionCommand.h:
              * editing/InsertIntoTextNodeCommand.h:
              * editing/InsertLineBreakCommand.h:
              * editing/InsertNodeBeforeCommand.h:
              * editing/InsertParagraphSeparatorCommand.h:
              * editing/InsertTextCommand.h:
              * editing/JoinTextNodesCommand.h:
              * editing/MergeIdenticalElementsCommand.h:
              * editing/ModifySelectionListLevel.h:
              * editing/MoveSelectionCommand.h:
              * editing/RemoveCSSPropertyCommand.h:
              * editing/RemoveNodeAttributeCommand.h:
              * editing/RemoveNodeCommand.h:
              * editing/RemoveNodePreservingChildrenCommand.h:
              * editing/ReplaceSelectionCommand.h:
              * editing/SetNodeAttributeCommand.h:
              * editing/SplitElementCommand.h:
              * editing/SplitTextNodeCommand.h:
              * editing/SplitTextNodeContainingElementCommand.h:
              * editing/TextGranularity.h:
              * editing/TypingCommand.h:
              * editing/WrapContentsInDummySpanCommand.h:
              * history/BackForwardList.h:
              * history/HistoryItem.h:
              * history/HistoryItemTimer.h:
              * history/PageCache.h:
              * html/CanvasGradient.h:
              * html/CanvasPattern.h:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.h:
              * html/FormDataList.h:
              * html/HTMLAnchorElement.h:
              * html/HTMLAppletElement.h:
              * html/HTMLAreaElement.h:
              * html/HTMLBRElement.h:
              * html/HTMLBaseElement.h:
              * html/HTMLBaseFontElement.h:
              * html/HTMLBlockquoteElement.h:
              * html/HTMLBodyElement.h:
              * html/HTMLButtonElement.h:
              * html/HTMLCanvasElement.h:
              * html/HTMLCollection.h:
              * html/HTMLDListElement.h:
              * html/HTMLDirectoryElement.h:
              * html/HTMLDivElement.h:
              * html/HTMLElement.h:
              * html/HTMLElementFactory.h:
              * html/HTMLEmbedElement.h:
              * html/HTMLFieldSetElement.h:
              * html/HTMLFontElement.h:
              * html/HTMLFormCollection.h:
              * html/HTMLFormElement.h:
              * html/HTMLFrameSetElement.h:
              * html/HTMLGenericFormElement.h:
              * html/HTMLHRElement.h:
              * html/HTMLHeadElement.h:
              * html/HTMLHeadingElement.h:
              * html/HTMLHtmlElement.h:
              * html/HTMLImageElement.h:
              * html/HTMLImageLoader.h:
              * html/HTMLInputElement.h:
              * html/HTMLIsIndexElement.h:
              * html/HTMLKeygenElement.h:
              * html/HTMLLIElement.h:
              * html/HTMLLabelElement.h:
              * html/HTMLLegendElement.h:
              * html/HTMLLinkElement.h:
              * html/HTMLMapElement.h:
              * html/HTMLMarqueeElement.h:
              * html/HTMLMenuElement.h:
              * html/HTMLMetaElement.h:
              * html/HTMLModElement.h:
              * html/HTMLNameCollection.h:
              * html/HTMLOListElement.h:
              * html/HTMLObjectElement.h:
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptionElement.h:
              * html/HTMLOptionsCollection.h:
              * html/HTMLParagraphElement.h:
              * html/HTMLParamElement.h:
              * html/HTMLParser.h:
              * html/HTMLPlugInElement.h:
              * html/HTMLPreElement.h:
              * html/HTMLQuoteElement.h:
              * html/HTMLScriptElement.h:
              * html/HTMLSelectElement.h:
              * html/HTMLStyleElement.h:
              * html/HTMLTableCaptionElement.h:
              * html/HTMLTableCellElement.h:
              * html/HTMLTableColElement.h:
              * html/HTMLTableElement.h:
              * html/HTMLTablePartElement.h:
              * html/HTMLTableRowElement.h:
              * html/HTMLTableSectionElement.h:
              * html/HTMLTextAreaElement.h:
              * html/HTMLTextFieldInnerElement.h:
              * html/HTMLTitleElement.h:
              * html/HTMLUListElement.h:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/events/JSSVGLazyEventListener.h:
              * ksvg2/events/SVGZoomEvent.h:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/PointerEventsHitRules.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/misc/SVGImageLoader.h:
              * ksvg2/misc/TimeScheduler.h:
              * ksvg2/svg/GradientAttributes.h:
              * ksvg2/svg/LinearGradientAttributes.h:
              * ksvg2/svg/PatternAttributes.h:
              * ksvg2/svg/RadialGradientAttributes.h:
              * ksvg2/svg/SVGAElement.h:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateElement.h:
              * ksvg2/svg/SVGAnimateMotionElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * ksvg2/svg/SVGAnimatedPathData.h:
              * ksvg2/svg/SVGAnimatedPoints.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGCircleElement.h:
              * ksvg2/svg/SVGClipPathElement.h:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGComponentTransferFunctionElement.h:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGDOMImplementation.h:
              * ksvg2/svg/SVGDefsElement.h:
              * ksvg2/svg/SVGDescElement.h:
              * ksvg2/svg/SVGDocument.h:
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGElementInstance.h:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGEllipseElement.h:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFEBlendElement.h:
              * ksvg2/svg/SVGFEColorMatrixElement.h:
              * ksvg2/svg/SVGFEComponentTransferElement.h:
              * ksvg2/svg/SVGFECompositeElement.h:
              * ksvg2/svg/SVGFEDiffuseLightingElement.h:
              * ksvg2/svg/SVGFEDisplacementMapElement.h:
              * ksvg2/svg/SVGFEDistantLightElement.h:
              * ksvg2/svg/SVGFEFloodElement.h:
              * ksvg2/svg/SVGFEFuncAElement.h:
              * ksvg2/svg/SVGFEFuncBElement.h:
              * ksvg2/svg/SVGFEFuncGElement.h:
              * ksvg2/svg/SVGFEFuncRElement.h:
              * ksvg2/svg/SVGFEGaussianBlurElement.h:
              * ksvg2/svg/SVGFEImageElement.h:
              * ksvg2/svg/SVGFELightElement.h:
              * ksvg2/svg/SVGFEMergeElement.h:
              * ksvg2/svg/SVGFEMergeNodeElement.h:
              * ksvg2/svg/SVGFEOffsetElement.h:
              * ksvg2/svg/SVGFEPointLightElement.h:
              * ksvg2/svg/SVGFESpecularLightingElement.h:
              * ksvg2/svg/SVGFESpotLightElement.h:
              * ksvg2/svg/SVGFETileElement.h:
              * ksvg2/svg/SVGFETurbulenceElement.h:
              * ksvg2/svg/SVGFilterElement.h:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
              * ksvg2/svg/SVGFitToViewBox.h:
              * ksvg2/svg/SVGForeignObjectElement.h:
              * ksvg2/svg/SVGGElement.h:
              * ksvg2/svg/SVGGradientElement.h:
              * ksvg2/svg/SVGImageElement.h:
              * ksvg2/svg/SVGLangSpace.h:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGLengthList.h:
              * ksvg2/svg/SVGLineElement.h:
              * ksvg2/svg/SVGLinearGradientElement.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGListTraits.h:
              * ksvg2/svg/SVGLocatable.h:
              * ksvg2/svg/SVGMarkerElement.h:
              * ksvg2/svg/SVGMaskElement.h:
              * ksvg2/svg/SVGMetadataElement.h:
              * ksvg2/svg/SVGNumberList.h:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGParserUtilities.h:
              * ksvg2/svg/SVGPathElement.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPathSegArc.h:
              * ksvg2/svg/SVGPathSegClosePath.h:
              * ksvg2/svg/SVGPathSegCurvetoCubic.h:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
              * ksvg2/svg/SVGPathSegLineto.h:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
              * ksvg2/svg/SVGPathSegLinetoVertical.h:
              * ksvg2/svg/SVGPathSegList.h:
              * ksvg2/svg/SVGPathSegMoveto.h:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGPointList.h:
              * ksvg2/svg/SVGPolyElement.h:
              * ksvg2/svg/SVGPolygonElement.h:
              * ksvg2/svg/SVGPolylineElement.h:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRadialGradientElement.h:
              * ksvg2/svg/SVGRectElement.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGScriptElement.h:
              * ksvg2/svg/SVGSetElement.h:
              * ksvg2/svg/SVGStopElement.h:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGStylable.h:
              * ksvg2/svg/SVGStyleElement.h:
              * ksvg2/svg/SVGStyledElement.h:
              * ksvg2/svg/SVGStyledLocatableElement.h:
              * ksvg2/svg/SVGStyledTransformableElement.h:
              * ksvg2/svg/SVGSwitchElement.h:
              * ksvg2/svg/SVGSymbolElement.h:
              * ksvg2/svg/SVGTRefElement.h:
              * ksvg2/svg/SVGTSpanElement.h:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTextContentElement.h:
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/SVGTextPositioningElement.h:
              * ksvg2/svg/SVGTitleElement.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransformList.h:
              * ksvg2/svg/SVGTransformable.h:
              * ksvg2/svg/SVGURIReference.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * ksvg2/svg/SVGUseElement.h:
              * ksvg2/svg/SVGViewElement.h:
              * ksvg2/svg/SVGZoomAndPan.h:
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.h:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocumentLoader.h:
              * loader/Request.h:
              * loader/SubresourceLoader.h:
              * loader/icon/IconDataCache.h:
              * loader/icon/IconDatabase.h:
              * loader/icon/IconLoader.h:
              * loader/icon/SQLDatabase.h:
              * loader/icon/SQLStatement.h:
              * loader/icon/SQLTransaction.h:
              * page/Frame.h:
              * page/FrameLoadRequest.h:
              * page/FrameTree.h:
              * page/FrameView.h:
              * page/PageState.h:
              * page/Plugin.h:
              * page/qt/FrameQt.h:
              * page/qt/FrameQtClient.h:
              * platform/Arena.h:
              * platform/ArrayImpl.h:
              * platform/Cursor.h:
              * platform/DeprecatedArray.h:
              * platform/DeprecatedCString.h:
              * platform/FileChooser.h:
              * platform/Font.h:
              * platform/FontCache.h:
              * platform/FontData.h:
              * platform/FontDescription.h:
              * platform/FontFamily.h:
              * platform/GlyphBuffer.h:
              * platform/GlyphMap.h:
              * platform/GlyphWidthMap.h:
              * platform/Logging.h:
              * platform/Pasteboard.h:
              * platform/PlatformString.h:
              * platform/PlugInInfoStore.h:
              * platform/PopupMenu.h:
              * platform/PopupMenuClient.h:
              * platform/ScrollBar.h:
              * platform/ScrollView.h:
              * platform/SearchPopupMenu.h:
              * platform/Shared.h:
              * platform/Sound.h:
              * platform/SystemTime.h:
              * platform/Timer.h:
              * platform/Widget.h:
              * platform/cf/RetainPtr.h:
              * platform/gdk/ChromeClientGdk.h:
              * platform/gdk/FontPlatformData.h:
              * platform/gdk/FrameGdk.h:
              * platform/gdk/KeyboardCodes.h:
              * platform/gdk/RenderPopupMenuGdk.h:
              * platform/gdk/RenderThemeGdk.h:
              * platform/graphics/BitmapImage.h:
              * platform/graphics/Color.h:
              * platform/graphics/FloatPoint.h:
              * platform/graphics/FloatPoint3D.h:
              * platform/graphics/FloatRect.h:
              * platform/graphics/Icon.h:
              * platform/graphics/Image.h:
              * platform/graphics/ImageAnimationObserver.h:
              * platform/graphics/ImageBuffer.h:
              * platform/graphics/ImageSource.h:
              * platform/graphics/IntPoint.h:
              * platform/graphics/IntRect.h:
              * platform/graphics/IntSize.h:
              * platform/graphics/IntSizeHash.h:
              * platform/graphics/PathTraversalState.h:
              * platform/graphics/Pen.h:
              * platform/graphics/qt/ImageDecoderQt.h:
              * platform/graphics/svg/SVGImage.h:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              * platform/graphics/svg/SVGPaintServer.h:
              * platform/graphics/svg/SVGPaintServerGradient.h:
              * platform/graphics/svg/SVGPaintServerLinearGradient.h:
              * platform/graphics/svg/SVGPaintServerPattern.h:
              * platform/graphics/svg/SVGPaintServerRadialGradient.h:
              * platform/graphics/svg/SVGPaintServerSolid.h:
              * platform/graphics/svg/SVGResource.h:
              * platform/graphics/svg/SVGResourceClipper.h:
              * platform/graphics/svg/SVGResourceFilter.h:
              * platform/graphics/svg/SVGResourceMarker.h:
              * platform/graphics/svg/SVGResourceMasker.h:
              * platform/graphics/svg/cg/CgSupport.h:
              * platform/graphics/svg/filters/SVGDistantLightSource.h:
              * platform/graphics/svg/filters/SVGFEBlend.h:
              * platform/graphics/svg/filters/SVGFEColorMatrix.h:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
              * platform/graphics/svg/filters/SVGFEComposite.h:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
              * platform/graphics/svg/filters/SVGFEFlood.h:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
              * platform/graphics/svg/filters/SVGFEImage.h:
              * platform/graphics/svg/filters/SVGFEMerge.h:
              * platform/graphics/svg/filters/SVGFEMorphology.h:
              * platform/graphics/svg/filters/SVGFEOffset.h:
              * platform/graphics/svg/filters/SVGFESpecularLighting.h:
              * platform/graphics/svg/filters/SVGFETile.h:
              * platform/graphics/svg/filters/SVGFETurbulence.h:
              * platform/graphics/svg/filters/SVGFilterEffect.h:
              * platform/graphics/svg/filters/SVGLightSource.h:
              * platform/graphics/svg/filters/SVGPointLightSource.h:
              * platform/graphics/svg/filters/SVGSpotLightSource.h:
              * platform/mac/FontPlatformData.h:
              * platform/mac/PlatformScrollBar.h:
              * platform/network/AuthenticationChallenge.h:
              * platform/network/Credential.h:
              * platform/network/HTTPHeaderMap.h:
              * platform/network/ProtectionSpace.h:
              * platform/network/ResourceError.h:
              * platform/network/ResourceRequest.h:
              * platform/network/ResourceResponse.h:
              * platform/network/cf/FormDataStreamCFNet.h:
              * platform/network/cf/ResourceRequestCFNet.h:
              * platform/network/cf/ResourceResponseCFNet.h:
              * platform/network/gdk/ResourceHandleManager.h:
              * platform/network/mac/AuthenticationMac.h:
              * platform/network/mac/FormDataStreamMac.h:
              * platform/network/qt/ResourceHandleManagerKDE.h:
              * platform/network/qt/ResourceHandleManagerQt.h:
              * platform/network/win/ResourceHandleWin.h:
              * platform/qt/FontPlatformData.h:
              * platform/qt/KeyboardCodes.h:
              * platform/qt/PlatformScrollBar.h:
              * platform/qt/ScrollViewCanvasQt.h:
              * platform/qt/SharedTimerQt.h:
              * platform/win/FontPlatformData.h:
              * platform/win/PlatformScrollBar.h:
              * rendering/AutoTableLayout.h:
              * rendering/HitTestRequest.h:
              * rendering/HitTestResult.h:
              * rendering/InlineBox.h:
              * rendering/InlineFlowBox.h:
              * rendering/Length.h:
              * rendering/ListMarkerBox.h:
              * rendering/RenderBox.h:
              * rendering/RenderMenuList.h:
              * rendering/RenderPart.h:
              * rendering/RenderPartObject.h:
              * rendering/RenderPath.h:
              * rendering/RenderReplaced.h:
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGInline.h:
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderSVGTSpan.h:
              * rendering/RenderSVGText.h:
              * rendering/RenderStyle.h:
              * rendering/RenderTableCol.h:
              * rendering/RenderThemeWin.h:
              * rendering/bidi.h:
              * xml/DOMParser.h:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.h:
              * xml/XPathExpressionNode.h:
              * xml/XPathFunctions.h:
              * xml/XPathNSResolver.h:
              * xml/XPathNamespace.h:
              * xml/XPathParser.h:
              * xml/XPathPath.h:
              * xml/XPathPredicate.h:
              * xml/XPathResult.h:
              * xml/XPathStep.h:
              * xml/XPathUtil.h:
              * xml/XPathValue.h:
              * xml/XPathVariableReference.h:
              * xml/XSLImportRule.h:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessor.h:
              * xml/xmlhttprequest.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8eddecf9
  27. 08 Nov, 2006 1 commit
    • thatcher's avatar
      Reviewed by Darin. · b7557c21
      thatcher authored
              <rdar://problem/4713280> Would like to get an array of bounding rects rather than just the union of them for a DOMRange
              <rdar://problem/4804317> Would like SPI to get bounding box for a DOM range without having to change the selection
      
              Added lineBoxRects and boundingBox to Range and DOMRange. These methods correspond to the DOMNode methods.
      
              * bindings/objc/DOM.mm:
              (WebCore::kit):
              (-[DOMNode lineBoxRects]):
              (-[DOMRange boundingBox]):
              (-[DOMRange lineBoxRects]):
              * bindings/objc/DOMPrivate.h:
              * dom/Range.cpp:
              (WebCore::Range::boundingBox):
              (WebCore::Range::addLineBoxRects):
              * dom/Range.h:
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::addLineBoxRects):
              * rendering/RenderContainer.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::addLineBoxRects):
              * rendering/RenderObject.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::addLineBoxRects):
              * rendering/RenderText.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7557c21
  28. 12 Sep, 2006 1 commit
    • kmccullo's avatar
      LayoutTests: · b4b0826c
      kmccullo authored
              Reviewed by Andersca, Maciej, Brady.
      
              * fast/dom/Range/range-intersectsNode-expected.txt: Added.
              * fast/dom/Range/range-intersectsNode.html: Added.
              * fast/dom/Range/resources/intersectsNode.js: Added.
      
      WebCore:
      
              Reviewed by Andersca, Maciej, Brady.
      
              - Implemented intersectsNode in the Range Class
                to be compliant with Mozilla standard
      
              * dom/Range.cpp:
              (WebCore::Range::intersectsNode):
              * dom/Range.h:
              * dom/Range.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4b0826c
  29. 11 Sep, 2006 1 commit
    • kmccullo's avatar
      LayoutTests: · 3acf4dc9
      kmccullo authored
              Reviewed by Darin.
      
              * ChangeLog:
              * fast/dom/Range/range-compareNode-expected.txt: Added.
              * fast/dom/Range/range-compareNode.html: Added.
              * fast/dom/Range/range-comparePoint.html:
      
      WebCore:
      
              Reviewed by Darin. 
      
              - Implements comparePoint on the Range class
      
              - Exposes RangeExceptions in JavaScript
      
              * DerivedSources.make:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_binding.cpp:
              * bindings/objc/DOMInternal.mm:
              * dom/Range.cpp:
              (WebCore::Range::comparePoint):
              (WebCore::Range::compareNode):
              * dom/Range.h:
              (WebCore::Range::):
              * dom/Range.idl:
              * dom/RangeException.h: Added.
              (WebCore::):
              * dom/RangeException.idl: Added.
              * page/DOMWindow.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3acf4dc9
  30. 03 Aug, 2006 1 commit
    • weinig's avatar
      JavaScriptCore: · f18aae37
      weinig authored
              Reviewed by Darin.
      
              - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
                Make WebCore compile with -Wundef
      
                * Adds -Wundef flag to Xcode project
                * Converts #ifs to #ifdef and #ifndefs where needed.
                * Added #define YYMAXDEPTH 10000 in kjs/grammar.y
                  to fix a warning from within Bison.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/jni/jni_jsobject.cpp:
              (JavaJSObject::getSlot):
              (JavaJSObject::setSlot):
              * bindings/npapi.h:
              * bindings/objc/objc_class.mm:
              (KJS::Bindings::ObjcClass::methodsNamed):
              (KJS::Bindings::ObjcClass::fieldNamed):
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              * bindings/objc/objc_runtime.mm:
              (ObjcMethod::getMethodSignature):
              (ObjcField::name):
              (ObjcField::type):
              * kjs/grammar.y:
              * kjs/identifier.h:
      
      JavaScriptGlue:
      
              Reviewed by Darin.
      ...
      f18aae37
  31. 08 Jun, 2006 1 commit
  32. 06 Jun, 2006 1 commit
    • justing's avatar
      LayoutTests: · 11ec52ed
      justing authored
              Reviewed by levi
      
              Added to demonstrate fixes:
              * editing/pasteboard/merge-after-delete-expected.checksum: Added.
              * editing/pasteboard/merge-after-delete-expected.png: Added.
              * editing/pasteboard/merge-after-delete-expected.txt: Added.
              * editing/pasteboard/merge-after-delete.html: Added.
              * editing/inserting/line-break-expected.checksum: Added.
              * editing/inserting/line-break-expected.png: Added.
              * editing/inserting/line-break-expected.txt: Added.
              * editing/inserting/line-break.html: Added.
              * editing/inserting/multiple-lines-selected-expected.checksum: Added.
              * editing/inserting/multiple-lines-selected-expected.png: Added.
              * editing/inserting/multiple-lines-selected-expected.txt: Added.
              * editing/inserting/multiple-lines-selected.html: Added.
              
              Fixed:
              * editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
              * editing/deleting/delete-3775172-fix-expected.txt:
              * editing/deleting/delete-3928305-fix-expected.txt:
              * editing/deleting/delete-3959464-fix-expected.checksum:
              * editing/deleting/delete-3959464-fix-expected.png:
              * editing/deleting/delete-3959464-fix-expected.txt:
              * editing/deleting/delete-4038408-fix-expected.checksum:
              * editing/deleting/delete-4038408-fix-expected.png:
              * editing/deleting/delete-4038408-fix-expected.txt:
              * editing/deleting/delete-4038408-fix.html:
              * editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-011-expected.checksum:
              * editing/deleting/delete-at-paragraph-boundaries-011-expected.png:
              * editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
              * editing/deleting/delete-block-contents-001-expected.txt:
              * editing/deleting/delete-block-contents-002-expected.txt:
              * editing/deleting/delete-block-contents-003-expected.txt:
              * editing/deleting/delete-br-011-expected.checksum:
              * editing/deleting/delete-br-011-expected.png:
              * editing/deleting/delete-br-011-expected.txt:
              * editing/deleting/delete-image-004-expected.txt:
              * editing/deleting/delete-line-010-expected.txt:
              * editing/deleting/delete-line-015-expected.txt:
              * editing/deleting/delete-select-all-001-expected.checksum:
              * editing/deleting/delete-select-all-001-expected.png:
              * editing/deleting/delete-select-all-001-expected.txt:
              * editing/deleting/delete-select-all-002-expected.txt:
              * editing/deleting/delete-select-all-003-expected.checksum:
              * editing/deleting/delete-select-all-003-expected.png:
              * editing/deleting/delete-select-all-003-expected.txt:
              * editing/execCommand/insertImage-expected.checksum:
              * editing/execCommand/insertImage-expected.png:
              * editing/input/attributed-substring-from-range-lines-expected.txt:
              * editing/input/text-input-controller-expected.txt:
              * editing/inserting/insert-3654864-fix-expected.txt:
              * editing/inserting/insert-3659587-fix-expected.txt:
              * editing/inserting/insert-3775316-fix-expected.txt:
              * editing/inserting/insert-after-delete-001-expected.txt:
              * editing/inserting/insert-at-end-01-expected.txt:
              * editing/inserting/insert-at-end-02-expected.txt:
              * editing/inserting/insert-br-001-expected.txt:
              * editing/inserting/insert-br-005-expected.txt:
              * editing/pasteboard/4076267-3-expected.txt:
              * editing/pasteboard/4076267-expected.txt:
              * editing/pasteboard/drag-drop-modifies-page-expected.txt:
              * editing/pasteboard/paste-4035648-fix-expected.txt:
              * editing/pasteboard/paste-4039777-fix-expected.checksum:
              * editing/pasteboard/paste-4039777-fix-expected.png:
              * editing/pasteboard/paste-4039777-fix-expected.txt:
              * editing/pasteboard/paste-match-style-001-expected.txt:
              * editing/pasteboard/paste-match-style-002-expected.txt:
              * editing/pasteboard/smart-paste-006-expected.txt:
              * editing/pasteboard/smart-paste-007-expected.txt:
              * editing/selection/drag-to-contenteditable-iframe-expected.txt:
              * editing/style/block-style-005-expected.txt:
              * editing/style/typing-style-002-expected.txt:
              * editing/unsupported-content/list-delete-001-expected.checksum:
              * editing/unsupported-content/list-delete-001-expected.png:
              * editing/unsupported-content/list-delete-001-expected.txt:
              * editing/unsupported-content/list-delete-002-expected.checksum:
              * editing/unsupported-content/list-delete-002-expected.png:
              * editing/unsupported-content/list-delete-002-expected.txt:
              * editing/unsupported-content/table-delete-001-expected.checksum:
              * editing/unsupported-content/table-delete-001-expected.png:
              * editing/unsupported-content/table-delete-001-expected.txt:
              * editing/unsupported-content/table-delete-003-expected.checksum:
              * editing/unsupported-content/table-delete-003-expected.png:
              * editing/unsupported-content/table-delete-003-expected.txt:
              * fast/text/attributed-substring-from-range.html:
      
      WebCore:
      
              Reviewed by levi
      
              * dom/Node.cpp:
              (WebCore::Node::firstDescendant): Added.
              * dom/Node.h:
              * dom/Range.cpp: Added a constructor that takes in Positions.
              (WebCore::Range::Range):
              * dom/Range.h:
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::insertNodeAt): 
              Let this function insert children into empty containers.  
              Calls canHaveChildrenForEditing.
              (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
              (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
              replacement so that moveParagraph's callers have a valid destination after the move.
              * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
              made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
              Removed m_startNode, used a local variable.
              (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
              (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
              front and keep track of it as nodes and text are removed.
              (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
              (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
              Update m_endingPosition as we remove nodes.
              (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
              Update m_endingPosition as we delete text.
              (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
              (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
              clobbers the old one.
              (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
              deletion. Make the placeholder decision before we do special element expansion.
              * editing/DeleteSelectionCommand.h:
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
              up the code.
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
              a merge (added a testcase).
              * editing/RebalanceWhitespaceCommand.cpp:
              (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply): Ditto.
              Merge even when the incoming fragment has interchange newlines (added a testcase).
              Merge when the selection being pasted into starts at the start of a block because not
              doing so would leave one or more hanging empty blocks.
              (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
              Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
              a selection, and a selection can't be created until whitespace has been rebalanced.
              * editing/htmlediting.cpp:
              (WebCore::canHaveChildrenForEditing): Added.
              * editing/htmlediting.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11ec52ed
  33. 26 May, 2006 1 commit
    • adele's avatar
      LayoutTests: · 3be74fe8
      adele authored
              Reviewed by Hyatt.
      
              Added test for new textarea implementation.  Tests
              wrap attributes and form submission.
      
              * fast/forms/textarea-appearance-wrap-expected.txt: Added.
              * fast/forms/textarea-appearance-wrap.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              Added support for wrap=hard for new textarea implementation.
      
              Tests: fast/forms/textarea-appearance-wrap.html
      
              * dom/Range.h: Added version of toString that will convert BRs to newlines.
              * dom/Range.cpp: (WebCore::Range::toString):
              * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): 
                When in plain-text mode, and a white-space mode that doesn't collapse whitespace, create a fragment with one text node.
              * editing/visible_units.cpp:
              (WebCore::previousLinePosition): Subtract scroll offset so the absolute position for the containing block is correct.
              (WebCore::nextLinePosition): ditto.
              * rendering/RenderText.cpp:
              (WebCore::RenderText::positionForCoordinates): If the position is equal to the left edge of the box,
              make the affinity downstream so the position doesn't jump back to the previous line.
              (WebCore::RenderText::atLineWrap): The logic was reversed here in a recent change.
              If the box is not at a line break, then its at a line wrap.
              (WebCore::RenderText::caretRect): Only go to the next text box if its at a line wrap and the
               affinity is also downstream.  If its upstream, then the correct box is on the current line.
              (WebCore::RenderText::inlineBox): ditto.
              * rendering/RenderTextField.cpp:
              (WebCore::RenderTextField::updateFromElement): multi line controls don't need to check
               valueMatchesRenderer before updating the renderer.  For textareas, the renderer should always try to update.
               This matches our old textarea behavior.
              (WebCore::RenderTextField::text): Pass true to textContent so it converts BRs to newlines.
              (WebCore::RenderTextField::textWithHardLineBreaks): Iterate through the RootLineBoxes to find the soft wraps and replace them with newlines.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3be74fe8
  34. 09 May, 2006 1 commit
    • mjs's avatar
      JavaScriptCore: · bb863518
      mjs authored
              Rubber stamped by Anders.
              
              - renamed kxmlcore to wtf
              
              kxmlcore --> wtf
              KXMLCore --> WTF
              WKC --> WTF
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/c/c_instance.cpp:
              * bindings/objc/WebScriptObject.mm:
              * kjs/JSImmediate.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::registerThread):
              * kjs/collector.h:
              * kjs/config.h:
              * kjs/function.cpp:
              (KJS::isStrWhiteSpace):
              * kjs/function.h:
              * kjs/identifier.cpp:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              (Lexer::shift):
              (Lexer::isWhiteSpace):
              (Lexer::isIdentStart):
              (Lexer::isIdentPart):
              * kjs/lookup.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
             ...
      bb863518
  35. 11 Apr, 2006 1 commit
    • darin's avatar
      JavaScriptCore: · 36d1136a
      darin authored
              Rubber-stamped by John Sullivan.
      
              - switched from a shell script to a makefile for generated files
              - removed lots of unneeded includes
              - added new Forward.h and HashForward.h headers that allow compiling with
                fewer unneeded templates
      
              * DerivedSources.make: Added.
              * generate-derived-sources: Removed.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, changed to use
              DerivedSources.make.
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
              * kxmlcore/HashCountedSet.h: Include HashForward for default args.
              * kxmlcore/HashMap.h: Ditto.
              * kxmlcore/HashSet.h: Ditto.
      
              * kjs/object.h:
              * kjs/object.cpp:
              Moved KJS_MAX_STACK into the .cpp file.
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_instance.h:
              * bindings/jni/jni_class.h:
              * bindings/jni/jni_runtime.h:
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.h:
              * bindings/runtime_array.cpp:
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.h:
              * kjs/JSImmediate.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.h:
              * kjs/context.h:
              * kjs/debugger.cpp:
              * kjs/error_object.h:
              * kjs/function_object.h:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object_object.cpp:
              * kjs/operations.cpp:
              * kjs/protected_reference.h:
              * kjs/reference.h:
              * kjs/reference_list.h:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/value.cpp:
              * kjs/value.h:
              * kxmlcore/HashTable.h:
              * kxmlcore/ListRefPtr.h:
              * kxmlcore/TCPageMap.h:
              * kxmlcore/Vector.h:
              Removed unneeded header includes.
      
      JavaScriptGlue:
      
              Rubber-stamped by John Sullivan.
      
              - added forwarding headers for the new Forward.h and HashForward.h files
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
      WebCore:
      
              Rubber-stamped by John Sullivan (except for pbxproj change).
      
              - updated to use the new Forward.h and HashForward.h headers
              - moved the showTree debugging functions out of the WebCore
                namespace so they are easier to call from gdb, and renamed
                the showTree member functions so they don't get in the way;
                now you can do "call showTree(x)" in gdb and it just works
              - removed a lot of unneeded includes
      
              * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
              were not relative to the enclosing group.
      
              * ForwardingHeaders/kxmlcore/Forward.h: Added.
              * ForwardingHeaders/kxmlcore/HashForward.h: Added.
              * bindings/js/JSCanvasRenderingContext2DBase.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_traversal.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMCore.h:
              * bindings/objc/DOMEvents.mm:
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/objc/DOMInternal.mm:
              * bindings/objc/DOMUtility.mm:
              * bindings/objc/DOMViews.mm:
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.mm:
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCoreFrameNamespaces.mm:
              * bridge/mac/WebCoreJavaScript.mm:
              * bridge/win/PageWin.cpp:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/css_base.h:
              * css/css_ruleimpl.h:
              * css/css_valueimpl.cpp:
              * css/cssparser.cpp:
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              * css/cssstyleselector.h:
              * dom/AbstractView.h:
              * dom/AtomicStringList.h:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/Comment.cpp:
              * dom/ContainerNode.cpp:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Element.h:
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::dump):
              (WebCore::forbidEventDispatch):
              (WebCore::allowEventDispatch):
              (WebCore::eventDispatchForbidden):
              * dom/EventTargetNode.h:
              (WebCore::EventTargetNode::postDispatchEventHandler):
              * dom/NamedAttrMap.h:
              * dom/Node.cpp:
              (WebCore::Node::showNode):
              (WebCore::Node::showTree):
              (WebCore::Node::showTreeAndMark):
              (showTree):
              * dom/Node.h:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/Position.cpp:
              (showTree):
              * dom/Position.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/dom2_eventsimpl.cpp:
              * dom/dom2_eventsimpl.h:
              * dom/dom2_traversalimpl.h:
              * dom/dom_xmlimpl.cpp:
              * dom/xml_tokenizer.cpp:
              * dom/xml_tokenizer.h:
              * editing/AppendNodeCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/ApplyStyleCommand.h:
              * editing/BreakBlockquoteCommand.cpp:
              * editing/CompositeEditCommand.cpp:
              * editing/CreateLinkCommand.cpp:
              * editing/DeleteFromTextNodeCommand.cpp:
              * editing/DeleteFromTextNodeCommand.h:
              * editing/DeleteSelectionCommand.cpp:
              * editing/EditCommand.cpp:
              * editing/EditCommand.h:
              * editing/HTMLInterchange.cpp:
              * editing/InsertIntoTextNodeCommand.cpp:
              * editing/InsertIntoTextNodeCommand.h:
              * editing/InsertLineBreakCommand.cpp:
              * editing/InsertNodeBeforeCommand.cpp:
              * editing/InsertParagraphSeparatorCommand.cpp:
              * editing/InsertTextCommand.cpp:
              * editing/JSEditor.cpp:
              * editing/JoinTextNodesCommand.cpp:
              * editing/MergeIdenticalElementsCommand.cpp:
              * editing/ModifySelectionListLevelCommand.cpp:
              * editing/MoveSelectionCommand.cpp:
              * editing/RebalanceWhitespaceCommand.h:
              * editing/RemoveCSSPropertyCommand.h:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/Selection.cpp:
              (WebCore::Selection::formatForDebugger):
              (WebCore::Selection::showTree):
              (showTree):
              * editing/Selection.h:
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::formatForDebugger):
              (WebCore::SelectionController::showTree):
              (showTree):
              * editing/SelectionController.h:
              * editing/TextIterator.cpp:
              * editing/TextIterator.h:
              * editing/TypingCommand.cpp:
              * editing/TypingCommand.h:
              * editing/UnlinkCommand.cpp:
              * editing/VisiblePosition.cpp:
              (WebCore::isEqualIgnoringAffinity):
              (WebCore::VisiblePosition::formatForDebugger):
              (WebCore::VisiblePosition::showTree):
              (showTree):
              * editing/VisiblePosition.h:
              (WebCore::VisiblePosition::VisiblePosition):
              (WebCore::operator==):
              * editing/WrapContentsInDummySpanCommand.cpp:
              * editing/htmlediting.h:
              * editing/markup.cpp:
              * editing/markup.h:
              (WebCore::):
              * editing/visible_units.cpp:
              * html/CanvasGradient.cpp:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.cpp:
              * html/CanvasStyle.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLElement.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLParser.cpp:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/html_baseimpl.cpp:
              * html/html_headimpl.h:
              * kcanvas/KCanvasCreator.cpp:
              * kcanvas/KCanvasFilters.h:
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasResources.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderPath.h:
              * kcanvas/device/KRenderingDevice.h:
              * kcanvas/device/KRenderingPaintServerGradient.h:
              * kcanvas/device/KRenderingPaintServerPattern.h:
              * kcanvas/device/KRenderingPaintServerSolid.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/decoder.h:
              * khtml/xsl/XSLStyleSheet.cpp:
              * khtml/xsl/XSLTProcessor.cpp:
              * khtml/xsl/XSLTProcessor.h:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/ecma/GlobalObject.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimatedColor.h:
              * ksvg2/svg/SVGAnimatedLengthList.h:
              * ksvg2/svg/SVGAnimatedNumberList.h:
              * ksvg2/svg/SVGAnimatedString.h:
              * ksvg2/svg/SVGAnimatedTransformList.h:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGHelper.h:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGTransform.h:
              * kwq/AccessibilityObjectCache.mm:
              * kwq/ClipboardMac.mm:
              * kwq/JavaAppletWidget.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQKHTMLSettings.h:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQLoader.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/RegularExpression.h:
              * kwq/RenderTreeAsText.cpp:
              * kwq/RenderTreeAsText.h:
              * kwq/WebCoreAXObject.mm:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedObject.h:
              * loader/CachedScript.cpp:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              (WebCore::Plugin::Plugin):
              (WebCore::Plugin::view):
              * platform/Color.cpp:
              * platform/FloatRect.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontFamily.cpp:
              * platform/GraphicsContext.cpp:
              * platform/Image.cpp:
              * platform/Image.h:
              * platform/IntRect.h:
              * platform/KURL.cpp:
              * platform/KURL.h:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StreamingTextDecoder.cpp:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextEncoding.h:
              * platform/Timer.cpp:
              * platform/Timer.h:
              * platform/TransferJob.cpp:
              * platform/TransferJob.h:
              * platform/TransferJobInternal.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              * platform/cairo/ImageCairo.cpp:
              * platform/cairo/ImageSourceCairo.cpp:
              * platform/image-decoders/gif/GIFImageReader.cpp:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/mac/FontFamilyMac.mm:
              * platform/mac/FontMac.mm:
              * platform/mac/ImageMac.mm:
              * platform/mac/TextEncodingMac.cpp:
              * platform/mac/TransferJobMac.mm:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/TransferJobWin.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderCanvas.cpp:
              * rendering/RenderCanvas.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              (showTree):
              * rendering/RenderObject.h:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextField.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeWin.cpp:
              * rendering/bidi.cpp:
              * rendering/render_form.h:
              * rendering/render_line.cpp:
              (showTree):
              * rendering/render_line.h:
              * rendering/render_list.cpp:
              * rendering/render_replaced.cpp:
              * rendering/render_replaced.h:
              * rendering/render_style.cpp:
              * rendering/render_style.h:
              * xml/xmlhttprequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36d1136a
  36. 22 Mar, 2006 1 commit
    • mjs's avatar
      Reviewed by Eric. · 43803983
      mjs authored
              
              Handle dependencies for derived sources properly.
      
              - Made a new generate-derived-sources script that does all the depedency checking
              and source generation.
              - Put this script in a subtarget instead of a phase.
              - Made derived sources go in the build root, not a source root.
              - Added derived sources to the project.
              - Removed files whose sole purpose was to include and compile derived sources,
              just compile those directly for now.
              - Tweaked the IDL code generator so it can handle one IDL at a time, to make
              it easier to get the dependencies right.
              
              * generate-derived-sources: Added.
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMCore.cpp: Removed.
              * bindings/js/JSDOMEvents.cpp: Removed.
              * bindings/js/JSDOMHTML.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/generate-bindings.pl:
              * css/UserAgentStyleSheets.cpp: Removed.
              * dom/Range.cpp:
              (WebCore::Range::~Range):
              * dom/Range.h:
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMStyleSheet::DOMStyleSheet):
              (KJS::DOMStyleSheetList::DOMStyleSheetList):
              (KJS::DOMCSSRuleList::DOMCSSRuleList):
              (KJS::DOMCSSRule::DOMCSSRule):
              * khtml/ecma/kjs_css.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43803983
  37. 19 Mar, 2006 1 commit
  38. 06 Mar, 2006 1 commit
    • darin's avatar
      Reviewed by Maciej. · 8d1badc7
      darin authored
              - moved all the remnants of the public C++ DOM API out of khtml/dom
              - changed from "int" to "ExceptionCode" for DOM exceptions
              - removed unused CSS_HTML_RELATIVE
              - changed offsetInCharacters to be a member function of NodeImpl
              - changed DOM functions that take a NodeType to use NodeType instead of
                unsigned short for clarity (will still be unsigned short in bindings)
              - changed exception constants so they can be used directly in the
                implementation code (added in the offsets for different types of exceptions)
              - replaced the eventListenerType function with an isHTMLEventListener function
              - got rid of EventListenerEvent, which is a synonym for EventImpl*
              - eliminated handleEventImpl, whish is now the same as handleEvent
      
              - did other preparation for the "remove Impl suffix" renaming
                (tested by using a script that does the renaming)
      
              * khtml/dom/css_rule.h: Removed.
              * khtml/dom/css_stylesheet.h: Removed.
              * khtml/dom/css_value.h: Removed.
              * khtml/dom/dom2_events.cpp: Removed.
              * khtml/dom/dom2_events.h: Removed.
              * khtml/dom/dom2_range.h: Removed.
              * khtml/dom/dom2_traversal.cpp: Removed.
              * khtml/dom/dom2_traversal.h: Removed.
              * khtml/dom/dom_exception.h: Removed.
              * khtml/dom/dom_node.h: Removed.
      
              * dom/EventListener.h: Added.
              * dom/ExceptionCode.h: Added.
      
              * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes
              * WebCore+SVG/kdomevents.h: Removed.
      
              * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
              * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
      
              * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file
              names and exception prefix for changes in DOM exceptions.
      
              * bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be
              recompiled. We need to get this fixed!
              * bindings/js/JSDOMEvents.cpp: Ditto.
      
              * dom/Attr.idl:
              * dom/CharacterData.idl:
              * dom/DOMImplementation.idl:
              * dom/DocumentType.idl:
              * dom/Element.idl:
              * dom/Entity.idl:
              * dom/MutationEvent.idl:
              * dom/Notation.idl:
              * dom/ProcessingInstruction.idl:
              * dom/Text.idl:
              * dom/WheelEvent.idl:
              Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect.
              Added license headers.
      
              * bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes.
              Changed from a single "using namespace WebCore" to individual using statements
              because of the imminent conflict between DOMImplementation in Objective C
              and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef
              for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int.
      
              * bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception
              codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated
              and use basic DOM exception codes instead. We might have to do something for binary
              compatibility eventually, but perhaps not.
      
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMEvents.mm:
              * bindings/objc/DOMEventsInternal.h:
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMHTMLInternal.h:
              * bindings/objc/DOMViews.mm:
              * bindings/objc/DOMViewsInternal.h:
              Fixed garbled license agreements.
              Changed to use ExceptionCode instead of int and name the variable "ec".
      
              * bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead
              of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be
              addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name
              of the WebCore class. This helps work around what seems like a bug in namespace support
              in Objective-C mode, although the bug only happens after the "remove Impl" renaming.
              * bindings/objc/DOMInternal.mm:
              (getDOMWrapperImpl): Changed to use HashMap.
              (addDOMWrapperImpl): Ditto.
              (removeDOMWrapper): Ditto.
              (raiseDOMException): Update to use new names for exception number ranges.
      
              * bridge/mac/WebCoreFrameBridge.mm:
              * khtml/ecma/xmlserializer.cpp:
              * kwq/KWQAccObject.mm:
              Removed unneeded includes.
      
              * css/css_ruleimpl.h: Moved "rule type" into this header.
      
              * dom/CommentImpl.h:
              * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true.
      
              * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
              Changed this around so we don't have a local variable named docImpl.
      
              * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception
              constants.
      
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent.
              (KJS::JSAbstractEventListener::isHTMLEventListener): Added.
      
              * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of
              InputMutationListener. (Might be unnecessary since this class might be deleted soon.)
      
              * bridge/mac/MacFrame.mm:
              * css/css_computedstyle.cpp:
              * css/css_computedstyle.h:
              * css/css_ruleimpl.cpp:
              * css/css_stylesheetimpl.cpp:
              * css/css_stylesheetimpl.h:
              * css/css_valueimpl.cpp:
              * css/css_valueimpl.cpp:
              * css/css_valueimpl.h:
              * css/css_valueimpl.h:
              * css/cssparser.cpp:
              * css/cssstyleselector.cpp:
              * dom/CDATASectionImpl.cpp:
              * dom/CDATASectionImpl.h:
              * dom/CharacterDataImpl.cpp:
              * dom/CharacterDataImpl.h:
              * dom/ContainerNodeImpl.cpp:
              * dom/DOMImplementationImpl.cpp:
              * dom/DocumentFragmentImpl.cpp:
              * dom/DocumentFragmentImpl.h:
              * dom/DocumentImpl.cpp:
              * dom/DocumentImpl.h:
              * dom/DocumentTypeImpl.cpp:
              * dom/DocumentTypeImpl.h:
              * dom/NamedNodeMapImpl.h:
              * dom/NodeImpl.cpp:
              * dom/NodeImpl.h:
              * dom/NodeListImpl.cpp:
              * dom/TextImpl.cpp:
              * dom/TextImpl.h:
              * dom/dom2_eventsimpl.cpp:
              * dom/dom2_eventsimpl.h:
              * dom/dom2_rangeimpl.cpp:
              * dom/dom2_rangeimpl.h:
              * dom/dom2_traversalimpl.cpp:
              * dom/dom2_traversalimpl.h:
              * dom/dom_elementimpl.cpp:
              * dom/dom_elementimpl.h:
              * dom/dom_position.cpp:
              * dom/dom_xmlimpl.cpp:
              * dom/dom_xmlimpl.h:
              * dom/xml_tokenizer.cpp:
              * editing/AppendNodeCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/CompositeEditCommand.cpp:
              * editing/DeleteFromTextNodeCommand.cpp:
              * editing/InsertIntoTextNodeCommand.cpp:
              * editing/InsertLineBreakCommand.cpp:
              * editing/InsertNodeBeforeCommand.cpp:
              * editing/InsertParagraphSeparatorCommand.cpp:
              * editing/JoinTextNodesCommand.cpp:
              * editing/MergeIdenticalElementsCommand.cpp:
              * editing/RemoveNodeAttributeCommand.cpp:
              * editing/RemoveNodeCommand.cpp:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/Selection.cpp:
              * editing/SelectionController.cpp:
              * editing/SelectionController.h:
              * editing/SetNodeAttributeCommand.cpp:
              * editing/SplitElementCommand.cpp:
              * editing/SplitTextNodeCommand.cpp:
              * editing/VisiblePosition.cpp:
              * editing/WrapContentsInDummySpanCommand.cpp:
              * editing/htmlediting.cpp:
              * editing/markup.cpp:
              * editing/visible_text.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/html/HTMLElementImpl.cpp:
              * khtml/html/HTMLOptionElementImpl.cpp:
              * khtml/html/HTMLOptionElementImpl.h:
              * khtml/html/HTMLOptionsCollectionImpl.cpp:
              * khtml/html/HTMLSelectElementImpl.cpp:
              * khtml/html/HTMLTextAreaElementImpl.cpp:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_documentimpl.h:
              * khtml/html/html_headimpl.cpp:
              * khtml/html/html_tableimpl.cpp:
              * khtml/html/html_tableimpl.h:
              * khtml/html/htmlparser.cpp:
              * khtml/xbl/xbl_tokenizer.cpp:
              * khtml/xsl/xsl_stylesheetimpl.cpp:
              * ksvg2/misc/SVGDocumentExtensions.cpp:
              * ksvg2/svg/SVGAnimationElementImpl.cpp:
              * ksvg2/svg/SVGDOMImplementationImpl.cpp:
              * ksvg2/svg/SVGDOMImplementationImpl.h:
              * ksvg2/svg/SVGDocumentImpl.cpp:
              * ksvg2/svg/SVGDocumentImpl.h:
              * ksvg2/svg/SVGElementImpl.cpp:
              * ksvg2/svg/SVGLengthImpl.cpp:
              * ksvg2/svg/SVGLocatableImpl.cpp:
              * ksvg2/svg/SVGPolyElementImpl.cpp:
              * ksvg2/svg/SVGSVGElementImpl.cpp:
              * ksvg2/svg/SVGStyleElementImpl.cpp:
              * ksvg2/svg/SVGStyleElementImpl.h:
              * ksvg2/svg/SVGUseElementImpl.cpp:
              * page/Frame.cpp:
              * page/FrameView.cpp:
              * rendering/render_object.cpp:
              * xml/xmlhttprequest.cpp:
              Changed to use ExceptionCode instead of int and name the variable "ec".
              Also updated use of exception codes and other constants to get them from
              their new locations.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d1badc7