OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 | 79 |
80 ASSERT_TRUE(webViewImpl->bestTapNode(getTargetedEvent(webViewImpl, touchEven
t))); | 80 ASSERT_TRUE(webViewImpl->bestTapNode(getTargetedEvent(webViewImpl, touchEven
t))); |
81 | 81 |
82 touchEvent.y = 40; | 82 touchEvent.y = 40; |
83 EXPECT_FALSE(webViewImpl->bestTapNode(getTargetedEvent(webViewImpl, touchEve
nt))); | 83 EXPECT_FALSE(webViewImpl->bestTapNode(getTargetedEvent(webViewImpl, touchEve
nt))); |
84 | 84 |
85 touchEvent.y = 20; | 85 touchEvent.y = 20; |
86 // Shouldn't crash. | 86 // Shouldn't crash. |
87 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); | 87 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); |
88 | 88 |
89 EXPECT_TRUE(webViewImpl->linkHighlight(0)); | 89 EXPECT_TRUE(webViewImpl->getLinkHighlight(0)); |
90 EXPECT_TRUE(webViewImpl->linkHighlight(0)->contentLayer()); | 90 EXPECT_TRUE(webViewImpl->getLinkHighlight(0)->contentLayer()); |
91 EXPECT_TRUE(webViewImpl->linkHighlight(0)->clipLayer()); | 91 EXPECT_TRUE(webViewImpl->getLinkHighlight(0)->clipLayer()); |
92 | 92 |
93 // Find a target inside a scrollable div | 93 // Find a target inside a scrollable div |
94 touchEvent.y = 100; | 94 touchEvent.y = 100; |
95 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); | 95 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); |
96 ASSERT_TRUE(webViewImpl->linkHighlight(0)); | 96 ASSERT_TRUE(webViewImpl->getLinkHighlight(0)); |
97 | 97 |
98 // Don't highlight if no "hand cursor" | 98 // Don't highlight if no "hand cursor" |
99 touchEvent.y = 220; // An A-link with cross-hair cursor. | 99 touchEvent.y = 220; // An A-link with cross-hair cursor. |
100 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); | 100 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); |
101 ASSERT_EQ(0U, webViewImpl->numLinkHighlights()); | 101 ASSERT_EQ(0U, webViewImpl->numLinkHighlights()); |
102 | 102 |
103 touchEvent.y = 260; // A text input box. | 103 touchEvent.y = 260; // A text input box. |
104 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); | 104 webViewImpl->enableTapHighlightAtPoint(getTargetedEvent(webViewImpl, touchEv
ent)); |
105 ASSERT_EQ(0U, webViewImpl->numLinkHighlights()); | 105 ASSERT_EQ(0U, webViewImpl->numLinkHighlights()); |
106 | 106 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 touchEvent.type = WebInputEvent::GestureShowPress; | 144 touchEvent.type = WebInputEvent::GestureShowPress; |
145 touchEvent.sourceDevice = WebGestureDeviceTouchscreen; | 145 touchEvent.sourceDevice = WebGestureDeviceTouchscreen; |
146 touchEvent.x = 20; | 146 touchEvent.x = 20; |
147 touchEvent.y = 20; | 147 touchEvent.y = 20; |
148 | 148 |
149 GestureEventWithHitTestResults targetedEvent = getTargetedEvent(webViewImpl,
touchEvent); | 149 GestureEventWithHitTestResults targetedEvent = getTargetedEvent(webViewImpl,
touchEvent); |
150 Node* touchNode = webViewImpl->bestTapNode(targetedEvent); | 150 Node* touchNode = webViewImpl->bestTapNode(targetedEvent); |
151 ASSERT_TRUE(touchNode); | 151 ASSERT_TRUE(touchNode); |
152 | 152 |
153 webViewImpl->enableTapHighlightAtPoint(targetedEvent); | 153 webViewImpl->enableTapHighlightAtPoint(targetedEvent); |
154 ASSERT_TRUE(webViewImpl->linkHighlight(0)); | 154 ASSERT_TRUE(webViewImpl->getLinkHighlight(0)); |
155 | 155 |
156 GraphicsLayer* highlightLayer = webViewImpl->linkHighlight(0)->currentGraphi
csLayerForTesting(); | 156 GraphicsLayer* highlightLayer = webViewImpl->getLinkHighlight(0)->currentGra
phicsLayerForTesting(); |
157 ASSERT_TRUE(highlightLayer); | 157 ASSERT_TRUE(highlightLayer); |
158 EXPECT_TRUE(highlightLayer->linkHighlight(0)); | 158 EXPECT_TRUE(highlightLayer->getLinkHighlight(0)); |
159 | 159 |
160 touchNode->remove(IGNORE_EXCEPTION); | 160 touchNode->remove(IGNORE_EXCEPTION); |
161 webViewImpl->updateAllLifecyclePhases(); | 161 webViewImpl->updateAllLifecyclePhases(); |
162 ASSERT_EQ(0U, highlightLayer->numLinkHighlights()); | 162 ASSERT_EQ(0U, highlightLayer->numLinkHighlights()); |
163 | 163 |
164 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); | 164 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); |
165 } | 165 } |
166 | 166 |
167 // A lifetime test: delete LayerTreeView while running LinkHighlights. | 167 // A lifetime test: delete LayerTreeView while running LinkHighlights. |
168 TEST(LinkHighlightImplTest, resetLayerTreeView) | 168 TEST(LinkHighlightImplTest, resetLayerTreeView) |
(...skipping 16 matching lines...) Expand all Loading... |
185 touchEvent.type = WebInputEvent::GestureShowPress; | 185 touchEvent.type = WebInputEvent::GestureShowPress; |
186 touchEvent.sourceDevice = WebGestureDeviceTouchscreen; | 186 touchEvent.sourceDevice = WebGestureDeviceTouchscreen; |
187 touchEvent.x = 20; | 187 touchEvent.x = 20; |
188 touchEvent.y = 20; | 188 touchEvent.y = 20; |
189 | 189 |
190 GestureEventWithHitTestResults targetedEvent = getTargetedEvent(webViewImpl,
touchEvent); | 190 GestureEventWithHitTestResults targetedEvent = getTargetedEvent(webViewImpl,
touchEvent); |
191 Node* touchNode = webViewImpl->bestTapNode(targetedEvent); | 191 Node* touchNode = webViewImpl->bestTapNode(targetedEvent); |
192 ASSERT_TRUE(touchNode); | 192 ASSERT_TRUE(touchNode); |
193 | 193 |
194 webViewImpl->enableTapHighlightAtPoint(targetedEvent); | 194 webViewImpl->enableTapHighlightAtPoint(targetedEvent); |
195 ASSERT_TRUE(webViewImpl->linkHighlight(0)); | 195 ASSERT_TRUE(webViewImpl->getLinkHighlight(0)); |
196 | 196 |
197 GraphicsLayer* highlightLayer = webViewImpl->linkHighlight(0)->currentGraphi
csLayerForTesting(); | 197 GraphicsLayer* highlightLayer = webViewImpl->getLinkHighlight(0)->currentGra
phicsLayerForTesting(); |
198 ASSERT_TRUE(highlightLayer); | 198 ASSERT_TRUE(highlightLayer); |
199 EXPECT_TRUE(highlightLayer->linkHighlight(0)); | 199 EXPECT_TRUE(highlightLayer->getLinkHighlight(0)); |
200 | 200 |
201 // Mimic the logic from RenderWidget::Close: | 201 // Mimic the logic from RenderWidget::Close: |
202 webViewImpl->willCloseLayerTreeView(); | 202 webViewImpl->willCloseLayerTreeView(); |
203 webViewHelper.reset(); | 203 webViewHelper.reset(); |
204 | 204 |
205 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); | 205 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); |
206 } | 206 } |
207 | 207 |
208 TEST(LinkHighlightImplTest, multipleHighlights) | 208 TEST(LinkHighlightImplTest, multipleHighlights) |
209 { | 209 { |
(...skipping 20 matching lines...) Expand all Loading... |
230 IntRect boundingBox(touchEvent.x - touchEvent.data.tap.width / 2, touchEvent
.y - touchEvent.data.tap.height / 2, touchEvent.data.tap.width, touchEvent.data.
tap.height); | 230 IntRect boundingBox(touchEvent.x - touchEvent.data.tap.width / 2, touchEvent
.y - touchEvent.data.tap.height / 2, touchEvent.data.tap.width, touchEvent.data.
tap.height); |
231 findGoodTouchTargets(boundingBox, webViewImpl->mainFrameImpl()->frame(), goo
dTargets, highlightNodes); | 231 findGoodTouchTargets(boundingBox, webViewImpl->mainFrameImpl()->frame(), goo
dTargets, highlightNodes); |
232 | 232 |
233 webViewImpl->enableTapHighlights(highlightNodes); | 233 webViewImpl->enableTapHighlights(highlightNodes); |
234 EXPECT_EQ(2U, webViewImpl->numLinkHighlights()); | 234 EXPECT_EQ(2U, webViewImpl->numLinkHighlights()); |
235 | 235 |
236 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); | 236 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); |
237 } | 237 } |
238 | 238 |
239 } // namespace blink | 239 } // namespace blink |
OLD | NEW |