| 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, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 1838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1849 { | 1849 { |
| 1850 if (!hasRareData()) | 1850 if (!hasRareData()) |
| 1851 return nullptr; | 1851 return nullptr; |
| 1852 NodeMutationObserverData* data = rareData()->mutationObserverData(); | 1852 NodeMutationObserverData* data = rareData()->mutationObserverData(); |
| 1853 if (!data) | 1853 if (!data) |
| 1854 return nullptr; | 1854 return nullptr; |
| 1855 return &data->transientRegistry; | 1855 return &data->transientRegistry; |
| 1856 } | 1856 } |
| 1857 | 1857 |
| 1858 template<typename Registry> | 1858 template<typename Registry> |
| 1859 static inline void collectMatchingObserversForMutation(WillBeHeapHashMap<RawPtrW
illBeMember<MutationObserver>, MutationRecordDeliveryOptions>& observers, Regist
ry* registry, Node& target, MutationObserver::MutationType type, const Qualified
Name* attributeName) | 1859 static inline void collectMatchingObserversForMutation(WillBeHeapHashMap<RefPtrW
illBeMember<MutationObserver>, MutationRecordDeliveryOptions>& observers, Regist
ry* registry, Node& target, MutationObserver::MutationType type, const Qualified
Name* attributeName) |
| 1860 { | 1860 { |
| 1861 if (!registry) | 1861 if (!registry) |
| 1862 return; | 1862 return; |
| 1863 | 1863 |
| 1864 for (const auto& registration : *registry) { | 1864 for (const auto& registration : *registry) { |
| 1865 if (registration->shouldReceiveMutationFrom(target, type, attributeName)
) { | 1865 if (registration->shouldReceiveMutationFrom(target, type, attributeName)
) { |
| 1866 MutationRecordDeliveryOptions deliveryOptions = registration->delive
ryOptions(); | 1866 MutationRecordDeliveryOptions deliveryOptions = registration->delive
ryOptions(); |
| 1867 WillBeHeapHashMap<RawPtrWillBeMember<MutationObserver>, MutationReco
rdDeliveryOptions>::AddResult result = observers.add(®istration->observer(),
deliveryOptions); | 1867 WillBeHeapHashMap<RefPtrWillBeMember<MutationObserver>, MutationReco
rdDeliveryOptions>::AddResult result = observers.add(®istration->observer(),
deliveryOptions); |
| 1868 if (!result.isNewEntry) | 1868 if (!result.isNewEntry) |
| 1869 result.storedValue->value |= deliveryOptions; | 1869 result.storedValue->value |= deliveryOptions; |
| 1870 } | 1870 } |
| 1871 } | 1871 } |
| 1872 } | 1872 } |
| 1873 | 1873 |
| 1874 void Node::getRegisteredMutationObserversOfType(WillBeHeapHashMap<RawPtrWillBeMe
mber<MutationObserver>, MutationRecordDeliveryOptions>& observers, MutationObser
ver::MutationType type, const QualifiedName* attributeName) | 1874 void Node::getRegisteredMutationObserversOfType(WillBeHeapHashMap<RefPtrWillBeMe
mber<MutationObserver>, MutationRecordDeliveryOptions>& observers, MutationObser
ver::MutationType type, const QualifiedName* attributeName) |
| 1875 { | 1875 { |
| 1876 ASSERT((type == MutationObserver::Attributes && attributeName) || !attribute
Name); | 1876 ASSERT((type == MutationObserver::Attributes && attributeName) || !attribute
Name); |
| 1877 collectMatchingObserversForMutation(observers, mutationObserverRegistry(), *
this, type, attributeName); | 1877 collectMatchingObserversForMutation(observers, mutationObserverRegistry(), *
this, type, attributeName); |
| 1878 collectMatchingObserversForMutation(observers, transientMutationObserverRegi
stry(), *this, type, attributeName); | 1878 collectMatchingObserversForMutation(observers, transientMutationObserverRegi
stry(), *this, type, attributeName); |
| 1879 ScriptForbiddenScope forbidScriptDuringRawIteration; | 1879 ScriptForbiddenScope forbidScriptDuringRawIteration; |
| 1880 for (Node* node = parentNode(); node; node = node->parentNode()) { | 1880 for (Node* node = parentNode(); node; node = node->parentNode()) { |
| 1881 collectMatchingObserversForMutation(observers, node->mutationObserverReg
istry(), *this, type, attributeName); | 1881 collectMatchingObserversForMutation(observers, node->mutationObserverReg
istry(), *this, type, attributeName); |
| 1882 collectMatchingObserversForMutation(observers, node->transientMutationOb
serverRegistry(), *this, type, attributeName); | 1882 collectMatchingObserversForMutation(observers, node->transientMutationOb
serverRegistry(), *this, type, attributeName); |
| 1883 } | 1883 } |
| 1884 } | 1884 } |
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2368 | 2368 |
| 2369 void showNodePath(const blink::Node* node) | 2369 void showNodePath(const blink::Node* node) |
| 2370 { | 2370 { |
| 2371 if (node) | 2371 if (node) |
| 2372 node->showNodePathForThis(); | 2372 node->showNodePathForThis(); |
| 2373 else | 2373 else |
| 2374 fprintf(stderr, "Cannot showNodePath for (nil)\n"); | 2374 fprintf(stderr, "Cannot showNodePath for (nil)\n"); |
| 2375 } | 2375 } |
| 2376 | 2376 |
| 2377 #endif | 2377 #endif |
| OLD | NEW |