| 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 |