| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Id23a68efa36e9d1126bcce0b137872db00892c8e
|
|
|
|
| |
Change-Id: I3d6bff59f17eedd6722723354f386fec9be8ad12
|
|
|
|
| |
Change-Id: Ie2e1440fb9d487d24e52c247342c076fecaecac7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes the last occurrences of ANDROID_HITTEST_WITHSIZE
and updates WebKit to use the upstream version of this logic. This
follows on from https://android-git.corp.google.com/g/#change,60166 which
merged the upstream logic into the Android tree but maintained the existing
behaviour for Android, guarded with ANDROID_HITTEST_WITHSIZE.
This change introduces the following functional changes ...
- HitTestResult::addNodeToRectBasedTestResult()
The Android version proceeded with the containment test if the node is null.
We now early out and continue the hit test. We also record the node's
shadowAncestorNode, rather than the node itself.
- RenderLayer::hitTestList()
The android version always updates the result, but only updates the
result layer if the result is not a rect based result.
We now always update result layer, but only update the result if the
result is not a rect based result.
- RenderSVGRoot::nodeAtPoint()
The Android version returned true only if it's not a rect based hit test.
Now we return true always.
- HitTestResult::m_isRectBased
In the Android version, a padding must have positive width and height.
Now we allow one of the two to be zero, provided the other is positive
All other changes are non-functional and should probably have been done as
part of https://android-git.corp.google.com/g/#change,60166
Note that the change to RenderBlock::nodeAtPoint() is a non-functional change
because we don't pass a rect to addNodeToRectBasedTestResult(), so the default
zero rect is used and the hit test always fails.
Change-Id: I4163fddad59ad6485df40cd48794aa262f76ced7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A modified version of this Android-specific code was upstreamed in
http://trac.webkit.org/changeset/64272
For the most part, the differences between the Android and upstreamed
versions are syntactic only. In these cases, we take the upstream
version.
In a small number of cases, logical changes exist. In these cases, the
Android logic has been retained, guarded with ANDROID_HITTEST_WITHSIZE,
but using the new syntax.
In particular ...
- Android's HitTestResult::intersects(x, y, rect) is logically equivalent
to the uspstream IntRect::intersects(HitTestPoint::rectFromPoint(x, y))).
- Android's HitTestResult::addRawNode() is logically equivalent to the
upstream HitTestResult::m_rectBasedTestResult.add().
- Android's HitTestResult::isRegionTest() is slightly different from the
upstream HitTestResult::isRectBasedTest(). The latter is modified with
a new ANDROID_HITTEST_WITHSIZE guard in HitTestResult::HitTestResult()
to maintain the same behaviour.
- The upstreamed code uses
HitTestResult::addNodeToRectBasedTestResult() as a helper method in
place of inline logic in the Android version. The slight difference
in behaviour between this helper and the Android logic is reflected in
the new ANDROID_HITTEST_WITHSIZE guard in the helper.
This change should introduce no change in behaviour.
Change-Id: I974d68e3ac963f18334418e32b08c3fd9ab1182e
|
|
|
|
| |
Change-Id: Ibb796c6802e757b1d9b40f58205cfbe4da95fcd4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If padding is 0, it is the old style point hit test.
If it finds a node, it will break the search loop
and return.
If padding is non-zero, the first node will be added
to HitTestResult's innerNode as before. But instead
of finishing the search, hit test will continue to
look for other nodes covered by the fat point unless
it is fully inside the current node.
Here are some highlights of the changes.
. instead of testing renderRect.contains(x, y),
we now test renderRect.intersect(pointRect)
. when a Node is hit, it will be appended to the
rawNodeList of HitTestResult. So the order inside
the rawNodeList represents the hit test order.
Currently the fat point doesn't support SVG nodes.
It also doesn't support overflow control yet.
|
|
|
|
| |
Change-Id: I1a9e1dc4ed654b69174ad52a4f031a07240f37b0
|
|
|
|
| |
Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
|
|
|
|
| |
This reverts commit d227fc870c7a697500a3c900c31baf05fb9a8524.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|