Changeset 123050 in webkit


Ignore:
Timestamp:
Jul 18, 2012 5:19:25 PM (12 years ago)
Author:
mitz@apple.com
Message:

Hit testing in the gap between pages returns incorrect results
https://bugs.webkit.org/show_bug.cgi?id=91695

Reviewed by Dave Hyatt.

Source/WebCore:

Test: fast/multicol/hit-test-gap-between-pages.html

  • rendering/RenderBlock.h:

(RenderBlock): Promoted adjustPointToColumnContents from private to protected.

  • rendering/RenderView.cpp:

(WebCore::RenderView::updateHitTestResult): If we get here, and we make the document element
the inner node, adjust the local point for columns.

LayoutTests:

  • fast/multicol/hit-test-gap-between-pages-expected.txt: Added.
  • fast/multicol/hit-test-gap-between-pages.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r123048 r123050  
     12012-07-18  Dan Bernstein  <mitz@apple.com>
     2
     3        Hit testing in the gap between pages returns incorrect results
     4        https://bugs.webkit.org/show_bug.cgi?id=91695
     5
     6        Reviewed by Dave Hyatt.
     7
     8        * fast/multicol/hit-test-gap-between-pages-expected.txt: Added.
     9        * fast/multicol/hit-test-gap-between-pages.html: Added.
     10
    1112012-07-18  Joshua Bell  <jsbell@chromium.org>
    212
  • trunk/Source/WebCore/ChangeLog

    r123048 r123050  
     12012-07-18  Dan Bernstein  <mitz@apple.com>
     2
     3        Hit testing in the gap between pages returns incorrect results
     4        https://bugs.webkit.org/show_bug.cgi?id=91695
     5
     6        Reviewed by Dave Hyatt.
     7
     8        Test: fast/multicol/hit-test-gap-between-pages.html
     9
     10        * rendering/RenderBlock.h:
     11        (RenderBlock): Promoted adjustPointToColumnContents from private to protected.
     12        * rendering/RenderView.cpp:
     13        (WebCore::RenderView::updateHitTestResult): If we get here, and we make the document element
     14        the inner node, adjust the local point for columns.
     15
    1162012-07-18  Joshua Bell  <jsbell@chromium.org>
    217
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r122639 r123050  
    807807    virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidthToEndOfLine = 0);
    808808
    809     void adjustPointToColumnContents(LayoutPoint&) const;
    810809    void adjustForBorderFit(LayoutUnit x, LayoutUnit& left, LayoutUnit& right) const; // Helper function for borderFitAdjust
    811810
     
    964963    void adjustLinePositionForPagination(RootInlineBox*, LayoutUnit& deltaOffset); // Computes a deltaOffset value that put a line at the top of the next page if it doesn't fit on the current page.
    965964    LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, LayoutUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock);
     965
     966    void adjustPointToColumnContents(LayoutPoint&) const;
    966967
    967968    // This function is called to test a line box that has moved in the block direction to see if it has ended up in a new
  • trunk/Source/WebCore/rendering/RenderView.cpp

    r122761 r123050  
    853853        if (!result.innerNonSharedNode())
    854854            result.setInnerNonSharedNode(node);
    855         result.setLocalPoint(point);
     855
     856        LayoutPoint adjustedPoint = point;
     857        adjustPointToColumnContents(adjustedPoint);
     858
     859        result.setLocalPoint(adjustedPoint);
    856860    }
    857861}
Note: See TracChangeset for help on using the changeset viewer.