Changeset 107605 in webkit


Ignore:
Timestamp:
Feb 13, 2012 2:02:26 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[CSS Regions] Inconsistent text selection behavior in regions
https://bugs.webkit.org/show_bug.cgi?id=76456

Patch by Raul Hudea <rhudea@adobe.com> on 2012-02-13
Reviewed by David Hyatt.

Source/WebCore:

Use the proper bounding rect when doing hit testing on flow threads.
Based on initial patch by Alexandru Chiculita.

Test: fast/regions/hit-test-region.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::hitTestRegion):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hitTest):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::nodeAtPoint):

LayoutTests:

  • fast/regions/hit-test-region-expected.txt: Added.
  • fast/regions/hit-test-region.html: Added.
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r107603 r107605  
     12012-02-13  Raul Hudea  <rhudea@adobe.com>
     2
     3        [CSS Regions] Inconsistent text selection behavior in regions
     4        https://bugs.webkit.org/show_bug.cgi?id=76456
     5
     6        Reviewed by David Hyatt.
     7
     8        * fast/regions/hit-test-region-expected.txt: Added.
     9        * fast/regions/hit-test-region.html: Added.
     10
    1112012-02-12  Andy Estes  <aestes@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r107603 r107605  
     12012-02-13  Raul Hudea  <rhudea@adobe.com>
     2
     3        [CSS Regions] Inconsistent text selection behavior in regions
     4        https://bugs.webkit.org/show_bug.cgi?id=76456
     5
     6        Reviewed by David Hyatt.
     7
     8        Use the proper bounding rect when doing hit testing on flow threads.
     9        Based on initial patch by Alexandru Chiculita.
     10
     11        Test: fast/regions/hit-test-region.html
     12
     13        * rendering/RenderFlowThread.cpp:
     14        (WebCore::RenderFlowThread::hitTestRegion):
     15        * rendering/RenderLayer.cpp:
     16        (WebCore::RenderLayer::hitTest):
     17        * rendering/RenderRegion.cpp:
     18        (WebCore::RenderRegion::nodeAtPoint):
     19
    1202012-02-12  Andy Estes  <aestes@apple.com>
    221
  • trunk/Source/WebCore/rendering/RenderFlowThread.cpp

    r107461 r107605  
    492492   
    493493    // Always ignore clipping, since the RenderFlowThread has nothing to do with the bounds of the FrameView.
    494     HitTestRequest newRequest(request.type() & HitTestRequest::IgnoreClipping);
     494    HitTestRequest newRequest(request.type() | HitTestRequest::IgnoreClipping);
    495495
    496496    RenderRegion* oldRegion = result.region();
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r107461 r107605  
    7878#include "PlatformMouseEvent.h"
    7979#include "RenderArena.h"
     80#include "RenderFlowThread.h"
    8081#include "RenderInline.h"
    8182#include "RenderMarquee.h"
     
    31113112    renderer()->document()->updateLayout();
    31123113   
    3113     LayoutRect hitTestArea = renderer()->view()->documentRect();
     3114    LayoutRect hitTestArea = renderer()->isRenderFlowThread() ? toRenderFlowThread(renderer())->borderBoxRect() : renderer()->view()->documentRect();
    31143115    if (!request.ignoreClipping())
    31153116        hitTestArea.intersect(frameVisibleRect(renderer()));
  • trunk/Source/WebCore/rendering/RenderRegion.cpp

    r106694 r107605  
    158158    // Check our bounds next. For this purpose always assume that we can only be hit in the
    159159    // foreground phase (which is true for replaced elements like images).
    160     LayoutRect boundsRect(adjustedLocation, size());
     160    LayoutRect boundsRect = borderBoxRectInRegion(result.region());
     161    boundsRect.moveBy(adjustedLocation);
    161162    if (visibleToHitTesting() && action == HitTestForeground && boundsRect.intersects(result.rectForPoint(pointInContainer))) {
    162163        // Check the contents of the RenderFlowThread.
Note: See TracChangeset for help on using the changeset viewer.