--- a/webengine/osswebengine/WebCore/page/symbian/WebCoreFrameBridge.cpp Thu Sep 24 12:53:48 2009 +0300
+++ b/webengine/osswebengine/WebCore/page/symbian/WebCoreFrameBridge.cpp Mon Oct 26 08:28:45 2009 +0200
@@ -325,7 +325,7 @@
}
}
-bool WebCoreFrameBridge::getTypeFromElement(Node* node, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect) const
+bool WebCoreFrameBridge::getTypeFromElement(Node* node, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect, Node*& aRNode) const
{
if(node && m_frame) {
@@ -335,6 +335,7 @@
if( n->isFocusable() ) {
aElType = nodeTypeB(n, m_frame);
aFocusRect = n->getRect();
+ aRNode = n;
return true;
}
else {
@@ -347,6 +348,7 @@
|| etn->getHTMLEventListener(mouseupEvent)) ) {
aFocusRect = n->getRect();
aElType = TBrCtlDefs::EElementMouseButtonListener;
+ aRNode = n;
return true;
}
else if (n->isElementNode() && n->hasTagName(areaTag)) {
@@ -354,6 +356,7 @@
if(!e->getAttribute(hrefAttr).isNull()) {
aElType = TBrCtlDefs::EElementAreaBox;
aFocusRect = n->getRect();
+ aRNode = n;
return true;
}
}
@@ -366,6 +369,7 @@
if(!ep->getAttribute(hrefAttr).isNull()) {
aElType = nodeTypeB(np, m_frame);
aFocusRect = np->getRect();
+ aRNode = np;
return true;
}
}
@@ -386,6 +390,7 @@
}
}
aFocusRect = n->getRect().Rect();
+ aRNode = n;
return true;
}
else if (n->renderer() && n->renderer()->layer()) {