summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/HitTestResult.cpp
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-05 14:34:32 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-05 14:34:32 -0800
commit635860845790a19bf50bbc51ba8fb66a96dde068 (patch)
treeef6ad9ff73a5b57f65249d4232a202fa77e6a140 /WebCore/rendering/HitTestResult.cpp
parent8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (diff)
downloadexternal_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.cpp44
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;
}