| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 if ((o->isText() && boundingBoxLogicalHeight(o, toLayoutText(o)->lin
esBoundingBox())) | 827 if ((o->isText() && boundingBoxLogicalHeight(o, toLayoutText(o)->lin
esBoundingBox())) |
| 828 || (o->isBox() && toLayoutBox(o)->pixelSnappedLogicalHeight()) | 828 || (o->isBox() && toLayoutBox(o)->pixelSnappedLogicalHeight()) |
| 829 || (o->isLayoutInline() && isEmptyInline(LineLayoutItem(o)) && b
oundingBoxLogicalHeight(o, toLayoutInline(o)->linesBoundingBox()))) | 829 || (o->isLayoutInline() && isEmptyInline(LineLayoutItem(o)) && b
oundingBoxLogicalHeight(o, toLayoutInline(o)->linesBoundingBox()))) |
| 830 return true; | 830 return true; |
| 831 } | 831 } |
| 832 } | 832 } |
| 833 return false; | 833 return false; |
| 834 } | 834 } |
| 835 | 835 |
| 836 template <typename Strategy> | 836 template <typename Strategy> |
| 837 bool PositionAlgorithm<Strategy>::nodeIsUserSelectAll(const Node* node) | |
| 838 { | |
| 839 return RuntimeEnabledFeatures::userSelectAllEnabled() && node && node->layou
tObject() && node->layoutObject()->style()->userSelect() == SELECT_ALL; | |
| 840 } | |
| 841 | |
| 842 template <typename Strategy> | |
| 843 Node* PositionAlgorithm<Strategy>::rootUserSelectAllForNode(Node* node) | 837 Node* PositionAlgorithm<Strategy>::rootUserSelectAllForNode(Node* node) |
| 844 { | 838 { |
| 845 if (!node || !nodeIsUserSelectAll(node)) | 839 if (!node || !nodeIsUserSelectAll(node)) |
| 846 return 0; | 840 return 0; |
| 847 Node* parent = Strategy::parent(*node); | 841 Node* parent = Strategy::parent(*node); |
| 848 if (!parent) | 842 if (!parent) |
| 849 return node; | 843 return node; |
| 850 | 844 |
| 851 Node* candidateRoot = node; | 845 Node* candidateRoot = node; |
| 852 while (parent) { | 846 while (parent) { |
| (...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1360 | 1354 |
| 1361 void showTree(const blink::Position* pos) | 1355 void showTree(const blink::Position* pos) |
| 1362 { | 1356 { |
| 1363 if (pos) | 1357 if (pos) |
| 1364 pos->showTreeForThis(); | 1358 pos->showTreeForThis(); |
| 1365 else | 1359 else |
| 1366 fprintf(stderr, "Cannot showTree for (nil)\n"); | 1360 fprintf(stderr, "Cannot showTree for (nil)\n"); |
| 1367 } | 1361 } |
| 1368 | 1362 |
| 1369 #endif | 1363 #endif |
| OLD | NEW |