Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: third_party/WebKit/Source/core/input/GestureManager.cpp

Issue 2849403002: Use const ref for LocalFrame::LocalFrameRoot and FrameTree::Top (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/input/GestureManager.h" 5 #include "core/input/GestureManager.h"
6 6
7 #include "core/dom/Document.h" 7 #include "core/dom/Document.h"
8 #include "core/dom/DocumentUserGestureToken.h" 8 #include "core/dom/DocumentUserGestureToken.h"
9 #include "core/editing/SelectionController.h" 9 #include "core/editing/SelectionController.h"
10 #include "core/events/GestureEvent.h" 10 #include "core/events/GestureEvent.h"
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 // Do a new hit-test in case the mousemove event changed the DOM. 168 // Do a new hit-test in case the mousemove event changed the DOM.
169 // Note that if the original hit test wasn't over an element (eg. was over a 169 // Note that if the original hit test wasn't over an element (eg. was over a
170 // scrollbar) we don't want to re-hit-test because it may be in the wrong 170 // scrollbar) we don't want to re-hit-test because it may be in the wrong
171 // frame (and there's no way the page could have seen the event anyway). Also 171 // frame (and there's no way the page could have seen the event anyway). Also
172 // note that the position of the frame may have changed, so we need to 172 // note that the position of the frame may have changed, so we need to
173 // recompute the content co-ordinates (updating layout/style as 173 // recompute the content co-ordinates (updating layout/style as
174 // hitTestResultAtPoint normally would). 174 // hitTestResultAtPoint normally would).
175 // FIXME: Use a hit-test cache to avoid unnecessary hit tests. 175 // FIXME: Use a hit-test cache to avoid unnecessary hit tests.
176 // http://crbug.com/398920 176 // http://crbug.com/398920
177 if (current_hit_test.InnerNode()) { 177 if (current_hit_test.InnerNode()) {
178 LocalFrame* main_frame = frame_->LocalFrameRoot(); 178 LocalFrame& main_frame = frame_->LocalFrameRoot();
179 if (main_frame && main_frame->View()) 179 if (main_frame.View())
180 main_frame->View()->UpdateLifecycleToCompositingCleanPlusScrolling(); 180 main_frame.View()->UpdateLifecycleToCompositingCleanPlusScrolling();
181 adjusted_point = frame_view->RootFrameToContents( 181 adjusted_point = frame_view->RootFrameToContents(
182 FlooredIntPoint(gesture_event.PositionInRootFrame())); 182 FlooredIntPoint(gesture_event.PositionInRootFrame()));
183 current_hit_test = EventHandlingUtil::HitTestResultInFrame( 183 current_hit_test = EventHandlingUtil::HitTestResultInFrame(
184 frame_, adjusted_point, hit_type); 184 frame_, adjusted_point, hit_type);
185 } 185 }
186 186
187 // Capture data for showUnhandledTapUIIfNeeded. 187 // Capture data for showUnhandledTapUIIfNeeded.
188 IntPoint tapped_position = 188 IntPoint tapped_position =
189 FlooredIntPoint(gesture_event.PositionInRootFrame()); 189 FlooredIntPoint(gesture_event.PositionInRootFrame());
190 Node* tapped_node = current_hit_test.InnerNode(); 190 Node* tapped_node = current_hit_test.InnerNode();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 if (current_hit_test.InnerNode()) { 230 if (current_hit_test.InnerNode()) {
231 DCHECK(gesture_event.GetType() == WebInputEvent::kGestureTap); 231 DCHECK(gesture_event.GetType() == WebInputEvent::kGestureTap);
232 HitTestResult result = current_hit_test; 232 HitTestResult result = current_hit_test;
233 result.SetToShadowHostIfInRestrictedShadowRoot(); 233 result.SetToShadowHostIfInRestrictedShadowRoot();
234 frame_->GetChromeClient().OnMouseDown(*result.InnerNode()); 234 frame_->GetChromeClient().OnMouseDown(*result.InnerNode());
235 } 235 }
236 236
237 // FIXME: Use a hit-test cache to avoid unnecessary hit tests. 237 // FIXME: Use a hit-test cache to avoid unnecessary hit tests.
238 // http://crbug.com/398920 238 // http://crbug.com/398920
239 if (current_hit_test.InnerNode()) { 239 if (current_hit_test.InnerNode()) {
240 LocalFrame* main_frame = frame_->LocalFrameRoot(); 240 LocalFrame& main_frame = frame_->LocalFrameRoot();
241 if (main_frame && main_frame->View()) 241 if (main_frame.View())
242 main_frame->View()->UpdateAllLifecyclePhases(); 242 main_frame.View()->UpdateAllLifecyclePhases();
243 adjusted_point = frame_view->RootFrameToContents(tapped_position); 243 adjusted_point = frame_view->RootFrameToContents(tapped_position);
244 current_hit_test = EventHandlingUtil::HitTestResultInFrame( 244 current_hit_test = EventHandlingUtil::HitTestResultInFrame(
245 frame_, adjusted_point, hit_type); 245 frame_, adjusted_point, hit_type);
246 } 246 }
247 247
248 WebMouseEvent fake_mouse_up( 248 WebMouseEvent fake_mouse_up(
249 WebInputEvent::kMouseUp, gesture_event, 249 WebInputEvent::kMouseUp, gesture_event,
250 WebPointerProperties::Button::kLeft, gesture_event.TapCount(), 250 WebPointerProperties::Button::kLeft, gesture_event.TapCount(),
251 static_cast<WebInputEvent::Modifiers>( 251 static_cast<WebInputEvent::Modifiers>(
252 modifiers | WebInputEvent::Modifiers::kIsCompatibilityEventForTouch), 252 modifiers | WebInputEvent::Modifiers::kIsCompatibilityEventForTouch),
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 } 428 }
429 return WebInputEventResult::kNotHandled; 429 return WebInputEventResult::kNotHandled;
430 } 430 }
431 431
432 WTF::Optional<WTF::TimeTicks> GestureManager::GetLastShowPressTimestamp() 432 WTF::Optional<WTF::TimeTicks> GestureManager::GetLastShowPressTimestamp()
433 const { 433 const {
434 return last_show_press_timestamp_; 434 return last_show_press_timestamp_;
435 } 435 }
436 436
437 } // namespace blink 437 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698