1. 08 Jun, 2006 5 commits
    • aliceli1's avatar
      Reviewed by Justin. · 7f32a883
      aliceli1 authored
              - fixed <rdar://problem/4578115> support Range.isPointInRange
              - fixed <rdar://problem/4578123> support Range.comparePoint
      
              * dom/Range.cpp:
              (WebCore::Range::isPointInRange):
              added implementation
              (WebCore::Range::comparePoint):
              added implementation
              * dom/Range.h:
              added prototypes
              * dom/Range.idl:
              added bindings
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f32a883
    • thatcher's avatar
      Build fix. · 6e77b2fd
      thatcher authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e77b2fd
    • thatcher's avatar
      Reviewed by Darin and John. · b48b8f92
      thatcher authored
              <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
              always on (for Mail, to avoid reflow when typing)
      
              Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
              Locking the scroll mode prevents WebCore from changing it as needed.
              Also adds an SPI on WebView that will lock the "always on" mode
              for each scroller.
      
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebDynamicScrollBarsView.h:
              * WebView/WebDynamicScrollBarsView.m:
              (-[WebDynamicScrollBarsView setAllowsScrolling:]):
              (-[WebDynamicScrollBarsView allowsScrolling]):
              (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
              (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
              (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
              (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
              (-[WebDynamicScrollBarsView setScrollingMode:]):
              (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
              (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
              (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
              (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
              (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
              * WebView/WebView.m:
              (-[WebView setAlwaysShowVerticalScroller:]):
              (-[WebView alwaysShowVerticalScroller]):
              (-[WebView setAlwaysShowHorizontalScroller:]):
              (-[WebView alwaysShowHorizontalScroller]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b48b8f92
    • darin's avatar
      WebCore: · 9ca92892
      darin authored
              Reviewed by Justin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
                REGRESSION: TinyMCE: Crash on Undo
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
              Changed to call nodeInfoAtPoint directly.
              (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
              Also added code to convert coordinates so it works for points that are in nodes in subframes.
      
              * page/Frame.cpp:
              (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
              endpoints in another document.
              (WebCore::Frame::setSelection): Ditto.
      
      WebKit:
      
              Reviewed by Justin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
                REGRESSION: TinyMCE: Crash on Undo
      
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _topHTMLView]): Added.
              (-[WebHTMLView _isTopHTMLView]): Added.
              (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
              (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
              Forward to the top HTML view, so that only the top view ever starts a dragging operation.
              Change dragging code to not assume that the dragged node is in the current view's document.
              Added checks that the node is an element in a couple places and coordinate conversions.
              (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
              (-[NSArray addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
              since we now use the dataSource field to get to the WebView.
              (-[NSArray removeMouseMovedObserver]): Added a comment.
              (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
              Forward to the top HTML view.
              (-[NSArray draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
              (-[NSArray draggedImage:movedTo:]): Ditto.
              (-[NSArray draggedImage:endedAt:operation:]): Ditto.
              (-[NSArray namesOfPromisedFilesDroppedAtDestination:]): Ditto.
              (-[NSArray _canProcessDragWithDraggingInfo:]): Ditto.
              (-[NSArray _isMoveDrag]): Ditto.
              (-[NSArray draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
              (-[NSArray draggingCancelledWithDraggingInfo:]): Ditto.
              (-[NSArray concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
              with the appropriate bridge when receiving a drag. This fixes the problem where the
              top level frame got a selection intended for the inner frame; the source of the bug.
              (-[NSArray elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
              so this works properly when returning an element from an inner frame.
              (-[NSArray setDataSource:]): Added a call to addMouseMovedObserver, needed now that
              addMouseMovedObserver won't do anything if called when dataSource is nil.
              (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
      
              * WebView/WebView.m:
              (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
              is now gone.
              (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
              drag caret is now a page-level item. Later we'll move it to the page bridge.
              (-[WebView removeDragCaret]): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ca92892
    • darin's avatar
      Added change log entry that I apparently forgot. · bc2c0c7f
      darin authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc2c0c7f
  2. 07 Jun, 2006 10 commits
    • justing's avatar
      LayoutTests: · 93798f1e
      justing authored
              Reviewed by levi
      
              * editing/deleting/delete-4038408-fix-expected.txt:
              * editing/input/attributed-substring-from-range-lines-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-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:
      
      WebCore:
      
              Reviewed by levi
              
              Fixed some comments and removed an unused variable.
      
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::removeBlockPlaceholder):
              Don't remove a br if it isn't at the start of a block, since
              it isn't really a "block placeholder".
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::initializePositionData):
              (WebCore::DeleteSelectionCommand::mergeParagraphs):
              (WebCore::DeleteSelectionCommand::doApply):
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply):
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply):
              (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
              * editing/htmlediting.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93798f1e
    • hyatt's avatar
      Add support for custom highlighting to WebKit. · 3e8d3635
      hyatt authored
              Reviewed by justin
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _highlighterForType:]):
              * WebView/WebHTMLViewInternal.h:
              * WebView/WebHTMLViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e8d3635
    • hyatt's avatar
      Add support for custom highlighting. This is all ifdefed to be Mac-only. · 4e6f7fbc
      hyatt authored
              Reviewed by justin
      
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::paintCustomHighlight):
              * bridge/mac/WebCoreFrameBridge.h:
              * platform/mac/ClipboardMac.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              (WebCore::InlineTextBox::paintCustomHighlight):
              * rendering/InlineTextBox.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e6f7fbc
    • adele's avatar
      WebCore: · e76b0101
      adele authored
              Reviewed by Hyatt 
      
              Added support for cross-platform resize property.
      
              * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
              already cache this info when we handle mouse down and mouse up.
              * platform/mac/MouseEventMac.mm: ditto.
              * platform/win/TemporaryLinkStubs.cpp: ditto.
      
              * page/Frame.cpp:
              (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
              * page/FrameView.cpp:
              (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
              (WebCore::FrameView::mousePressed): Added.
              * page/FrameView.h: Added mousePressed.
      
              * rendering/RenderTheme.h: Removed paintResizeControl.
              Since its not dependent on the theme, the layer can just paint this.
              * rendering/RenderTheme.cpp: ditto.
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
              (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
              (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
              (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
              * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
              more customization.
      
              * platform/cairo/ImageCairo.cpp:
              (WebCore::Image::loadResource): Loads image resources.
      
      WebKit:
      
              Reviewed by Hyatt. 
      
              Added resources for missingImage and textAreaResizeCorner.
      
              * COM/WebKitDLL.cpp:
              (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
              * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources. 
              * WebKit.vcproj/WebKit.vcproj: Added pngs.
              * WebKit.vcproj/missingImage.png: Added.
              * WebKit.vcproj/resource.h: Added entries for pngs.
              * WebKit.vcproj/textAreaResizeCorner.png: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e76b0101
    • hyatt's avatar
      Add SPI for setting and removing custom highlighters. · c07fee0a
      hyatt authored
              Reviewed by Tim H
      
              * WebView/WebHTMLView.m:
              (-[WebTextCompleteController dealloc]):
              (-[WebHTMLView _setHighlighter:ofType:]):
              (-[WebHTMLView _removeHighlighterOfType:]):
              * WebView/WebHTMLViewInternal.h:
              * WebView/WebHTMLViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c07fee0a
    • hyatt's avatar
      Add support for a new property for custom highlighting. This patch just · cc8a860d
      hyatt authored
              adds support for the parsing of the property.  It doesn't do anything yet.
      
              Reviewed by beth
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSPropertyNames.in:
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseValue):
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * rendering/render_style.cpp:
              (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
              (WebCore::StyleCSS3InheritedData::operator==):
              (WebCore::RenderStyle::diff):
              * rendering/render_style.h:
              (WebCore::RenderStyle::highlight):
              (WebCore::RenderStyle::setHighlight):
              (WebCore::RenderStyle::initialHighlight):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc8a860d
    • ggaren's avatar
      Removed API directory I prematurely/accidentally added. · 2e86f848
      ggaren authored
              * API: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e86f848
    • darin's avatar
      Fix suggested by Rob Buis. Reviewed by Darin. · 9ab464d1
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
                REGRESSION: Repro crash caused by style="font:bold"
      
              Test: fast/css/font-shorthand-weight-only.html
      
              * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
              made to fix bug 5564.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ab464d1
    • darin's avatar
      LayoutTests: · f3820f23
      darin authored
              Reviewed by Hyatt, tweaked by Mitz.
      
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
                REGRESSION: Incorrect vertical position for text fields in a "display: table" block
      
              * fast/table/text-field-baseline-expected.checksum: Added.
              * fast/table/text-field-baseline-expected.png: Added.
              * fast/table/text-field-baseline-expected.txt: Added.
              * fast/table/text-field-baseline.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
                REGRESSION: Incorrect vertical position for text fields in a "display: table" block
      
              Test: fast/table/text-field-baseline.html
      
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
              use their baseline.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3820f23
    • darin's avatar
      LayoutTests: · 627b1374
      darin authored
              Reviewed by Hyatt.
      
              - pixel test for http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
                REGRESSION: Flickering when css-hover should change opacity on floating elements
      
              * fast/block/float/nopaint-after-layer-destruction-expected.checksum: Added.
              * fast/block/float/nopaint-after-layer-destruction-expected.png: Added.
              * fast/block/float/nopaint-after-layer-destruction-expected.txt: Added.
              * fast/block/float/nopaint-after-layer-destruction.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt (concept) and Darin (some coding details).
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
                REGRESSION: Flickering when css-hover should change opacity on floating elements
      
              Pixel test: fast/block/float/nopaint-after-layer-destruction.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
              in the block's FloatingObject for the given float and calls setChildNeedsLayout.
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::blockThatPaintsFloat): Added this helper function.
              (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
              gains or loses its layer.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      627b1374
  3. 06 Jun, 2006 9 commits
    • ddkilzer's avatar
      WebKitTools: · b7fb94bc
      ddkilzer authored
              Reviewed by darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9322
              Teach svn-create-patch to sort its output
      
              * Scripts/svn-create-patch: Clean up perl code.  Sort patch output alphabetically
              by text files first, then by binary files.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7fb94bc
    • darin's avatar
      LayoutTests: · 5b1b7704
      darin authored
              Reviewed by Hyatt.
      
              - repaint test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
                REGRESSION: [Incremental Repaint] DHTML movement test failures
      
              * fast/repaint/containing-block-position-change-expected.checksum: Added.
              * fast/repaint/containing-block-position-change-expected.png: Added.
              * fast/repaint/containing-block-position-change-expected.txt: Added.
              * fast/repaint/containing-block-position-change.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
                REGRESSION: [Incremental Repaint] DHTML movement test failures
      
              Test (repaint): fast/repaint/containing-block-position-change.html
      
              * manual-tests/containing-block-position-chage.html: Added.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
              the RenderCanvas to RenderView rename.
              (WebCore::RenderBlock::removePositionedObject): Added a return immediately
              after removing the object.
              (WebCore::RenderBlock::removePositionedObjects): Added.
              * rendering/RenderBlock.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
              descendants from the positioned objects list of their current containing block
              when they are going to have a new one as a result of this block's position
              property changing. 
              * rendering/RenderObject.h:
              (WebCore::RenderObject::removePositionedObjects):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14757 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b1b7704
    • darin's avatar
      * fast/repaint/table-extra-bottom-grow.html: Removed unneeded line of code. · ffa253c8
      darin authored
              * fast/repaint/table-extra-bottom-grow-expected.png: Regenerated.
              * fast/repaint/table-extra-bottom-grow-expected.checksum: Regenerated.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffa253c8
    • 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
    • bdakin's avatar
      Reviewed by Maciej. · 18c7d0b4
      bdakin authored
              Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
              non-1.0 scale factors.
      
              No test cases added since this only affects non-1.0 resolution 
              scale factors.
      
              * platform/FloatRect.cpp:
              (WebCore::FloatRect::scale): Added new function that scales a 
              rect's origin and size by a given factor.
              * platform/FloatRect.h:
              * platform/IntRect.cpp:
              (WebCore::IntRect::scale): Same as above.
              * platform/IntRect.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::addDashboardRegions): After the bounds and 
              clip rects on the Dashboard region have been calculated, get the 
              user space scale factor, and if it is not 1.0, scale the rects.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18c7d0b4
    • sullivan's avatar
      Reviewed by Darin Adler. · 8146a1e9
      sullivan authored
              
              - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
              http://www.apple.com/ (RenderObject::repaint(bool))
              
              This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
              it to the surface.
      
              * dom/Document.h:
              Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
      
              * dom/Document.cpp:
              (WebCore::Document::removeMarkers):
              Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
              removed.
              (WebCore::Document::repaintMarkers):
              Add a .get() to compensate for using RefPtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8146a1e9
    • adele's avatar
      Reviewed by Justin. · dc0160b8
      adele authored
              * COM/WebView.cpp:
              (WebView::keyPress): Added case for VK_RETURN. 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc0160b8
    • andersca's avatar
      WebCore: · c382f5ba
      andersca authored
      2006-06-06  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
              clientWidth/clientHeight on document element in strict mode should return visible frame size
              
              * dom/Element.cpp:
              (WebCore::Element::clientWidth):
              (WebCore::Element::clientHeight):
              If we're the document element, and in strict mode, return the visible size of the frame.
              
      LayoutTests:
      
      2006-06-06  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
              clientWidth/clientHeight on document element in strict mode should return visible frame size
      
              * fast/dom/client-width-height-expected.txt: Added.
              * fast/dom/client-width-height.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c382f5ba
    • andersca's avatar
      WebCore: · a70ccbc8
      andersca authored
      2006-06-06  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by John.
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge containsPlugins]):
              * page/Frame.cpp:
              (WebCore::Frame::containsPlugins):
              * page/Frame.h:
              Add containsPlugins function which returns whether a frame contains plugins
              or not.
      
      WebKit:
      
      2006-06-06  Anders Carlsson  <acarlsson@apple.com>
      
              Reviewed by John.
      
              * WebView/WebFrame.m:
              (-[WebFrame _reloadForPluginChanges]):
              Don't traverse the view hierarchy looking for plugin views. Instead, just
              ask the frame whether it contains any plugins.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a70ccbc8
  4. 05 Jun, 2006 9 commits
    • ggaren's avatar
      Reviewed and landed by Geoff. · b3ebb432
      ggaren authored
              - fix a regression in ecma_3/String/regress-104375.js
      
              * kjs/string_object.cpp:
              (substituteBackreferences): If a 2-digit back reference is out of range,
              parse it as a 1-digit reference (followed by the other digit). This matches
              Firefox's behavior.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3ebb432
    • sfalken's avatar
      2006-06-06 Steve Falkenburg <sfalken@apple.com> · b3562e42
      sfalken authored
              Fix build break
      
              * platform/win/TemporaryLinkStubs.cpp:
              (GraphicsContext::roundToDevicePixels):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3562e42
    • ddkilzer's avatar
      LayoutTests: · 00974eb7
      ddkilzer authored
              Reviewed by mjs.
      
              testcases for http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
              'font' shorthand parsing should be more tolerant in quirks mode
      
              * fast/css/font_property_compatibility-expected.checksum: Added.
              * fast/css/font_property_compatibility-expected.png: Added.
              * fast/css/font_property_compatibility-expected.txt: Added.
              * fast/css/font_property_compatibility.html: Added.
              * fast/css/font_property_normal-expected.checksum: Added.
              * fast/css/font_property_normal-expected.png: Added.
              * fast/css/font_property_normal-expected.txt: Added.
              * fast/css/font_property_normal.html: Added.
      
      WebCore:
      
              Reviewed by mjs.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
              'font' shorthand parsing should be more tolerant in quirks mode
      
              When not in strict mode accept font property specifications
              lacking a font family part, like WinIE does.
      
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseFont):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00974eb7
    • bdakin's avatar
      Reviewed by Darin. · af5f98b2
      bdakin authored
              Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
              1.83 scaling
      
              To prevent pixel cracks at non-integral scaling factors, before we 
              call into CG to draw an image, we have to convert the rect to 
              device space, round the origin and size to integers in device 
              space, and convert back to user space. 
              
              No test cases added since this only affects non-1.0 resolution 
              scale factors.
      
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
              takes FloatRects.
              * html/CanvasPattern.cpp:
              (WebCore::patternCallback): Call roundToDevicePixels()
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
              takes FloatRects and call roundToDevicePixels()
              * html/CanvasRenderingContext2D.h: drawImage() now takes 
              FloatRects.
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
              * kcanvas/device/quartz/QuartzSupport.mm:
              (WebCore::debugDumpCGImageToFile): Same as above.
              * platform/GraphicsContext.h:
              * platform/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
              converting between coordinate spaces and rounding.
              (WebCore::GraphicsContext::drawLineForText):
              * platform/mac/ImageMac.mm: Call roundToDevicePixels()
              (WebCore::Image::draw): Same as above.
              (WebCore::drawPattern): Same as above.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af5f98b2
    • ddkilzer's avatar
      LayoutTests: · 0f15b235
      ddkilzer authored
              Reviewed by ggaren.
      
              - Test results for http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
              Add missing DOM prototypes and other DOM cleanup
      
              * fast/dom/global-constructors-expected.txt: Fixed test results.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0f15b235
    • hyatt's avatar
      Fix for perf regression with single-processor windows machines on ibench. · ac9a81a3
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac9a81a3
    • ggaren's avatar
      Reviewed By Maciej. · 43eef597
      ggaren authored
              Darin already reviewed this change on the branch. See <rdar://problem/4317701>.
              
              - Fixed <rdar://problem/4291345> PCRE overflow in Safari JavaScriptCore
      
              No test case because there's no behavior change.
              
              * pcre/pcre_compile.c:
              (read_repeat_counts): Check for integer overflow / out of bounds
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43eef597
    • ggaren's avatar
      LayoutTests: · 27b705a1
      ggaren authored
              - Merged test-prototypes.html into global-constructors.html
              - Added prototypes.html, which tests for some missing prototypes in DOM objects
              
              * fast/dom/global-constructors-expected.txt:
              * fast/dom/global-constructors.html:
              * fast/dom/prototypes-expected.txt: Added.
              * fast/dom/prototypes.html: Added.
              * fast/dom/test-prototypes-expected.txt: Removed.
              * fast/dom/test-prototypes.html: Removed.
              * fast/dom/undetectable-document-all-expected.txt: Updated to reflect
              change from "HTMLCollection" to "Collection"
      
      WebCore:
      
              Reviewed by Darin.
      
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
              Add missing DOM prototypes and other DOM cleanup
      
              - Added the built-in object prototype to DOM objects that were missing it
              so that primitive operations like == work on them.
              
              - Removed dead EventConstructor class (it's autogenerated now)
              
              - Changed HTML collections to describe themselves as "[object Collection]",
              to match IE.
              
              - Made DOMCSSRule constructor private because JSCSSRule is the class
              to use.
              
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
              * bindings/js/kjs_css.cpp:
              (KJS::DOMStyleSheet::DOMStyleSheet):
              (KJS::DOMStyleSheetList::DOMStyleSheetList):
              (KJS::DOMCSSRule::DOMCSSRule):
              (KJS::DOMCSSValue::DOMCSSValue):
              (KJS::toJS):
              (KJS::DOMRGBColor::DOMRGBColor):
              (KJS::getDOMRGBColor):
              (KJS::DOMRect::DOMRect):
              * bindings/js/kjs_css.h:
              * bindings/js/kjs_dom.cpp:
              (KJS::DOMNodeList::DOMNodeList):
              (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
              (KJS::DOMExceptionConstructor::getOwnPropertySlot):
              (KJS::):
              (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
              * bindings/js/kjs_dom.h:
              (KJS::DOMNamedNodesCollection::classInfo):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              (KJS::):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27b705a1
    • ggaren's avatar
      Reviewed by aliu. · df6e53c9
      ggaren authored
              - Changed CString length from int to size_t. We sould probably do this
              for UString, too. (Darin, if you're reading this: Maciej said so.)
              
              * kjs/function.cpp:
              (KJS::encode):
              * kjs/ustring.cpp:
              (KJS::CString::CString):
              (KJS::operator==):
              * kjs/ustring.h:
              (KJS::CString::size):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df6e53c9
  5. 04 Jun, 2006 7 commits
    • darin's avatar
      Reviewed by Maciej. · 77cb9a9c
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
                REGRESSION: Crash when closing tabs on newegg.com
              - removed a no-longer-needed Win32-specific workaround (not reviewed)
      
              * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
              (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
              (WebCore::toJS): Add null checks.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77cb9a9c
    • darin's avatar
      LayoutTests: · 9d783fab
      darin authored
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
                REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
      
              * fast/loader/link-no-URL.html: Added.
              * fast/loader/link-no-URL-expected.txt: Added.
      
      WebCore:
      
              Reviewed by Maciej.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
                REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
      
              Test: fast/loader/link-no-URL.html
      
              * loader/Cache.h:
              * loader/Cache.cpp:
              (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
              from the cached object itself. Callers were passing in the wrong URL. When it was a
              null string, it caused the crash mentioned above. But in other cases it may have
              caused some other minor problems as well. Added an assert to catch cases where the
              URL is null (should never happen).
              (WebCore::Cache::requestImage): Changed call site to not pass URL.
              (WebCore::Cache::requestStyleSheet): Ditto.
              (WebCore::Cache::requestScript): Ditto.
              (WebCore::Cache::requestXSLStyleSheet): Ditto.
              (WebCore::Cache::requestXBLDocument): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d783fab
    • ggaren's avatar
      Reviewed by Maciej. · 7a104b48
      ggaren authored
              
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=9304
              Minor cleanup in JavaScriptCore
      
              * kjs/value.h: Removed redundant declarations
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a104b48
    • darin's avatar
      Reviewed by Adele. · c64965d6
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
                REGRESSION: delete key does not work in isIndex fields
      
              * platform/mac/WebCoreTextField.mm:
              (inputElement): Added. Helper function to get the Objective-C wrapper for an
              input element associated with a QTextEdit. Returns nil if the element is not
              an input element. The bug was caused by passing a non-input element to the
              delegate methods.
              (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
              and don't make the delegate call at all if there is none. This happens only
              with isindex elements; it's not important to have auto-fill work with those.
              (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
              (-[KWQTextFieldController controlTextDidChange:]): Ditto.
              (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
              (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
              (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c64965d6
    • darin's avatar
      Reviewed by Anders. · a9406af1
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
                memory leak in XPath code -- seen in layout tests
              - fixed malloc error on exit due to SVGDOMImplementation destructor
              - attempted to fix the no-XPATH_SUPPORT build by adding an #if
              - changed around includes and header-file formatting in XPath code
      
              * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
              generating the bindings for XPathNSResolver.
      
              * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
              SVGDOMImplementation.
              * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
      
              * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
              * ksvg2/svg/SVGDOMImplementation.cpp:
              (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
              (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
      
              * xpath/XPathExpression.cpp:
              (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
              reference count churn.
              (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
              relies on it being 0 when the function succeeds.
      
              * xpath/XPathResult.cpp:
              (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
              unneeded target node data member.
              (WebCore::XPathResult::XPathResult): Updated for enum name changes and
              InvalidatingEventListener name change. Added an assertion.
      
              * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
              for createFunction to be a String instead of char*.
              * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
              used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
              the Interval functions inline.
              (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
              (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
              Use equalIgnoringCase() instead of calling lower() on two strings.
              (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
              this function. Also removed a duplicate entry for the "last" function.
              (WebCore::XPath::createFunction): Changed from a member function to a separate function.
              Also changed so that if the args are not used in the function they are deleted.
              This was one of the sources of the storage leaks.
      
              * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
              specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
              tokens that were declared as <str> but weren't actually using the string to be
              declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
              unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
              call delete functions instead that both unregister and delete. Change call sites for
              createFunction to just use the String, removing the deprecatedString().latin1() call
              that is no longer needed. Added a call to unregisterParseNode that was missing in the
              "FilterExpr DescendantOrSelf RelativeLocationPath" production.
      
              * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
              and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
              part of the Parser class last. Moved a number of private things inside the cpp file.
              * xpath/impl/XPathParser.cpp:
              (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
              (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
              allowing use of a map instead of a map pointer.
              (WebCore::XPath::isNodeTypeName): Ditto.
              (WebCore::XPath::Parser::isOperatorContext): Made this const.
              (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
              By using the actual types, we can safely use overload instead.
              (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
              (WebCore::XPath::Parser::lexNumber): Ditto.
              (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
              Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
              confusing and is also a bit more explicit.
              (WebCore::XPath::Parser::lexQName): Ditto.
              (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
              to remove some unneeded else statements.
              (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
              to decide what the type is. This matches what the grammar expects, and removes the need
              for the token object to track which part of the value is good and the need to reserve 0
              to have a special meaning.
              (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
              expressions in the predicate and expression vectors. Before, we were only deleting
              the vectors. This was one of the sources of the storage leaks.
              (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
              the vector. However this does not delete the predicates in the vector.
              (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
              the vector. However this does not delete the expressions in the vector.
              (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
      
              * xpath/impl/XPathPredicate.h:
              * xpath/impl/XPathPredicate.cpp:
              (WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
              renamed to "opcode" instead of "opCode".
              (WebCore::XPath::NumericOp::doEvaluate): More of the same.
              (WebCore::XPath::EqTestOp::EqTestOp): Ditto.
              (WebCore::XPath::EqTestOp::doEvaluate): Ditto.
              (WebCore::XPath::LogicalOp::LogicalOp): Ditto.
              (WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
              (WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".
      
              * xpath/impl/XPathStep.h:
              * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
              function and default constructor.
      
              * xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
              instead of the underscore suffix used before on NodeVector and String.
              * xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.
      
              * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
              Use a reference instead of a pointer.
      
              * xpath/XPathEvaluator.cpp:
              * xpath/XPathEvaluator.h:
              * xpath/XPathExpression.h:
              * xpath/XPathNSResolver.cpp:
              * xpath/XPathNSResolver.h:
              * xpath/XPathNamespace.cpp:
              * xpath/XPathNamespace.h:
              * xpath/XPathResult.h:
              * xpath/impl/XPathExpressionNode.cpp:
              * xpath/impl/XPathExpressionNode.h:
              * xpath/impl/XPathPath.cpp:
              * xpath/impl/XPathPath.h:
              * xpath/impl/XPathUtil.cpp:
              * xpath/impl/XPathUtil.h:
              * xpath/impl/XPathVariableReference.h:
              Reformatted and changed includes around; no substantive changes.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9406af1
    • darin's avatar
      Reviewed by Anders. · 57617054
      darin authored
              - changed deleteAllValues so it can work on "const" collections
                Deleting the values affects the values, not the pointers in the
                collection, so it's legitimate to do it to a const collection,
                and a case of that actually came up in the XPath code.
      
              * wtf/HashMap.h:
              (WTF::deleteAllPairSeconds): Use const iterators.
              (WTF::deleteAllValues): Take const HashMap reference as a parameter.
              * wtf/HashSet.h:
              (WTF::deleteAllValues): Take const HashSet reference as a parameter,
              and use const iterators.
              * wtf/Vector.h:
              (WTF::deleteAllValues): Take const Vector reference as a parameter.
      
              - added more functions that are present in <math.h> on some platforms,
                but not on others; moved here from various files in WebCore
      
              * wtf/MathExtras.h:
              (isinf): Added.
              (isnan): Added.
              (lround): Added.
              (lroundf): Tweaked.
              (round): Added.
              (roundf): Tweaked.
              (signbit): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57617054
    • ddkilzer's avatar
      LayoutTests: · fb5e6eec
      ddkilzer authored
              Reviewed by hyatt.
      
              - tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=9213
                Absolutely positioned objects with relatively positioned inline 
                containing blocks are rendered incorrectly
      
              * fast/block/positioning/absolute-in-inline-ltr-2.html: Added.
              * fast/block/positioning/absolute-in-inline-ltr-3.html: Added.
              * fast/block/positioning/absolute-in-inline-ltr.html: Added.
              * fast/block/positioning/absolute-in-inline-rtl-2.html: Added.
              * fast/block/positioning/absolute-in-inline-rtl-3.html: Added.
              * fast/block/positioning/absolute-in-inline-rtl.html: Added.
              * fast/block/positioning/absolute-in-inline-short-ltr.html: Added.
              * fast/block/positioning/absolute-in-inline-short-rtl.html: Added.
      
      WebCore:
      
              Reviewed by hyatt.
      
              - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9213
                Absolutely positioned objects with relatively positioned inline 
                containing blocks are rendered incorrectly
      
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::containingBlockWidthForPositioned):
              (WebCore::RenderBox::containingBlockHeightForPositioned):
              (WebCore::RenderBox::calcAbsoluteHorizontal):
              (WebCore::RenderBox::calcAbsoluteHorizontalValues):
              (WebCore::RenderBox::calcAbsoluteVertical):
              (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
              (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
              * rendering/RenderBox.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb5e6eec