| 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 Node* node = NodeTraversal::Next(*inner_editor, inner_editor); | 332 Node* node = NodeTraversal::Next(*inner_editor, inner_editor); |
| 333 if (node && node->IsTextNode()) | 333 if (node && node->IsTextNode()) |
| 334 return Position(node, 0); | 334 return Position(node, 0); |
| 335 return Position(inner_editor, 0); | 335 return Position(inner_editor, 0); |
| 336 } | 336 } |
| 337 unsigned remaining_characters_to_move_forward = index; | 337 unsigned remaining_characters_to_move_forward = index; |
| 338 Node* last_br_or_text = inner_editor; | 338 Node* last_br_or_text = inner_editor; |
| 339 for (Node& node : NodeTraversal::DescendantsOf(*inner_editor)) { | 339 for (Node& node : NodeTraversal::DescendantsOf(*inner_editor)) { |
| 340 if (node.HasTagName(brTag)) { | 340 if (node.HasTagName(brTag)) { |
| 341 if (remaining_characters_to_move_forward == 0) | 341 if (remaining_characters_to_move_forward == 0) |
| 342 return Position::BeforeNode(&node); | 342 return Position::BeforeNode(*&node); |
| 343 --remaining_characters_to_move_forward; | 343 --remaining_characters_to_move_forward; |
| 344 last_br_or_text = &node; | 344 last_br_or_text = &node; |
| 345 continue; | 345 continue; |
| 346 } | 346 } |
| 347 | 347 |
| 348 if (node.IsTextNode()) { | 348 if (node.IsTextNode()) { |
| 349 Text& text = ToText(node); | 349 Text& text = ToText(node); |
| 350 if (remaining_characters_to_move_forward < text.length()) | 350 if (remaining_characters_to_move_forward < text.length()) |
| 351 return Position(&text, remaining_characters_to_move_forward); | 351 return Position(&text, remaining_characters_to_move_forward); |
| 352 remaining_characters_to_move_forward -= text.length(); | 352 remaining_characters_to_move_forward -= text.length(); |
| 353 last_br_or_text = &node; | 353 last_br_or_text = &node; |
| 354 continue; | 354 continue; |
| 355 } | 355 } |
| 356 | 356 |
| 357 NOTREACHED(); | 357 NOTREACHED(); |
| 358 } | 358 } |
| 359 return LastPositionInOrAfterNode(last_br_or_text); | 359 return LastPositionInOrAfterNode(last_br_or_text); |
| 360 } | 360 } |
| 361 | 361 |
| 362 unsigned TextControlElement::IndexForPosition(HTMLElement* inner_editor, | 362 unsigned TextControlElement::IndexForPosition(HTMLElement* inner_editor, |
| 363 const Position& passed_position) { | 363 const Position& passed_position) { |
| 364 if (!inner_editor || !inner_editor->contains(passed_position.AnchorNode()) || | 364 if (!inner_editor || !inner_editor->contains(passed_position.AnchorNode()) || |
| 365 passed_position.IsNull()) | 365 passed_position.IsNull()) |
| 366 return 0; | 366 return 0; |
| 367 | 367 |
| 368 if (Position::BeforeNode(inner_editor) == passed_position) | 368 if (Position::BeforeNode(*inner_editor) == passed_position) |
| 369 return 0; | 369 return 0; |
| 370 | 370 |
| 371 unsigned index = 0; | 371 unsigned index = 0; |
| 372 Node* start_node = passed_position.ComputeNodeBeforePosition(); | 372 Node* start_node = passed_position.ComputeNodeBeforePosition(); |
| 373 if (!start_node) | 373 if (!start_node) |
| 374 start_node = passed_position.ComputeContainerNode(); | 374 start_node = passed_position.ComputeContainerNode(); |
| 375 if (start_node == inner_editor && passed_position.IsAfterAnchor()) | 375 if (start_node == inner_editor && passed_position.IsAfterAnchor()) |
| 376 start_node = inner_editor->lastChild(); | 376 start_node = inner_editor->lastChild(); |
| 377 DCHECK(start_node); | 377 DCHECK(start_node); |
| 378 DCHECK(inner_editor->contains(start_node)); | 378 DCHECK(inner_editor->contains(start_node)); |
| (...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 971 | 971 |
| 972 void TextControlElement::CopyNonAttributePropertiesFromElement( | 972 void TextControlElement::CopyNonAttributePropertiesFromElement( |
| 973 const Element& source) { | 973 const Element& source) { |
| 974 const TextControlElement& source_element = | 974 const TextControlElement& source_element = |
| 975 static_cast<const TextControlElement&>(source); | 975 static_cast<const TextControlElement&>(source); |
| 976 last_change_was_user_edit_ = source_element.last_change_was_user_edit_; | 976 last_change_was_user_edit_ = source_element.last_change_was_user_edit_; |
| 977 HTMLFormControlElement::CopyNonAttributePropertiesFromElement(source); | 977 HTMLFormControlElement::CopyNonAttributePropertiesFromElement(source); |
| 978 } | 978 } |
| 979 | 979 |
| 980 } // namespace blink | 980 } // namespace blink |
| OLD | NEW |