| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 AtomicString id = fragmentIdentifierFromIRIString(urlString, treeScope); | 111 AtomicString id = fragmentIdentifierFromIRIString(urlString, treeScope); |
| 112 if (id.isEmpty()) | 112 if (id.isEmpty()) |
| 113 return nullptr; | 113 return nullptr; |
| 114 if (fragmentIdentifier) | 114 if (fragmentIdentifier) |
| 115 *fragmentIdentifier = id; | 115 *fragmentIdentifier = id; |
| 116 return treeScope.getElementById(id); | 116 return treeScope.getElementById(id); |
| 117 } | 117 } |
| 118 | 118 |
| 119 Element* SVGURIReference::observeTarget(Member<IdTargetObserver>& observer, | 119 Element* SVGURIReference::observeTarget(Member<IdTargetObserver>& observer, |
| 120 SVGElement& contextElement) { | 120 SVGElement& contextElement) { |
| 121 return observeTarget(observer, contextElement, hrefString()); |
| 122 } |
| 123 |
| 124 Element* SVGURIReference::observeTarget(Member<IdTargetObserver>& observer, |
| 125 SVGElement& contextElement, |
| 126 const String& hrefString) { |
| 121 TreeScope& treeScope = contextElement.treeScope(); | 127 TreeScope& treeScope = contextElement.treeScope(); |
| 122 AtomicString id = fragmentIdentifierFromIRIString(hrefString(), treeScope); | 128 AtomicString id = fragmentIdentifierFromIRIString(hrefString, treeScope); |
| 123 return observeTarget(observer, treeScope, id, | 129 return observeTarget(observer, treeScope, id, |
| 124 WTF::bind(&SVGElement::buildPendingResource, | 130 WTF::bind(&SVGElement::buildPendingResource, |
| 125 wrapWeakPersistent(&contextElement))); | 131 wrapWeakPersistent(&contextElement))); |
| 126 } | 132 } |
| 127 | 133 |
| 128 Element* SVGURIReference::observeTarget(Member<IdTargetObserver>& observer, | 134 Element* SVGURIReference::observeTarget(Member<IdTargetObserver>& observer, |
| 129 TreeScope& treeScope, | 135 TreeScope& treeScope, |
| 130 const AtomicString& id, | 136 const AtomicString& id, |
| 131 std::unique_ptr<WTF::Closure> closure) { | 137 std::unique_ptr<WTF::Closure> closure) { |
| 132 DCHECK(!observer); | 138 DCHECK(!observer); |
| 133 if (id.isEmpty()) | 139 if (id.isEmpty()) |
| 134 return nullptr; | 140 return nullptr; |
| 135 observer = new SVGElementReferenceObserver(treeScope, id, std::move(closure)); | 141 observer = new SVGElementReferenceObserver(treeScope, id, std::move(closure)); |
| 136 return treeScope.getElementById(id); | 142 return treeScope.getElementById(id); |
| 137 } | 143 } |
| 138 | 144 |
| 139 void SVGURIReference::unobserveTarget(Member<IdTargetObserver>& observer) { | 145 void SVGURIReference::unobserveTarget(Member<IdTargetObserver>& observer) { |
| 140 if (!observer) | 146 if (!observer) |
| 141 return; | 147 return; |
| 142 observer->unregister(); | 148 observer->unregister(); |
| 143 observer = nullptr; | 149 observer = nullptr; |
| 144 } | 150 } |
| 145 | 151 |
| 146 } // namespace blink | 152 } // namespace blink |
| OLD | NEW |