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 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights
reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights
reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
910 return false; | 910 return false; |
911 prev = o->previousSibling(); | 911 prev = o->previousSibling(); |
912 } | 912 } |
913 o = prev; | 913 o = prev; |
914 } | 914 } |
915 DCHECK(o); | 915 DCHECK(o); |
916 if (o->isText() || o->isAtomicInlineLevel()) { | 916 if (o->isText() || o->isAtomicInlineLevel()) { |
917 point = FloatPoint(); | 917 point = FloatPoint(); |
918 if (o->isText()) { | 918 if (o->isText()) { |
919 LayoutText* text = toLayoutText(o); | 919 LayoutText* text = toLayoutText(o); |
920 IntRect linesBox = text->linesBoundingBox(); | 920 IntRect linesBox = enclosingIntRect(text->linesBoundingBox()); |
921 if (!linesBox.maxX() && !linesBox.maxY()) | 921 if (!linesBox.maxX() && !linesBox.maxY()) |
922 continue; | 922 continue; |
923 point.moveBy(linesBox.maxXMaxYCorner()); | 923 point.moveBy(linesBox.maxXMaxYCorner()); |
924 point = o->localToAbsolute(point, UseTransforms); | 924 point = o->localToAbsolute(point, UseTransforms); |
925 } else { | 925 } else { |
926 LayoutBox* box = toLayoutBox(o); | 926 LayoutBox* box = toLayoutBox(o); |
927 point.moveBy(box->frameRect().maxXMaxYCorner()); | 927 point.moveBy(box->frameRect().maxXMaxYCorner()); |
928 point = o->container()->localToAbsolute(point, UseTransforms); | 928 point = o->container()->localToAbsolute(point, UseTransforms); |
929 } | 929 } |
930 return true; | 930 return true; |
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1378 return true; | 1378 return true; |
1379 | 1379 |
1380 if (node->isElementNode() && toElement(node)->shadow()) | 1380 if (node->isElementNode() && toElement(node)->shadow()) |
1381 return true; | 1381 return true; |
1382 | 1382 |
1383 return false; | 1383 return false; |
1384 } | 1384 } |
1385 #endif | 1385 #endif |
1386 | 1386 |
1387 } // namespace blink | 1387 } // namespace blink |
OLD | NEW |