OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 1176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1187 | 1187 |
1188 // FIXME: Rely on earlier hit test instead of hit testing again. | 1188 // FIXME: Rely on earlier hit test instead of hit testing again. |
1189 GestureEventWithHitTestResults targetedEvent = m_page->deprecatedLocalMainFr ame()->eventHandler().targetGestureEvent(tapEvent, true); | 1189 GestureEventWithHitTestResults targetedEvent = m_page->deprecatedLocalMainFr ame()->eventHandler().targetGestureEvent(tapEvent, true); |
1190 bestTouchNode = targetedEvent.hitTestResult().targetNode(); | 1190 bestTouchNode = targetedEvent.hitTestResult().targetNode(); |
1191 | 1191 |
1192 // We might hit something like an image map that has no renderer on it | 1192 // We might hit something like an image map that has no renderer on it |
1193 // Walk up the tree until we have a node with an attached renderer | 1193 // Walk up the tree until we have a node with an attached renderer |
1194 while (bestTouchNode && !bestTouchNode->renderer()) | 1194 while (bestTouchNode && !bestTouchNode->renderer()) |
1195 bestTouchNode = bestTouchNode->parentNode(); | 1195 bestTouchNode = bestTouchNode->parentNode(); |
1196 | 1196 |
1197 // Check if we're in the subtree of a node with a hand cursor | 1197 // The heuristic we use is: show a highlight on tap only when we are at a no de with a hand cursor |
Rick Byers
2014/07/17 21:19:03
I don't think this is quite what we want. If the
| |
1198 // this is the heuristic we use to determine if we show a highlight on tap | 1198 if (!bestTouchNode || !invokesHandCursor(bestTouchNode, m_page->deprecatedLo calMainFrame())) |
1199 while (bestTouchNode && !invokesHandCursor(bestTouchNode, m_page->deprecated LocalMainFrame())) | |
1200 bestTouchNode = bestTouchNode->parentNode(); | |
1201 | |
1202 if (!bestTouchNode) | |
1203 return 0; | 1199 return 0; |
1204 | 1200 |
1205 // We should pick the largest enclosing node with hand cursor set. | 1201 // We should pick the largest enclosing node with hand cursor set. |
1206 while (bestTouchNode->parentNode() && invokesHandCursor(bestTouchNode->paren tNode(), toLocalFrame(m_page->mainFrame()))) | 1202 while (bestTouchNode->parentNode() && invokesHandCursor(bestTouchNode->paren tNode(), toLocalFrame(m_page->mainFrame()))) |
1207 bestTouchNode = bestTouchNode->parentNode(); | 1203 bestTouchNode = bestTouchNode->parentNode(); |
1208 | 1204 |
1209 return bestTouchNode; | 1205 return bestTouchNode; |
1210 } | 1206 } |
1211 | 1207 |
1212 void WebViewImpl::enableTapHighlightAtPoint(const PlatformGestureEvent& tapEvent ) | 1208 void WebViewImpl::enableTapHighlightAtPoint(const PlatformGestureEvent& tapEvent ) |
(...skipping 3026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4239 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints(); | 4235 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints(); |
4240 | 4236 |
4241 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 4237 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
4242 return false; | 4238 return false; |
4243 | 4239 |
4244 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width | 4240 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width |
4245 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); | 4241 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); |
4246 } | 4242 } |
4247 | 4243 |
4248 } // namespace blink | 4244 } // namespace blink |
OLD | NEW |