| 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 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
| 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 if (node && node->isTextNode()) | 285 if (node && node->isTextNode()) |
| 286 return Position(node, 0); | 286 return Position(node, 0); |
| 287 return Position(innerEditor, 0); | 287 return Position(innerEditor, 0); |
| 288 } | 288 } |
| 289 int remainingCharactersToMoveForward = index; | 289 int remainingCharactersToMoveForward = index; |
| 290 Node* lastBrOrText = innerEditor; | 290 Node* lastBrOrText = innerEditor; |
| 291 for (Node& node : NodeTraversal::descendantsOf(*innerEditor)) { | 291 for (Node& node : NodeTraversal::descendantsOf(*innerEditor)) { |
| 292 ASSERT(remainingCharactersToMoveForward >= 0); | 292 ASSERT(remainingCharactersToMoveForward >= 0); |
| 293 if (node.hasTagName(brTag)) { | 293 if (node.hasTagName(brTag)) { |
| 294 if (remainingCharactersToMoveForward == 0) | 294 if (remainingCharactersToMoveForward == 0) |
| 295 return positionBeforeNode(&node); | 295 return Position::beforeNode(&node); |
| 296 --remainingCharactersToMoveForward; | 296 --remainingCharactersToMoveForward; |
| 297 lastBrOrText = &node; | 297 lastBrOrText = &node; |
| 298 continue; | 298 continue; |
| 299 } | 299 } |
| 300 | 300 |
| 301 if (node.isTextNode()) { | 301 if (node.isTextNode()) { |
| 302 Text& text = toText(node); | 302 Text& text = toText(node); |
| 303 if (remainingCharactersToMoveForward < static_cast<int>(text.length(
))) | 303 if (remainingCharactersToMoveForward < static_cast<int>(text.length(
))) |
| 304 return Position(&text, remainingCharactersToMoveForward); | 304 return Position(&text, remainingCharactersToMoveForward); |
| 305 remainingCharactersToMoveForward -= text.length(); | 305 remainingCharactersToMoveForward -= text.length(); |
| 306 lastBrOrText = &node; | 306 lastBrOrText = &node; |
| 307 continue; | 307 continue; |
| 308 } | 308 } |
| 309 | 309 |
| 310 ASSERT_NOT_REACHED(); | 310 ASSERT_NOT_REACHED(); |
| 311 } | 311 } |
| 312 return lastPositionInOrAfterNode(lastBrOrText); | 312 return lastPositionInOrAfterNode(lastBrOrText); |
| 313 } | 313 } |
| 314 | 314 |
| 315 static int indexForPosition(HTMLElement* innerEditor, const Position& passedPosi
tion) | 315 static int indexForPosition(HTMLElement* innerEditor, const Position& passedPosi
tion) |
| 316 { | 316 { |
| 317 if (!innerEditor || !innerEditor->contains(passedPosition.anchorNode()) || p
assedPosition.isNull()) | 317 if (!innerEditor || !innerEditor->contains(passedPosition.anchorNode()) || p
assedPosition.isNull()) |
| 318 return 0; | 318 return 0; |
| 319 | 319 |
| 320 if (positionBeforeNode(innerEditor) == passedPosition) | 320 if (Position::beforeNode(innerEditor) == passedPosition) |
| 321 return 0; | 321 return 0; |
| 322 | 322 |
| 323 int index = 0; | 323 int index = 0; |
| 324 Node* startNode = passedPosition.computeNodeBeforePosition(); | 324 Node* startNode = passedPosition.computeNodeBeforePosition(); |
| 325 if (!startNode) | 325 if (!startNode) |
| 326 startNode = passedPosition.computeContainerNode(); | 326 startNode = passedPosition.computeContainerNode(); |
| 327 ASSERT(startNode); | 327 ASSERT(startNode); |
| 328 ASSERT(innerEditor->contains(startNode)); | 328 ASSERT(innerEditor->contains(startNode)); |
| 329 | 329 |
| 330 for (Node* node = startNode; node; node = NodeTraversal::previous(*node, inn
erEditor)) { | 330 for (Node* node = startNode; node; node = NodeTraversal::previous(*node, inn
erEditor)) { |
| (...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1028 } | 1028 } |
| 1029 | 1029 |
| 1030 void HTMLTextFormControlElement::copyNonAttributePropertiesFromElement(const Ele
ment& source) | 1030 void HTMLTextFormControlElement::copyNonAttributePropertiesFromElement(const Ele
ment& source) |
| 1031 { | 1031 { |
| 1032 const HTMLTextFormControlElement& sourceElement = static_cast<const HTMLText
FormControlElement&>(source); | 1032 const HTMLTextFormControlElement& sourceElement = static_cast<const HTMLText
FormControlElement&>(source); |
| 1033 m_lastChangeWasUserEdit = sourceElement.m_lastChangeWasUserEdit; | 1033 m_lastChangeWasUserEdit = sourceElement.m_lastChangeWasUserEdit; |
| 1034 HTMLFormControlElement::copyNonAttributePropertiesFromElement(source); | 1034 HTMLFormControlElement::copyNonAttributePropertiesFromElement(source); |
| 1035 } | 1035 } |
| 1036 | 1036 |
| 1037 } // namespace blink | 1037 } // namespace blink |
| OLD | NEW |