| 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 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 if (!context) | 635 if (!context) |
| 636 return false; | 636 return false; |
| 637 | 637 |
| 638 size_t i = 0; | 638 size_t i = 0; |
| 639 size_t size = entry.size(); | 639 size_t size = entry.size(); |
| 640 if (!d->firingEventIterators) | 640 if (!d->firingEventIterators) |
| 641 d->firingEventIterators = wrapUnique(new FiringEventIteratorVector); | 641 d->firingEventIterators = wrapUnique(new FiringEventIteratorVector); |
| 642 d->firingEventIterators->append(FiringEventIterator(event->type(), i, size)); | 642 d->firingEventIterators->append(FiringEventIterator(event->type(), i, size)); |
| 643 | 643 |
| 644 double blockedEventThreshold = blockedEventsWarningThreshold(context, event); | 644 double blockedEventThreshold = blockedEventsWarningThreshold(context, event); |
| 645 double now = 0.0; | 645 TimeTicks now; |
| 646 bool shouldReportBlockedEvent = false; | 646 bool shouldReportBlockedEvent = false; |
| 647 if (blockedEventThreshold) { | 647 if (blockedEventThreshold) { |
| 648 now = WTF::monotonicallyIncreasingTime(); | 648 now = TimeTicks::Now(); |
| 649 shouldReportBlockedEvent = | 649 shouldReportBlockedEvent = |
| 650 now - event->platformTimeStamp() > blockedEventThreshold; | 650 (now - event->platformTimeStamp()).InSecondsF() > blockedEventThreshold; |
| 651 } | 651 } |
| 652 bool firedListener = false; | 652 bool firedListener = false; |
| 653 | 653 |
| 654 while (i < size) { | 654 while (i < size) { |
| 655 RegisteredEventListener registeredListener = entry[i]; | 655 RegisteredEventListener registeredListener = entry[i]; |
| 656 | 656 |
| 657 // Move the iterator past this event listener. This must match | 657 // Move the iterator past this event listener. This must match |
| 658 // the handling of the FiringEventIterator::iterator in | 658 // the handling of the FiringEventIterator::iterator in |
| 659 // EventTarget::removeEventListener. | 659 // EventTarget::removeEventListener. |
| 660 ++i; | 660 ++i; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 691 listener->handleEvent(context, event); | 691 listener->handleEvent(context, event); |
| 692 firedListener = true; | 692 firedListener = true; |
| 693 | 693 |
| 694 // If we're about to report this event listener as blocking, make sure it | 694 // If we're about to report this event listener as blocking, make sure it |
| 695 // wasn't removed while handling the event. | 695 // wasn't removed while handling the event. |
| 696 if (shouldReportBlockedEvent && i > 0 && | 696 if (shouldReportBlockedEvent && i > 0 && |
| 697 entry[i - 1].listener() == listener && !entry[i - 1].passive() && | 697 entry[i - 1].listener() == listener && !entry[i - 1].passive() && |
| 698 !entry[i - 1].blockedEventWarningEmitted() && | 698 !entry[i - 1].blockedEventWarningEmitted() && |
| 699 !event->defaultPrevented()) { | 699 !event->defaultPrevented()) { |
| 700 reportBlockedEvent(context, event, &entry[i - 1], | 700 reportBlockedEvent(context, event, &entry[i - 1], |
| 701 now - event->platformTimeStamp()); | 701 (now - event->platformTimeStamp()).InSecondsF()); |
| 702 } | 702 } |
| 703 | 703 |
| 704 if (passiveForced) { | 704 if (passiveForced) { |
| 705 DEFINE_STATIC_LOCAL(EnumerationHistogram, passiveForcedHistogram, | 705 DEFINE_STATIC_LOCAL(EnumerationHistogram, passiveForcedHistogram, |
| 706 ("Event.PassiveForcedEventDispatchCancelled", | 706 ("Event.PassiveForcedEventDispatchCancelled", |
| 707 PassiveForcedListenerResultTypeMax)); | 707 PassiveForcedListenerResultTypeMax)); |
| 708 PassiveForcedListenerResultType breakageType = PreventDefaultNotCalled; | 708 PassiveForcedListenerResultType breakageType = PreventDefaultNotCalled; |
| 709 if (event->preventDefaultCalledDuringPassive()) | 709 if (event->preventDefaultCalledDuringPassive()) |
| 710 breakageType = DocumentLevelTouchPreventDefaultCalled; | 710 breakageType = DocumentLevelTouchPreventDefaultCalled; |
| 711 | 711 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 // they have one less listener to invoke. | 751 // they have one less listener to invoke. |
| 752 if (d->firingEventIterators) { | 752 if (d->firingEventIterators) { |
| 753 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { | 753 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { |
| 754 d->firingEventIterators->at(i).iterator = 0; | 754 d->firingEventIterators->at(i).iterator = 0; |
| 755 d->firingEventIterators->at(i).end = 0; | 755 d->firingEventIterators->at(i).end = 0; |
| 756 } | 756 } |
| 757 } | 757 } |
| 758 } | 758 } |
| 759 | 759 |
| 760 } // namespace blink | 760 } // namespace blink |
| OLD | NEW |