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, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2010 Apple Inc. All rights reserved. | 5 * Copyright (C) 2010 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 String url = stripLeadingAndTrailingHTMLSpaces(hrefString()); | 149 String url = stripLeadingAndTrailingHTMLSpaces(hrefString()); |
150 | 150 |
151 if (url[0] == '#') { | 151 if (url[0] == '#') { |
152 Element* targetElement = treeScope().getElementById(AtomicString
(url.substring(1))); | 152 Element* targetElement = treeScope().getElementById(AtomicString
(url.substring(1))); |
153 if (targetElement && isSVGSMILElement(*targetElement)) { | 153 if (targetElement && isSVGSMILElement(*targetElement)) { |
154 toSVGSMILElement(targetElement)->beginByLinkActivation(); | 154 toSVGSMILElement(targetElement)->beginByLinkActivation(); |
155 event->setDefaultHandled(); | 155 event->setDefaultHandled(); |
156 return; | 156 return; |
157 } | 157 } |
158 // Only allow navigation to internal <view> anchors. | 158 // Only allow navigation to internal <view> anchors. |
159 if (targetElement && !targetElement->hasTagName(SVGNames::viewTa
g)) | 159 if (targetElement && !isSVGViewElement(*targetElement)) |
160 return; | 160 return; |
161 } | 161 } |
162 | 162 |
163 AtomicString target(m_svgTarget->currentValue()->value()); | 163 AtomicString target(m_svgTarget->currentValue()->value()); |
164 if (target.isEmpty() && fastGetAttribute(XLinkNames::showAttr) == "n
ew") | 164 if (target.isEmpty() && fastGetAttribute(XLinkNames::showAttr) == "n
ew") |
165 target = AtomicString("_blank", AtomicString::ConstructFromLiter
al); | 165 target = AtomicString("_blank", AtomicString::ConstructFromLiter
al); |
166 event->setDefaultHandled(); | 166 event->setDefaultHandled(); |
167 | 167 |
168 LocalFrame* frame = document().frame(); | 168 LocalFrame* frame = document().frame(); |
169 if (!frame) | 169 if (!frame) |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 return page->chrome().client().tabsToLinks(); | 204 return page->chrome().client().tabsToLinks(); |
205 return false; | 205 return false; |
206 } | 206 } |
207 | 207 |
208 bool SVGAElement::willRespondToMouseClickEvents() | 208 bool SVGAElement::willRespondToMouseClickEvents() |
209 { | 209 { |
210 return isLink() || SVGGraphicsElement::willRespondToMouseClickEvents(); | 210 return isLink() || SVGGraphicsElement::willRespondToMouseClickEvents(); |
211 } | 211 } |
212 | 212 |
213 } // namespace WebCore | 213 } // namespace WebCore |
OLD | NEW |