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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 // Only allow navigation to internal <view> anchors. | 172 // Only allow navigation to internal <view> anchors. |
173 if (targetElement && !targetElement->hasTagName(SVGNames::viewTa
g)) | 173 if (targetElement && !targetElement->hasTagName(SVGNames::viewTa
g)) |
174 return; | 174 return; |
175 } | 175 } |
176 | 176 |
177 String target = this->target(); | 177 String target = this->target(); |
178 if (target.isEmpty() && fastGetAttribute(XLinkNames::showAttr) == "n
ew") | 178 if (target.isEmpty() && fastGetAttribute(XLinkNames::showAttr) == "n
ew") |
179 target = "_blank"; | 179 target = "_blank"; |
180 event->setDefaultHandled(); | 180 event->setDefaultHandled(); |
181 | 181 |
182 Frame* frame = document()->frame(); | 182 Frame* frame = document().frame(); |
183 if (!frame) | 183 if (!frame) |
184 return; | 184 return; |
185 FrameLoadRequest frameRequest(document()->securityOrigin(), Resource
Request(document()->completeURL(url)), target); | 185 FrameLoadRequest frameRequest(document().securityOrigin(), ResourceR
equest(document().completeURL(url)), target); |
186 frameRequest.setTriggeringEvent(event); | 186 frameRequest.setTriggeringEvent(event); |
187 frame->loader()->load(frameRequest); | 187 frame->loader()->load(frameRequest); |
188 return; | 188 return; |
189 } | 189 } |
190 } | 190 } |
191 | 191 |
192 SVGGraphicsElement::defaultEventHandler(event); | 192 SVGGraphicsElement::defaultEventHandler(event); |
193 } | 193 } |
194 | 194 |
195 bool SVGAElement::supportsFocus() const | 195 bool SVGAElement::supportsFocus() const |
(...skipping 19 matching lines...) Expand all Loading... |
215 bool SVGAElement::isMouseFocusable() const | 215 bool SVGAElement::isMouseFocusable() const |
216 { | 216 { |
217 return false; | 217 return false; |
218 } | 218 } |
219 | 219 |
220 bool SVGAElement::isKeyboardFocusable() const | 220 bool SVGAElement::isKeyboardFocusable() const |
221 { | 221 { |
222 if (!isFocusable()) | 222 if (!isFocusable()) |
223 return false; | 223 return false; |
224 | 224 |
225 if (Page* page = document()->page()) | 225 if (Page* page = document().page()) |
226 return page->chrome().client().tabsToLinks(); | 226 return page->chrome().client().tabsToLinks(); |
227 return false; | 227 return false; |
228 } | 228 } |
229 | 229 |
230 bool SVGAElement::childShouldCreateRenderer(const NodeRenderingContext& childCon
text) const | 230 bool SVGAElement::childShouldCreateRenderer(const NodeRenderingContext& childCon
text) const |
231 { | 231 { |
232 // http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environm
ent | 232 // http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environm
ent |
233 // The 'a' element may contain any element that its parent may contain, exce
pt itself. | 233 // The 'a' element may contain any element that its parent may contain, exce
pt itself. |
234 if (childContext.node()->hasTagName(SVGNames::aTag)) | 234 if (childContext.node()->hasTagName(SVGNames::aTag)) |
235 return false; | 235 return false; |
236 if (parentNode() && parentNode()->isSVGElement()) | 236 if (parentNode() && parentNode()->isSVGElement()) |
237 return parentNode()->childShouldCreateRenderer(childContext); | 237 return parentNode()->childShouldCreateRenderer(childContext); |
238 | 238 |
239 return SVGElement::childShouldCreateRenderer(childContext); | 239 return SVGElement::childShouldCreateRenderer(childContext); |
240 } | 240 } |
241 | 241 |
242 } // namespace WebCore | 242 } // namespace WebCore |
OLD | NEW |