| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 6 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 7 * (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 7 * (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 8 * | 8 * |
| 9 * Redistribution and use in source and binary forms, with or without | 9 * Redistribution and use in source and binary forms, with or without |
| 10 * modification, are permitted provided that the following conditions | 10 * modification, are permitted provided that the following conditions |
| (...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 634 if (!context) | 634 if (!context) |
| 635 return false; | 635 return false; |
| 636 | 636 |
| 637 size_t i = 0; | 637 size_t i = 0; |
| 638 size_t size = entry.size(); | 638 size_t size = entry.size(); |
| 639 if (!d->firingEventIterators) | 639 if (!d->firingEventIterators) |
| 640 d->firingEventIterators = WTF::wrapUnique(new FiringEventIteratorVector); | 640 d->firingEventIterators = WTF::wrapUnique(new FiringEventIteratorVector); |
| 641 d->firingEventIterators->append(FiringEventIterator(event->type(), i, size)); | 641 d->firingEventIterators->append(FiringEventIterator(event->type(), i, size)); |
| 642 | 642 |
| 643 double blockedEventThreshold = blockedEventsWarningThreshold(context, event); | 643 double blockedEventThreshold = blockedEventsWarningThreshold(context, event); |
| 644 double now = 0.0; | 644 TimeTicks now; |
| 645 bool shouldReportBlockedEvent = false; | 645 bool shouldReportBlockedEvent = false; |
| 646 if (blockedEventThreshold) { | 646 if (blockedEventThreshold) { |
| 647 now = WTF::monotonicallyIncreasingTime(); | 647 now = TimeTicks::Now(); |
| 648 shouldReportBlockedEvent = | 648 shouldReportBlockedEvent = |
| 649 now - event->platformTimeStamp() > blockedEventThreshold; | 649 (now - event->platformTimeStamp()).InSecondsF() > blockedEventThreshold; |
| 650 } | 650 } |
| 651 bool firedListener = false; | 651 bool firedListener = false; |
| 652 | 652 |
| 653 while (i < size) { | 653 while (i < size) { |
| 654 RegisteredEventListener registeredListener = entry[i]; | 654 RegisteredEventListener registeredListener = entry[i]; |
| 655 | 655 |
| 656 // Move the iterator past this event listener. This must match | 656 // Move the iterator past this event listener. This must match |
| 657 // the handling of the FiringEventIterator::iterator in | 657 // the handling of the FiringEventIterator::iterator in |
| 658 // EventTarget::removeEventListener. | 658 // EventTarget::removeEventListener. |
| 659 ++i; | 659 ++i; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 690 listener->handleEvent(context, event); | 690 listener->handleEvent(context, event); |
| 691 firedListener = true; | 691 firedListener = true; |
| 692 | 692 |
| 693 // If we're about to report this event listener as blocking, make sure it | 693 // If we're about to report this event listener as blocking, make sure it |
| 694 // wasn't removed while handling the event. | 694 // wasn't removed while handling the event. |
| 695 if (shouldReportBlockedEvent && i > 0 && | 695 if (shouldReportBlockedEvent && i > 0 && |
| 696 entry[i - 1].listener() == listener && !entry[i - 1].passive() && | 696 entry[i - 1].listener() == listener && !entry[i - 1].passive() && |
| 697 !entry[i - 1].blockedEventWarningEmitted() && | 697 !entry[i - 1].blockedEventWarningEmitted() && |
| 698 !event->defaultPrevented()) { | 698 !event->defaultPrevented()) { |
| 699 reportBlockedEvent(context, event, &entry[i - 1], | 699 reportBlockedEvent(context, event, &entry[i - 1], |
| 700 now - event->platformTimeStamp()); | 700 (now - event->platformTimeStamp()).InSecondsF()); |
| 701 } | 701 } |
| 702 | 702 |
| 703 if (passiveForced) { | 703 if (passiveForced) { |
| 704 DEFINE_STATIC_LOCAL(EnumerationHistogram, passiveForcedHistogram, | 704 DEFINE_STATIC_LOCAL(EnumerationHistogram, passiveForcedHistogram, |
| 705 ("Event.PassiveForcedEventDispatchCancelled", | 705 ("Event.PassiveForcedEventDispatchCancelled", |
| 706 PassiveForcedListenerResultTypeMax)); | 706 PassiveForcedListenerResultTypeMax)); |
| 707 PassiveForcedListenerResultType breakageType = PreventDefaultNotCalled; | 707 PassiveForcedListenerResultType breakageType = PreventDefaultNotCalled; |
| 708 if (event->preventDefaultCalledDuringPassive()) | 708 if (event->preventDefaultCalledDuringPassive()) |
| 709 breakageType = DocumentLevelTouchPreventDefaultCalled; | 709 breakageType = DocumentLevelTouchPreventDefaultCalled; |
| 710 | 710 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 750 // they have one less listener to invoke. | 750 // they have one less listener to invoke. |
| 751 if (d->firingEventIterators) { | 751 if (d->firingEventIterators) { |
| 752 for (const auto& iterator : *d->firingEventIterators) { | 752 for (const auto& iterator : *d->firingEventIterators) { |
| 753 iterator.iterator = 0; | 753 iterator.iterator = 0; |
| 754 iterator.end = 0; | 754 iterator.end = 0; |
| 755 } | 755 } |
| 756 } | 756 } |
| 757 } | 757 } |
| 758 | 758 |
| 759 } // namespace blink | 759 } // namespace blink |
| OLD | NEW |