OLD | NEW |
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/frame/WebFrameWidgetBase.h" | 5 #include "core/frame/WebFrameWidgetBase.h" |
6 | 6 |
7 #include "core/dom/UserGestureIndicator.h" | 7 #include "core/dom/UserGestureIndicator.h" |
8 #include "core/events/WebInputEventConversion.h" | 8 #include "core/events/WebInputEventConversion.h" |
9 #include "core/exported/WebViewBase.h" | 9 #include "core/exported/WebViewBase.h" |
10 #include "core/frame/LocalFrameView.h" | 10 #include "core/frame/LocalFrameView.h" |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 return ToWebLocalFrameBase(LocalRoot())->ViewImpl(); | 231 return ToWebLocalFrameBase(LocalRoot())->ViewImpl(); |
232 } | 232 } |
233 | 233 |
234 Page* WebFrameWidgetBase::GetPage() const { | 234 Page* WebFrameWidgetBase::GetPage() const { |
235 return View()->GetPage(); | 235 return View()->GetPage(); |
236 } | 236 } |
237 | 237 |
238 void WebFrameWidgetBase::DidAcquirePointerLock() { | 238 void WebFrameWidgetBase::DidAcquirePointerLock() { |
239 GetPage()->GetPointerLockController().DidAcquirePointerLock(); | 239 GetPage()->GetPointerLockController().DidAcquirePointerLock(); |
240 | 240 |
241 LocalFrame* focusedFrame = FocusedLocalFrameInWidget(); | 241 LocalFrame* focusedFrame = FocusedLocalFrame(); |
242 if (focusedFrame) { | 242 if (focusedFrame) { |
243 focusedFrame->GetEventHandler().ReleaseMousePointerCapture(); | 243 focusedFrame->GetEventHandler().ReleaseMousePointerCapture(); |
244 } | 244 } |
245 } | 245 } |
246 | 246 |
247 void WebFrameWidgetBase::DidNotAcquirePointerLock() { | 247 void WebFrameWidgetBase::DidNotAcquirePointerLock() { |
248 GetPage()->GetPointerLockController().DidNotAcquirePointerLock(); | 248 GetPage()->GetPointerLockController().DidNotAcquirePointerLock(); |
249 } | 249 } |
250 | 250 |
251 void WebFrameWidgetBase::DidLosePointerLock() { | 251 void WebFrameWidgetBase::DidLosePointerLock() { |
252 pointer_lock_gesture_token_.Clear(); | 252 pointer_lock_gesture_token_.Clear(); |
253 GetPage()->GetPointerLockController().DidLosePointerLock(); | 253 GetPage()->GetPointerLockController().DidLosePointerLock(); |
254 } | 254 } |
255 | 255 |
256 // TODO(665924): Remove direct dispatches of mouse events from | 256 // TODO(665924): Remove direct dispatches of mouse events from |
257 // PointerLockController, instead passing them through EventHandler. | 257 // PointerLockController, instead passing them through EventHandler. |
258 void WebFrameWidgetBase::PointerLockMouseEvent( | 258 void WebFrameWidgetBase::PointerLockMouseEvent( |
259 const WebCoalescedInputEvent& coalesced_event) { | 259 const WebCoalescedInputEvent& coalesced_event) { |
260 const WebInputEvent& input_event = coalesced_event.Event(); | 260 const WebInputEvent& input_event = coalesced_event.Event(); |
261 const WebMouseEvent& mouse_event = | 261 const WebMouseEvent& mouse_event = |
262 static_cast<const WebMouseEvent&>(input_event); | 262 static_cast<const WebMouseEvent&>(input_event); |
263 WebMouseEvent transformed_event = TransformWebMouseEvent( | 263 WebMouseEvent transformed_event = TransformWebMouseEvent( |
264 ToWebLocalFrameBase(LocalRoot())->GetFrameView(), mouse_event); | 264 ToWebLocalFrameBase(LocalRoot())->GetFrameView(), mouse_event); |
265 | 265 |
266 LocalFrame* focusedFrame = FocusedLocalFrameInWidget(); | 266 LocalFrame* focusedFrame = FocusedLocalFrame(); |
267 if (focusedFrame) { | 267 if (focusedFrame) { |
268 focusedFrame->GetEventHandler().ProcessPendingPointerCaptureForPointerLock( | 268 focusedFrame->GetEventHandler().ProcessPendingPointerCaptureForPointerLock( |
269 transformed_event); | 269 transformed_event); |
270 } | 270 } |
271 | 271 |
272 std::unique_ptr<UserGestureIndicator> gesture_indicator; | 272 std::unique_ptr<UserGestureIndicator> gesture_indicator; |
273 AtomicString event_type; | 273 AtomicString event_type; |
274 switch (input_event.GetType()) { | 274 switch (input_event.GetType()) { |
275 case WebInputEvent::kMouseDown: | 275 case WebInputEvent::kMouseDown: |
276 event_type = EventTypeNames::mousedown; | 276 event_type = EventTypeNames::mousedown; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 { | 310 { |
311 ContextMenuAllowedScope scope; | 311 ContextMenuAllowedScope scope; |
312 if (LocalFrame* focused_frame = | 312 if (LocalFrame* focused_frame = |
313 GetPage()->GetFocusController().FocusedFrame()) { | 313 GetPage()->GetFocusController().FocusedFrame()) { |
314 focused_frame->GetEventHandler().ShowNonLocatedContextMenu(nullptr, | 314 focused_frame->GetEventHandler().ShowNonLocatedContextMenu(nullptr, |
315 source_type); | 315 source_type); |
316 } | 316 } |
317 } | 317 } |
318 } | 318 } |
319 | 319 |
320 LocalFrame* WebFrameWidgetBase::FocusedLocalFrameInWidget() const { | 320 LocalFrame* WebFrameWidgetBase::FocusedLocalFrame() const { |
321 LocalFrame* frame = GetPage()->GetFocusController().FocusedFrame(); | 321 LocalFrame* frame = GetPage()->GetFocusController().FocusedFrame(); |
322 return (frame && frame->LocalFrameRoot() == ToCoreFrame(LocalRoot())) | 322 return (frame && frame->LocalFrameRoot() == ToCoreFrame(LocalRoot())) |
323 ? frame | 323 ? frame |
324 : nullptr; | 324 : nullptr; |
325 } | 325 } |
326 | 326 |
327 } // namespace blink | 327 } // namespace blink |
OLD | NEW |