| 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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 options.setPassive(false); | 192 options.setPassive(false); |
| 193 return; | 193 return; |
| 194 } | 194 } |
| 195 | 195 |
| 196 if (LocalDOMWindow* executingWindow = this->executingWindow()) { | 196 if (LocalDOMWindow* executingWindow = this->executingWindow()) { |
| 197 if (options.hasPassive()) { | 197 if (options.hasPassive()) { |
| 198 UseCounter::count(executingWindow->document(), options.passive() ? U
seCounter::AddEventListenerPassiveTrue : UseCounter::AddEventListenerPassiveFals
e); | 198 UseCounter::count(executingWindow->document(), options.passive() ? U
seCounter::AddEventListenerPassiveTrue : UseCounter::AddEventListenerPassiveFals
e); |
| 199 } | 199 } |
| 200 } | 200 } |
| 201 | 201 |
| 202 if (RuntimeEnabledFeatures::passiveDocumentEventListenersEnabled()) { |
| 203 if (!options.hasPassive()) { |
| 204 if (Node* node = toNode()) { |
| 205 if (node->isDocumentNode() || node->document().documentElement()
== node || node->document().body() == node) { |
| 206 options.setPassive(true); |
| 207 return; |
| 208 } |
| 209 } else if (toLocalDOMWindow()) { |
| 210 options.setPassive(true); |
| 211 return; |
| 212 } |
| 213 } |
| 214 } |
| 215 |
| 202 if (Settings* settings = windowSettings(executingWindow())) { | 216 if (Settings* settings = windowSettings(executingWindow())) { |
| 203 switch (settings->passiveListenerDefault()) { | 217 switch (settings->passiveListenerDefault()) { |
| 204 case PassiveListenerDefault::False: | 218 case PassiveListenerDefault::False: |
| 205 if (!options.hasPassive()) | 219 if (!options.hasPassive()) |
| 206 options.setPassive(false); | 220 options.setPassive(false); |
| 207 break; | 221 break; |
| 208 case PassiveListenerDefault::True: | 222 case PassiveListenerDefault::True: |
| 209 if (!options.hasPassive()) | 223 if (!options.hasPassive()) |
| 210 options.setPassive(true); | 224 options.setPassive(true); |
| 211 break; | 225 break; |
| 212 case PassiveListenerDefault::ForceAllTrue: | 226 case PassiveListenerDefault::ForceAllTrue: |
| 213 options.setPassive(true); | 227 options.setPassive(true); |
| 214 break; | 228 break; |
| 215 case PassiveListenerDefault::DocumentTrue: | |
| 216 if (!options.hasPassive()) { | |
| 217 if (Node* node = toNode()) { | |
| 218 if (node->isDocumentNode() || node->document().documentEleme
nt() == node || node->document().body() == node) { | |
| 219 options.setPassive(true); | |
| 220 } | |
| 221 } else if (toLocalDOMWindow()) { | |
| 222 options.setPassive(true); | |
| 223 } | |
| 224 } | |
| 225 break; | |
| 226 } | 229 } |
| 227 } else { | 230 } else { |
| 228 if (!options.hasPassive()) | 231 if (!options.hasPassive()) |
| 229 options.setPassive(false); | 232 options.setPassive(false); |
| 230 } | 233 } |
| 231 } | 234 } |
| 232 | 235 |
| 233 bool EventTarget::addEventListener(const AtomicString& eventType, EventListener*
listener, bool useCapture) | 236 bool EventTarget::addEventListener(const AtomicString& eventType, EventListener*
listener, bool useCapture) |
| 234 { | 237 { |
| 235 AddEventListenerOptions options; | 238 AddEventListenerOptions options; |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 648 // they have one less listener to invoke. | 651 // they have one less listener to invoke. |
| 649 if (d->firingEventIterators) { | 652 if (d->firingEventIterators) { |
| 650 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { | 653 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { |
| 651 d->firingEventIterators->at(i).iterator = 0; | 654 d->firingEventIterators->at(i).iterator = 0; |
| 652 d->firingEventIterators->at(i).end = 0; | 655 d->firingEventIterators->at(i).end = 0; |
| 653 } | 656 } |
| 654 } | 657 } |
| 655 } | 658 } |
| 656 | 659 |
| 657 } // namespace blink | 660 } // namespace blink |
| OLD | NEW |