Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(813)

Side by Side Diff: third_party/WebKit/Source/core/editing/commands/ReplaceSelectionCommand.cpp

Issue 2701993002: DO NOT COMMIT: Results of running new (proposed) clang-format on Blink (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2009, 2010, 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2009, 2010, 2011 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 m_inputType(inputType), 454 m_inputType(inputType),
455 m_sanitizeFragment(options & SanitizeFragment), 455 m_sanitizeFragment(options & SanitizeFragment),
456 m_shouldMergeEnd(false) {} 456 m_shouldMergeEnd(false) {}
457 457
458 static bool hasMatchingQuoteLevel(VisiblePosition endOfExistingContent, 458 static bool hasMatchingQuoteLevel(VisiblePosition endOfExistingContent,
459 VisiblePosition endOfInsertedContent) { 459 VisiblePosition endOfInsertedContent) {
460 Position existing = endOfExistingContent.deepEquivalent(); 460 Position existing = endOfExistingContent.deepEquivalent();
461 Position inserted = endOfInsertedContent.deepEquivalent(); 461 Position inserted = endOfInsertedContent.deepEquivalent();
462 bool isInsideMailBlockquote = enclosingNodeOfType( 462 bool isInsideMailBlockquote = enclosingNodeOfType(
463 inserted, isMailHTMLBlockquoteElement, CanCrossEditingBoundary); 463 inserted, isMailHTMLBlockquoteElement, CanCrossEditingBoundary);
464 return isInsideMailBlockquote && (numEnclosingMailBlockquotes(existing) == 464 return isInsideMailBlockquote &&
465 numEnclosingMailBlockquotes(inserted)); 465 (numEnclosingMailBlockquotes(existing) ==
466 numEnclosingMailBlockquotes(inserted));
466 } 467 }
467 468
468 bool ReplaceSelectionCommand::shouldMergeStart( 469 bool ReplaceSelectionCommand::shouldMergeStart(
469 bool selectionStartWasStartOfParagraph, 470 bool selectionStartWasStartOfParagraph,
470 bool fragmentHasInterchangeNewlineAtStart, 471 bool fragmentHasInterchangeNewlineAtStart,
471 bool selectionStartWasInsideMailBlockquote) { 472 bool selectionStartWasInsideMailBlockquote) {
472 if (m_movingParagraph) 473 if (m_movingParagraph)
473 return false; 474 return false;
474 475
475 VisiblePosition startOfInsertedContent = positionAtStartOfInsertedContent(); 476 VisiblePosition startOfInsertedContent = positionAtStartOfInsertedContent();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 const VisiblePosition& destination) { 544 const VisiblePosition& destination) {
544 if (source.isNull() || destination.isNull()) 545 if (source.isNull() || destination.isNull())
545 return false; 546 return false;
546 547
547 Node* sourceNode = source.deepEquivalent().anchorNode(); 548 Node* sourceNode = source.deepEquivalent().anchorNode();
548 Node* destinationNode = destination.deepEquivalent().anchorNode(); 549 Node* destinationNode = destination.deepEquivalent().anchorNode();
549 Element* sourceBlock = enclosingBlock(sourceNode); 550 Element* sourceBlock = enclosingBlock(sourceNode);
550 Element* destinationBlock = enclosingBlock(destinationNode); 551 Element* destinationBlock = enclosingBlock(destinationNode);
551 return !enclosingNodeOfType(source.deepEquivalent(), 552 return !enclosingNodeOfType(source.deepEquivalent(),
552 &isMailPasteAsQuotationHTMLBlockQuoteElement) && 553 &isMailPasteAsQuotationHTMLBlockQuoteElement) &&
553 sourceBlock && (!sourceBlock->hasTagName(blockquoteTag) || 554 sourceBlock &&
554 isMailHTMLBlockquoteElement(sourceBlock)) && 555 (!sourceBlock->hasTagName(blockquoteTag) ||
556 isMailHTMLBlockquoteElement(sourceBlock)) &&
555 enclosingListChild(sourceBlock) == 557 enclosingListChild(sourceBlock) ==
556 enclosingListChild(destinationNode) && 558 enclosingListChild(destinationNode) &&
557 enclosingTableCell(source.deepEquivalent()) == 559 enclosingTableCell(source.deepEquivalent()) ==
558 enclosingTableCell(destination.deepEquivalent()) && 560 enclosingTableCell(destination.deepEquivalent()) &&
559 (!isHTMLHeaderElement(sourceBlock) || 561 (!isHTMLHeaderElement(sourceBlock) ||
560 haveSameTagName(sourceBlock, destinationBlock)) 562 haveSameTagName(sourceBlock, destinationBlock))
561 // Don't merge to or from a position before or after a block because it 563 // Don't merge to or from a position before or after a block because it
562 // would be a no-op and cause infinite recursion. 564 // would be a no-op and cause infinite recursion.
563 && !isEnclosingBlock(sourceNode) && !isEnclosingBlock(destinationNode); 565 && !isEnclosingBlock(sourceNode) && !isEnclosingBlock(destinationNode);
564 } 566 }
(...skipping 1392 matching lines...) Expand 10 before | Expand all | Expand 10 after
1957 1959
1958 if (positionIsOffsetInAnchor) 1960 if (positionIsOffsetInAnchor)
1959 position = 1961 position =
1960 Position(position.computeContainerNode(), 1962 Position(position.computeContainerNode(),
1961 previous->length() + position.offsetInContainerNode()); 1963 previous->length() + position.offsetInContainerNode());
1962 else 1964 else
1963 updatePositionForNodeRemoval(position, *previous); 1965 updatePositionForNodeRemoval(position, *previous);
1964 1966
1965 if (positionOnlyToBeUpdatedIsOffsetInAnchor) { 1967 if (positionOnlyToBeUpdatedIsOffsetInAnchor) {
1966 if (positionOnlyToBeUpdated.computeContainerNode() == text) 1968 if (positionOnlyToBeUpdated.computeContainerNode() == text)
1967 positionOnlyToBeUpdated = Position( 1969 positionOnlyToBeUpdated =
1968 text, previous->length() + 1970 Position(text,
1969 positionOnlyToBeUpdated.offsetInContainerNode()); 1971 previous->length() +
1972 positionOnlyToBeUpdated.offsetInContainerNode());
1970 else if (positionOnlyToBeUpdated.computeContainerNode() == previous) 1973 else if (positionOnlyToBeUpdated.computeContainerNode() == previous)
1971 positionOnlyToBeUpdated = 1974 positionOnlyToBeUpdated =
1972 Position(text, positionOnlyToBeUpdated.offsetInContainerNode()); 1975 Position(text, positionOnlyToBeUpdated.offsetInContainerNode());
1973 } else { 1976 } else {
1974 updatePositionForNodeRemoval(positionOnlyToBeUpdated, *previous); 1977 updatePositionForNodeRemoval(positionOnlyToBeUpdated, *previous);
1975 } 1978 }
1976 1979
1977 removeNode(previous, editingState); 1980 removeNode(previous, editingState);
1978 if (editingState->isAborted()) 1981 if (editingState->isAborted())
1979 return; 1982 return;
1980 } 1983 }
1981 } 1984 }
1982 if (text->nextSibling() && text->nextSibling()->isTextNode()) { 1985 if (text->nextSibling() && text->nextSibling()->isTextNode()) {
1983 Text* next = toText(text->nextSibling()); 1986 Text* next = toText(text->nextSibling());
1984 if (!hasIncompleteSurrogate && next->data().length() > kMergeSizeLimit) 1987 if (!hasIncompleteSurrogate && next->data().length() > kMergeSizeLimit)
1985 return; 1988 return;
1986 unsigned originalLength = text->length(); 1989 unsigned originalLength = text->length();
1987 insertTextIntoNode(text, originalLength, next->data()); 1990 insertTextIntoNode(text, originalLength, next->data());
1988 1991
1989 if (!positionIsOffsetInAnchor) 1992 if (!positionIsOffsetInAnchor)
1990 updatePositionForNodeRemoval(position, *next); 1993 updatePositionForNodeRemoval(position, *next);
1991 1994
1992 if (positionOnlyToBeUpdatedIsOffsetInAnchor && 1995 if (positionOnlyToBeUpdatedIsOffsetInAnchor &&
1993 positionOnlyToBeUpdated.computeContainerNode() == next) 1996 positionOnlyToBeUpdated.computeContainerNode() == next)
1994 positionOnlyToBeUpdated = 1997 positionOnlyToBeUpdated = Position(
1995 Position(text, originalLength + 1998 text,
1996 positionOnlyToBeUpdated.offsetInContainerNode()); 1999 originalLength + positionOnlyToBeUpdated.offsetInContainerNode());
1997 else 2000 else
1998 updatePositionForNodeRemoval(positionOnlyToBeUpdated, *next); 2001 updatePositionForNodeRemoval(positionOnlyToBeUpdated, *next);
1999 2002
2000 removeNode(next, editingState); 2003 removeNode(next, editingState);
2001 if (editingState->isAborted()) 2004 if (editingState->isAborted())
2002 return; 2005 return;
2003 } 2006 }
2004 } 2007 }
2005 2008
2006 InputEvent::InputType ReplaceSelectionCommand::inputType() const { 2009 InputEvent::InputType ReplaceSelectionCommand::inputType() const {
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
2140 visitor->trace(m_startOfInsertedContent); 2143 visitor->trace(m_startOfInsertedContent);
2141 visitor->trace(m_endOfInsertedContent); 2144 visitor->trace(m_endOfInsertedContent);
2142 visitor->trace(m_insertionStyle); 2145 visitor->trace(m_insertionStyle);
2143 visitor->trace(m_documentFragment); 2146 visitor->trace(m_documentFragment);
2144 visitor->trace(m_startOfInsertedRange); 2147 visitor->trace(m_startOfInsertedRange);
2145 visitor->trace(m_endOfInsertedRange); 2148 visitor->trace(m_endOfInsertedRange);
2146 CompositeEditCommand::trace(visitor); 2149 CompositeEditCommand::trace(visitor);
2147 } 2150 }
2148 2151
2149 } // namespace blink 2152 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698