| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/EventHandlerRegistry.h" | 5 #include "core/frame/EventHandlerRegistry.h" |
| 6 | 6 |
| 7 #include "core/events/EventListenerOptions.h" | 7 #include "core/events/EventListenerOptions.h" |
| 8 #include "core/events/EventUtil.h" | 8 #include "core/events/EventUtil.h" |
| 9 #include "core/frame/LocalDOMWindow.h" | 9 #include "core/frame/LocalDOMWindow.h" |
| 10 #include "core/frame/LocalFrame.h" | 10 #include "core/frame/LocalFrame.h" |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 *result = options.passive() ? kWheelEventPassive : kWheelEventBlocking; | 49 *result = options.passive() ? kWheelEventPassive : kWheelEventBlocking; |
| 50 } else if (event_type == EventTypeNames::touchend || | 50 } else if (event_type == EventTypeNames::touchend || |
| 51 event_type == EventTypeNames::touchcancel) { | 51 event_type == EventTypeNames::touchcancel) { |
| 52 *result = options.passive() ? kTouchEndOrCancelEventPassive | 52 *result = options.passive() ? kTouchEndOrCancelEventPassive |
| 53 : kTouchEndOrCancelEventBlocking; | 53 : kTouchEndOrCancelEventBlocking; |
| 54 } else if (event_type == EventTypeNames::touchstart || | 54 } else if (event_type == EventTypeNames::touchstart || |
| 55 event_type == EventTypeNames::touchmove) { | 55 event_type == EventTypeNames::touchmove) { |
| 56 *result = options.passive() ? kTouchStartOrMoveEventPassive | 56 *result = options.passive() ? kTouchStartOrMoveEventPassive |
| 57 : kTouchStartOrMoveEventBlocking; | 57 : kTouchStartOrMoveEventBlocking; |
| 58 } else if (EventUtil::IsPointerEventType(event_type)) { | 58 } else if (EventUtil::IsPointerEventType(event_type)) { |
| 59 // The EventHandlerClass is TouchStartOrMoveEventPassive since | 59 // The pointer events never block scrolling and the compositor |
| 60 // the pointer events never block scrolling and the compositor | |
| 61 // only needs to know about the touch listeners. | 60 // only needs to know about the touch listeners. |
| 62 *result = kTouchStartOrMoveEventPassive; | 61 *result = kPointerEvent; |
| 63 #if DCHECK_IS_ON() | 62 #if DCHECK_IS_ON() |
| 64 } else if (event_type == EventTypeNames::load || | 63 } else if (event_type == EventTypeNames::load || |
| 65 event_type == EventTypeNames::mousemove || | 64 event_type == EventTypeNames::mousemove || |
| 66 event_type == EventTypeNames::touchstart) { | 65 event_type == EventTypeNames::touchstart) { |
| 67 *result = kEventsForTesting; | 66 *result = kEventsForTesting; |
| 68 #endif | 67 #endif |
| 69 } else { | 68 } else { |
| 70 return false; | 69 return false; |
| 71 } | 70 } |
| 72 return true; | 71 return true; |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 break; | 216 break; |
| 218 case kWheelEventBlocking: | 217 case kWheelEventBlocking: |
| 219 case kWheelEventPassive: | 218 case kWheelEventPassive: |
| 220 page_->GetChromeClient().SetEventListenerProperties( | 219 page_->GetChromeClient().SetEventListenerProperties( |
| 221 frame, WebEventListenerClass::kMouseWheel, | 220 frame, WebEventListenerClass::kMouseWheel, |
| 222 GetWebEventListenerProperties(HasEventHandlers(kWheelEventBlocking), | 221 GetWebEventListenerProperties(HasEventHandlers(kWheelEventBlocking), |
| 223 HasEventHandlers(kWheelEventPassive))); | 222 HasEventHandlers(kWheelEventPassive))); |
| 224 break; | 223 break; |
| 225 case kTouchStartOrMoveEventBlocking: | 224 case kTouchStartOrMoveEventBlocking: |
| 226 case kTouchStartOrMoveEventPassive: | 225 case kTouchStartOrMoveEventPassive: |
| 226 case kPointerEvent: |
| 227 page_->GetChromeClient().SetEventListenerProperties( | 227 page_->GetChromeClient().SetEventListenerProperties( |
| 228 frame, WebEventListenerClass::kTouchStartOrMove, | 228 frame, WebEventListenerClass::kTouchStartOrMove, |
| 229 GetWebEventListenerProperties( | 229 GetWebEventListenerProperties( |
| 230 HasEventHandlers(kTouchStartOrMoveEventBlocking), | 230 HasEventHandlers(kTouchStartOrMoveEventBlocking), |
| 231 HasEventHandlers(kTouchStartOrMoveEventPassive))); | 231 HasEventHandlers(kTouchStartOrMoveEventPassive) || |
| 232 HasEventHandlers(kPointerEvent))); |
| 232 break; | 233 break; |
| 233 case kTouchEndOrCancelEventBlocking: | 234 case kTouchEndOrCancelEventBlocking: |
| 234 case kTouchEndOrCancelEventPassive: | 235 case kTouchEndOrCancelEventPassive: |
| 235 page_->GetChromeClient().SetEventListenerProperties( | 236 page_->GetChromeClient().SetEventListenerProperties( |
| 236 frame, WebEventListenerClass::kTouchEndOrCancel, | 237 frame, WebEventListenerClass::kTouchEndOrCancel, |
| 237 GetWebEventListenerProperties( | 238 GetWebEventListenerProperties( |
| 238 HasEventHandlers(kTouchEndOrCancelEventBlocking), | 239 HasEventHandlers(kTouchEndOrCancelEventBlocking), |
| 239 HasEventHandlers(kTouchEndOrCancelEventPassive))); | 240 HasEventHandlers(kTouchEndOrCancelEventPassive))); |
| 240 break; | 241 break; |
| 241 #if DCHECK_IS_ON() | 242 #if DCHECK_IS_ON() |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 // its handlers properly. | 327 // its handlers properly. |
| 327 DCHECK(window->GetFrame()); | 328 DCHECK(window->GetFrame()); |
| 328 DCHECK(window->GetFrame()->GetPage()); | 329 DCHECK(window->GetFrame()->GetPage()); |
| 329 DCHECK(window->GetFrame()->GetPage() == page_); | 330 DCHECK(window->GetFrame()->GetPage() == page_); |
| 330 } | 331 } |
| 331 } | 332 } |
| 332 #endif // DCHECK_IS_ON() | 333 #endif // DCHECK_IS_ON() |
| 333 } | 334 } |
| 334 | 335 |
| 335 } // namespace blink | 336 } // namespace blink |
| OLD | NEW |