summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/Element.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/dom/Element.cpp')
-rw-r--r--WebCore/dom/Element.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/WebCore/dom/Element.cpp b/WebCore/dom/Element.cpp
index 5497465..fad24ee 100644
--- a/WebCore/dom/Element.cpp
+++ b/WebCore/dom/Element.cpp
@@ -546,16 +546,16 @@ PassRefPtr<ClientRect> Element::getBoundingClientRect() const
if (quads.isEmpty())
return ClientRect::create();
- IntRect result = quads[0].enclosingBoundingBox();
+ FloatRect result = quads[0].boundingBox();
for (size_t i = 1; i < quads.size(); ++i)
- result.unite(quads[i].enclosingBoundingBox());
+ result.unite(quads[i].boundingBox());
if (FrameView* view = document()->view()) {
IntRect visibleContentRect = view->visibleContentRect();
result.move(-visibleContentRect.x(), -visibleContentRect.y());
}
- adjustIntRectForAbsoluteZoom(result, renderer());
+ adjustFloatRectForAbsoluteZoom(result, renderer());
return ClientRect::create(result);
}
@@ -1757,7 +1757,8 @@ bool Element::isSpellCheckingEnabled() const
break;
}
- element = element->parentElement();
+ ContainerNode* parent = const_cast<Element*>(element)->parentOrHostNode();
+ element = (parent && parent->isElementNode()) ? toElement(parent) : 0;
}
return true;