diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-05 14:34:32 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-05 14:34:32 -0800 |
commit | 635860845790a19bf50bbc51ba8fb66a96dde068 (patch) | |
tree | ef6ad9ff73a5b57f65249d4232a202fa77e6a140 /WebCore/rendering/HitTestResult.cpp | |
parent | 8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (diff) | |
download | external_webkit-635860845790a19bf50bbc51ba8fb66a96dde068.zip external_webkit-635860845790a19bf50bbc51ba8fb66a96dde068.tar.gz external_webkit-635860845790a19bf50bbc51ba8fb66a96dde068.tar.bz2 |
auto import from //depot/cupcake/@136594
Diffstat (limited to 'WebCore/rendering/HitTestResult.cpp')
-rw-r--r-- | WebCore/rendering/HitTestResult.cpp | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/WebCore/rendering/HitTestResult.cpp b/WebCore/rendering/HitTestResult.cpp index 53b376d..8126fc7 100644 --- a/WebCore/rendering/HitTestResult.cpp +++ b/WebCore/rendering/HitTestResult.cpp @@ -36,6 +36,11 @@ #include "XLinkNames.h" #endif +#if ENABLE(WML) +#include "WMLImageElement.h" +#include "WMLNames.h" +#endif + namespace WebCore { using namespace HTMLNames; @@ -172,9 +177,7 @@ String displayString(const String& string, const Node* node) { if (!node) return string; - String copy(string); - copy.replace('\\', node->document()->backslashAsCurrencySymbol()); - return copy; + return node->document()->displayStringModifiedByEncoding(string); } String HitTestResult::altDisplayString() const @@ -192,6 +195,13 @@ String HitTestResult::altDisplayString() const return displayString(input->alt(), m_innerNonSharedNode.get()); } +#if ENABLE(WML) + if (m_innerNonSharedNode->hasTagName(WMLNames::imgTag)) { + WMLImageElement* image = static_cast<WMLImageElement*>(m_innerNonSharedNode.get()); + return displayString(image->altText(), m_innerNonSharedNode.get()); + } +#endif + return String(); } @@ -214,7 +224,7 @@ IntRect HitTestResult::imageRect() const { if (!image()) return IntRect(); - return m_innerNonSharedNode->renderer()->absoluteContentBox(); + return m_innerNonSharedNode->renderBox()->absoluteContentBox(); } KURL HitTestResult::absoluteImageURL() const @@ -226,18 +236,22 @@ KURL HitTestResult::absoluteImageURL() const return KURL(); AtomicString urlString; - if (m_innerNonSharedNode->hasTagName(imgTag) || m_innerNonSharedNode->hasTagName(inputTag)) - urlString = static_cast<Element*>(m_innerNonSharedNode.get())->getAttribute(srcAttr); + if (m_innerNonSharedNode->hasTagName(embedTag) + || m_innerNonSharedNode->hasTagName(imgTag) + || m_innerNonSharedNode->hasTagName(inputTag) + || m_innerNonSharedNode->hasTagName(objectTag) #if ENABLE(SVG) - else if (m_innerNonSharedNode->hasTagName(SVGNames::imageTag)) - urlString = static_cast<Element*>(m_innerNonSharedNode.get())->getAttribute(XLinkNames::hrefAttr); + || m_innerNonSharedNode->hasTagName(SVGNames::imageTag) +#endif +#if ENABLE(WML) + || m_innerNonSharedNode->hasTagName(WMLNames::imgTag) #endif - else if (m_innerNonSharedNode->hasTagName(embedTag) || m_innerNonSharedNode->hasTagName(objectTag)) { + ) { Element* element = static_cast<Element*>(m_innerNonSharedNode.get()); urlString = element->getAttribute(element->imageSourceAttributeName()); } else return KURL(); - + return m_innerNonSharedNode->document()->completeURL(parseURL(urlString)); } @@ -253,6 +267,10 @@ KURL HitTestResult::absoluteLinkURL() const else if (m_innerURLElement->hasTagName(SVGNames::aTag)) urlString = m_innerURLElement->getAttribute(XLinkNames::hrefAttr); #endif +#if ENABLE(WML) + else if (m_innerURLElement->hasTagName(WMLNames::aTag)) + urlString = m_innerURLElement->getAttribute(hrefAttr); +#endif else return KURL(); @@ -270,7 +288,11 @@ bool HitTestResult::isLiveLink() const if (m_innerURLElement->hasTagName(SVGNames::aTag)) return m_innerURLElement->isLink(); #endif - +#if ENABLE(WML) + if (m_innerURLElement->hasTagName(WMLNames::aTag)) + return m_innerURLElement->isLink(); +#endif + return false; } |