| 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) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
| 8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 955 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 966 if (quads.isEmpty()) | 966 if (quads.isEmpty()) |
| 967 return IntRect(); | 967 return IntRect(); |
| 968 | 968 |
| 969 IntRect result = quads[0].enclosingBoundingBox(); | 969 IntRect result = quads[0].enclosingBoundingBox(); |
| 970 for (size_t i = 1; i < quads.size(); ++i) | 970 for (size_t i = 1; i < quads.size(); ++i) |
| 971 result.unite(quads[i].enclosingBoundingBox()); | 971 result.unite(quads[i].enclosingBoundingBox()); |
| 972 | 972 |
| 973 return view->soonToBeRemovedContentsToUnscaledViewport(result); | 973 return view->soonToBeRemovedContentsToUnscaledViewport(result); |
| 974 } | 974 } |
| 975 | 975 |
| 976 PassRefPtrWillBeRawPtr<ClientRectList> Element::getClientRects() | 976 ClientRectList* Element::getClientRects() |
| 977 { | 977 { |
| 978 document().updateLayoutIgnorePendingStylesheets(); | 978 document().updateLayoutIgnorePendingStylesheets(); |
| 979 | 979 |
| 980 LayoutObject* elementRenderer = layoutObject(); | 980 LayoutObject* elementRenderer = layoutObject(); |
| 981 if (!elementRenderer || (!elementRenderer->isBoxModelObject() && !elementRen
derer->isBR())) | 981 if (!elementRenderer || (!elementRenderer->isBoxModelObject() && !elementRen
derer->isBR())) |
| 982 return ClientRectList::create(); | 982 return ClientRectList::create(); |
| 983 | 983 |
| 984 // FIXME: Handle SVG elements. | 984 // FIXME: Handle SVG elements. |
| 985 // FIXME: Handle table/inline-table with a caption. | 985 // FIXME: Handle table/inline-table with a caption. |
| 986 | 986 |
| 987 Vector<FloatQuad> quads; | 987 Vector<FloatQuad> quads; |
| 988 elementRenderer->absoluteQuads(quads); | 988 elementRenderer->absoluteQuads(quads); |
| 989 document().adjustFloatQuadsForScrollAndAbsoluteZoom(quads, *elementRenderer)
; | 989 document().adjustFloatQuadsForScrollAndAbsoluteZoom(quads, *elementRenderer)
; |
| 990 return ClientRectList::create(quads); | 990 return ClientRectList::create(quads); |
| 991 } | 991 } |
| 992 | 992 |
| 993 PassRefPtrWillBeRawPtr<ClientRect> Element::getBoundingClientRect() | 993 ClientRect* Element::getBoundingClientRect() |
| 994 { | 994 { |
| 995 document().updateLayoutIgnorePendingStylesheets(); | 995 document().updateLayoutIgnorePendingStylesheets(); |
| 996 | 996 |
| 997 Vector<FloatQuad> quads; | 997 Vector<FloatQuad> quads; |
| 998 LayoutObject* elementRenderer = layoutObject(); | 998 LayoutObject* elementRenderer = layoutObject(); |
| 999 if (elementRenderer) { | 999 if (elementRenderer) { |
| 1000 if (isSVGElement() && !elementRenderer->isSVGRoot()) { | 1000 if (isSVGElement() && !elementRenderer->isSVGRoot()) { |
| 1001 // Get the bounding rectangle from the SVG model. | 1001 // Get the bounding rectangle from the SVG model. |
| 1002 SVGElement* svgElement = toSVGElement(this); | 1002 SVGElement* svgElement = toSVGElement(this); |
| 1003 FloatRect localRect; | 1003 FloatRect localRect; |
| (...skipping 2508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3512 { | 3512 { |
| 3513 #if ENABLE(OILPAN) | 3513 #if ENABLE(OILPAN) |
| 3514 if (hasRareData()) | 3514 if (hasRareData()) |
| 3515 visitor->trace(elementRareData()); | 3515 visitor->trace(elementRareData()); |
| 3516 visitor->trace(m_elementData); | 3516 visitor->trace(m_elementData); |
| 3517 #endif | 3517 #endif |
| 3518 ContainerNode::trace(visitor); | 3518 ContainerNode::trace(visitor); |
| 3519 } | 3519 } |
| 3520 | 3520 |
| 3521 } // namespace blink | 3521 } // namespace blink |
| OLD | NEW |