Changeset 192854 in webkit


Ignore:
Timestamp:
Nov 30, 2015 6:53:25 PM (8 years ago)
Author:
jiewen_tan@apple.com
Message:

Amazon.com Additional Information links aren't clickable
https://bugs.webkit.org/show_bug.cgi?id=151401
<rdar://problem/23454261>

Reviewed by Darin Adler.

Source/WebCore:

The cause of this issue is that the painting order is different from the hittest order so we can end up
with visible but unreachable content. To fix this, the executation flow of hittest has been reordered.
According to the paint system, which renders the webpage from the bottom RenderLayer to the top, contents
are rendered before floats. Hence, for the hittest, which determines the hitted location from top RenderLayer
to the bottom, should do it reversedly. Now, hittest will first test floats then contents.

Test: fast/block/float/hit-test-on-overlapping-floats.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):

LayoutTests:

  • fast/block/float/hit-test-on-overlapping-floats-expected.txt: Added.
  • fast/block/float/hit-test-on-overlapping-floats.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r192852 r192854  
     12015-11-30  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        Amazon.com Additional Information links aren't clickable
     4        https://bugs.webkit.org/show_bug.cgi?id=151401
     5        <rdar://problem/23454261>
     6
     7        Reviewed by Darin Adler.
     8
     9        * fast/block/float/hit-test-on-overlapping-floats-expected.txt: Added.
     10        * fast/block/float/hit-test-on-overlapping-floats.html: Added.
     11
    1122015-11-30  Brady Eidson  <beidson@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r192853 r192854  
     12015-11-30  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        Amazon.com Additional Information links aren't clickable
     4        https://bugs.webkit.org/show_bug.cgi?id=151401
     5        <rdar://problem/23454261>
     6
     7        Reviewed by Darin Adler.
     8
     9        The cause of this issue is that the painting order is different from the hittest order so we can end up
     10        with visible but unreachable content. To fix this, the executation flow of hittest has been reordered.
     11        According to the paint system, which renders the webpage from the bottom RenderLayer to the top, contents
     12        are rendered before floats. Hence, for the hittest, which determines the hitted location from top RenderLayer
     13        to the bottom, should do it reversedly. Now, hittest will first test floats then contents.
     14
     15        Test: fast/block/float/hit-test-on-overlapping-floats.html
     16
     17        * rendering/RenderBlock.cpp:
     18        (WebCore::RenderBlock::nodeAtPoint):
     19
    1202015-11-30  Simon Fraser  <simon.fraser@apple.com>
    221
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r192354 r192854  
    24752475        LayoutSize scrolledOffset(localOffset - scrolledContentOffset());
    24762476
     2477        if (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, toLayoutPoint(scrolledOffset)))
     2478            return true;
    24772479        if (hitTestContents(request, result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
    24782480            updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
    24792481            return true;
    24802482        }
    2481         if (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, toLayoutPoint(scrolledOffset)))
    2482             return true;
    24832483    }
    24842484
Note: See TracChangeset for help on using the changeset viewer.