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) 2000 Simon Hausmann <hausmann@kde.org> | 4 * (C) 2000 Simon Hausmann <hausmann@kde.org> |
5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
6 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 6 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 } | 137 } |
138 | 138 |
139 DEFINE_TRACE(HTMLAnchorElement) | 139 DEFINE_TRACE(HTMLAnchorElement) |
140 { | 140 { |
141 visitor->trace(m_navigationHintSender); | 141 visitor->trace(m_navigationHintSender); |
142 HTMLElement::trace(visitor); | 142 HTMLElement::trace(visitor); |
143 } | 143 } |
144 | 144 |
145 bool HTMLAnchorElement::supportsFocus() const | 145 bool HTMLAnchorElement::supportsFocus() const |
146 { | 146 { |
147 if (hasEditableStyle()) | 147 if (hasEditableStyle(*this)) |
148 return HTMLElement::supportsFocus(); | 148 return HTMLElement::supportsFocus(); |
149 // If not a link we should still be able to focus the element if it has tabI
ndex. | 149 // If not a link we should still be able to focus the element if it has tabI
ndex. |
150 return isLink() || HTMLElement::supportsFocus(); | 150 return isLink() || HTMLElement::supportsFocus(); |
151 } | 151 } |
152 | 152 |
153 bool HTMLAnchorElement::matchesEnabledPseudoClass() const | 153 bool HTMLAnchorElement::matchesEnabledPseudoClass() const |
154 { | 154 { |
155 return isLink(); | 155 return isLink(); |
156 } | 156 } |
157 | 157 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 handleClick(event); | 253 handleClick(event); |
254 return; | 254 return; |
255 } | 255 } |
256 } | 256 } |
257 | 257 |
258 HTMLElement::defaultEventHandler(event); | 258 HTMLElement::defaultEventHandler(event); |
259 } | 259 } |
260 | 260 |
261 void HTMLAnchorElement::setActive(bool down) | 261 void HTMLAnchorElement::setActive(bool down) |
262 { | 262 { |
263 if (hasEditableStyle()) | 263 if (hasEditableStyle(*this)) |
264 return; | 264 return; |
265 | 265 |
266 ContainerNode::setActive(down); | 266 ContainerNode::setActive(down); |
267 } | 267 } |
268 | 268 |
269 void HTMLAnchorElement::parseAttribute(const QualifiedName& name, const AtomicSt
ring& oldValue, const AtomicString& value) | 269 void HTMLAnchorElement::parseAttribute(const QualifiedName& name, const AtomicSt
ring& oldValue, const AtomicString& value) |
270 { | 270 { |
271 if (name == hrefAttr) { | 271 if (name == hrefAttr) { |
272 bool wasLink = isLink(); | 272 bool wasLink = isLink(); |
273 setIsLink(!value.isNull()); | 273 setIsLink(!value.isNull()); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 | 311 |
312 bool HTMLAnchorElement::hasLegalLinkAttribute(const QualifiedName& name) const | 312 bool HTMLAnchorElement::hasLegalLinkAttribute(const QualifiedName& name) const |
313 { | 313 { |
314 return name == hrefAttr || HTMLElement::hasLegalLinkAttribute(name); | 314 return name == hrefAttr || HTMLElement::hasLegalLinkAttribute(name); |
315 } | 315 } |
316 | 316 |
317 bool HTMLAnchorElement::canStartSelection() const | 317 bool HTMLAnchorElement::canStartSelection() const |
318 { | 318 { |
319 if (!isLink()) | 319 if (!isLink()) |
320 return HTMLElement::canStartSelection(); | 320 return HTMLElement::canStartSelection(); |
321 return hasEditableStyle(); | 321 return hasEditableStyle(*this); |
322 } | 322 } |
323 | 323 |
324 bool HTMLAnchorElement::draggable() const | 324 bool HTMLAnchorElement::draggable() const |
325 { | 325 { |
326 // Should be draggable if we have an href attribute. | 326 // Should be draggable if we have an href attribute. |
327 const AtomicString& value = getAttribute(draggableAttr); | 327 const AtomicString& value = getAttribute(draggableAttr); |
328 if (equalIgnoringCase(value, "true")) | 328 if (equalIgnoringCase(value, "true")) |
329 return true; | 329 return true; |
330 if (equalIgnoringCase(value, "false")) | 330 if (equalIgnoringCase(value, "false")) |
331 return false; | 331 return false; |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 } | 384 } |
385 | 385 |
386 short HTMLAnchorElement::tabIndex() const | 386 short HTMLAnchorElement::tabIndex() const |
387 { | 387 { |
388 // Skip the supportsFocus check in HTMLElement. | 388 // Skip the supportsFocus check in HTMLElement. |
389 return Element::tabIndex(); | 389 return Element::tabIndex(); |
390 } | 390 } |
391 | 391 |
392 bool HTMLAnchorElement::isLiveLink() const | 392 bool HTMLAnchorElement::isLiveLink() const |
393 { | 393 { |
394 return isLink() && !hasEditableStyle(); | 394 return isLink() && !hasEditableStyle(*this); |
395 } | 395 } |
396 | 396 |
397 void HTMLAnchorElement::sendPings(const KURL& destinationURL) const | 397 void HTMLAnchorElement::sendPings(const KURL& destinationURL) const |
398 { | 398 { |
399 const AtomicString& pingValue = getAttribute(pingAttr); | 399 const AtomicString& pingValue = getAttribute(pingAttr); |
400 if (pingValue.isNull() || !document().settings() || !document().settings()->
hyperlinkAuditingEnabled()) | 400 if (pingValue.isNull() || !document().settings() || !document().settings()->
hyperlinkAuditingEnabled()) |
401 return; | 401 return; |
402 | 402 |
403 UseCounter::count(document(), UseCounter::HTMLAnchorElementPingAttribute); | 403 UseCounter::count(document(), UseCounter::HTMLAnchorElementPingAttribute); |
404 | 404 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 } | 484 } |
485 | 485 |
486 HTMLAnchorElement::NavigationHintSender* HTMLAnchorElement::ensureNavigationHint
Sender() | 486 HTMLAnchorElement::NavigationHintSender* HTMLAnchorElement::ensureNavigationHint
Sender() |
487 { | 487 { |
488 if (!m_navigationHintSender) | 488 if (!m_navigationHintSender) |
489 m_navigationHintSender = NavigationHintSender::create(this); | 489 m_navigationHintSender = NavigationHintSender::create(this); |
490 return m_navigationHintSender; | 490 return m_navigationHintSender; |
491 } | 491 } |
492 | 492 |
493 } // namespace blink | 493 } // namespace blink |
OLD | NEW |