|
Stop hit testing culled inlines when a match is found
Culled inline hittesting was recently fixed [1] which exposed a
bug in LayoutInline::hitTestCulledInline where hit testing checked
for region intersection but returned a value based on region
containment. This bug was partially fixed in [2] for list-based
tests but a bug still existed for point-based tests.
This patch updates LayoutInline::hitTestCulledInline to check for
hit tests using region intersection, and return a value based on
region intersection (not containment). This was done by fixing a FIXME
to implement HitTestRequest::addNodeToListBasedTestResult for regions.
In addition, this patch changes the return value of
HitTestRequest::addNodeToListBasedTestResult to be an enum which
better explains its behavior.
[1] https://src.chromium.org/viewvc/blink?view=rev&revision=193729
[2] https://crrev.com/b489f7917175e2449c8f6d5874ab3ba0b7f31e88
BUG= 579412
Committed: https://crrev.com/4dd5f8bbaa8e06c2bca14e20758cd4f76d0a81d4
Cr-Commit-Position: refs/heads/master@{#372023}
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+93 lines, -42 lines) |
Patch |
 |
A |
third_party/WebKit/LayoutTests/hittesting/culled-inline-crash.html
|
View
|
|
1 chunk |
+31 lines, -0 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/HitTestResult.h
|
View
|
1
2
3
|
3 chunks |
+16 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/HitTestResult.cpp
|
View
|
1
2
3
|
2 chunks |
+24 lines, -8 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutBlock.cpp
|
View
|
1
2
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
View
|
|
1 chunk |
+5 lines, -9 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutTable.cpp
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/line/EllipsisBox.cpp
|
View
|
|
1 chunk |
+1 line, -3 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/line/InlineTextBox.cpp
|
View
|
|
1 chunk |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
|
View
|
1
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGImage.cpp
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp
|
View
|
1
2
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGShape.cpp
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 29 (9 generated)
|