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

Side by Side Diff: Source/core/editing/FormatBlockCommand.cpp

Issue 188033005: Have Position deal with more references (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/editing/DeleteSelectionCommand.cpp ('k') | Source/core/editing/FrameSelection.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2006 Apple Computer, 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 nodeAfterInsertionPosition = refNode; 81 nodeAfterInsertionPosition = refNode;
82 } 82 }
83 83
84 if (!blockNode) { 84 if (!blockNode) {
85 // Create a new blockquote and insert it as a child of the root editable element. We accomplish 85 // Create a new blockquote and insert it as a child of the root editable element. We accomplish
86 // this by splitting all parents of the current paragraph up to that poi nt. 86 // this by splitting all parents of the current paragraph up to that poi nt.
87 blockNode = createBlockElement(); 87 blockNode = createBlockElement();
88 insertNodeBefore(blockNode, nodeAfterInsertionPosition); 88 insertNodeBefore(blockNode, nodeAfterInsertionPosition);
89 } 89 }
90 90
91 Position lastParagraphInBlockNode = blockNode->lastChild() ? positionAfterNo de(blockNode->lastChild()) : Position(); 91 Position lastParagraphInBlockNode = blockNode->lastChild() ? positionAfterNo de(*blockNode->lastChild()) : Position();
92 bool wasEndOfParagraph = isEndOfParagraph(VisiblePosition(lastParagraphInBlo ckNode)); 92 bool wasEndOfParagraph = isEndOfParagraph(VisiblePosition(lastParagraphInBlo ckNode));
93 93
94 moveParagraphWithClones(VisiblePosition(start), VisiblePosition(end), blockN ode.get(), outerBlock.get()); 94 moveParagraphWithClones(VisiblePosition(start), VisiblePosition(end), blockN ode.get(), outerBlock.get());
95 95
96 // Copy the inline style of the original block element to the newly created block-style element. 96 // Copy the inline style of the original block element to the newly created block-style element.
97 if (outerBlock.get() != nodeAfterInsertionPosition.get() && toHTMLElement(no deAfterInsertionPosition.get())->hasAttribute(styleAttr)) 97 if (outerBlock.get() != nodeAfterInsertionPosition.get() && toHTMLElement(no deAfterInsertionPosition.get())->hasAttribute(styleAttr))
98 blockNode->setAttribute(styleAttr, toHTMLElement(nodeAfterInsertionPosit ion.get())->getAttribute(styleAttr)); 98 blockNode->setAttribute(styleAttr, toHTMLElement(nodeAfterInsertionPosit ion.get())->getAttribute(styleAttr));
99 99
100 if (wasEndOfParagraph && !isEndOfParagraph(VisiblePosition(lastParagraphInBl ockNode)) && !isStartOfParagraph(VisiblePosition(lastParagraphInBlockNode))) 100 if (wasEndOfParagraph && !isEndOfParagraph(VisiblePosition(lastParagraphInBl ockNode)) && !isStartOfParagraph(VisiblePosition(lastParagraphInBlockNode)))
101 insertBlockPlaceholder(lastParagraphInBlockNode); 101 insertBlockPlaceholder(lastParagraphInBlockNode);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 return n; 160 return n;
161 if (isBlock(n)) 161 if (isBlock(n))
162 lastBlock = n; 162 lastBlock = n;
163 if (isListElement(n)) 163 if (isListElement(n))
164 return n->parentNode()->rendererIsEditable() ? n->parentNode() : n; 164 return n->parentNode()->rendererIsEditable() ? n->parentNode() : n;
165 } 165 }
166 return lastBlock; 166 return lastBlock;
167 } 167 }
168 168
169 } 169 }
OLDNEW
« no previous file with comments | « Source/core/editing/DeleteSelectionCommand.cpp ('k') | Source/core/editing/FrameSelection.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698