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

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

Issue 977113003: Rename renderer() to layoutObject(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2005, 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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 // All of the content in the current block after visiblePos is 312 // All of the content in the current block after visiblePos is
313 // about to be wrapped in a new paragraph element. Add a br before 313 // about to be wrapped in a new paragraph element. Add a br before
314 // it if visiblePos is at the start of a paragraph so that the 314 // it if visiblePos is at the start of a paragraph so that the
315 // content will move down a line. 315 // content will move down a line.
316 if (isStartOfParagraph(visiblePos)) { 316 if (isStartOfParagraph(visiblePos)) {
317 RefPtrWillBeRawPtr<HTMLBRElement> br = createBreakElement(document()); 317 RefPtrWillBeRawPtr<HTMLBRElement> br = createBreakElement(document());
318 insertNodeAt(br.get(), insertionPosition); 318 insertNodeAt(br.get(), insertionPosition);
319 insertionPosition = positionInParentAfterNode(*br); 319 insertionPosition = positionInParentAfterNode(*br);
320 // If the insertion point is a break element, there is nothing else 320 // If the insertion point is a break element, there is nothing else
321 // we need to do. 321 // we need to do.
322 if (visiblePos.deepEquivalent().anchorNode()->renderer()->isBR()) { 322 if (visiblePos.deepEquivalent().anchorNode()->layoutObject()->isBR()) {
323 setEndingSelection(VisibleSelection(insertionPosition, DOWNSTREAM, e ndingSelection().isDirectional())); 323 setEndingSelection(VisibleSelection(insertionPosition, DOWNSTREAM, e ndingSelection().isDirectional()));
324 return; 324 return;
325 } 325 }
326 } 326 }
327 327
328 // Move downstream. Typing style code will take care of carrying along the 328 // Move downstream. Typing style code will take care of carrying along the
329 // style of the upstream position. 329 // style of the upstream position.
330 insertionPosition = insertionPosition.downstream(); 330 insertionPosition = insertionPosition.downstream();
331 331
332 // At this point, the insertionPosition's node could be a container, and we want to make sure we include 332 // At this point, the insertionPosition's node could be a container, and we want to make sure we include
(...skipping 10 matching lines...) Expand all
343 insertionPosition = insertionPosition.upstream(); 343 insertionPosition = insertionPosition.upstream();
344 } 344 }
345 345
346 // Make sure we do not cause a rendered space to become unrendered. 346 // Make sure we do not cause a rendered space to become unrendered.
347 // FIXME: We need the affinity for pos, but pos.downstream() does not give i t 347 // FIXME: We need the affinity for pos, but pos.downstream() does not give i t
348 Position leadingWhitespace = leadingWhitespacePosition(insertionPosition, VP _DEFAULT_AFFINITY); 348 Position leadingWhitespace = leadingWhitespacePosition(insertionPosition, VP _DEFAULT_AFFINITY);
349 // FIXME: leadingWhitespacePosition is returning the position before preserv ed newlines for positions 349 // FIXME: leadingWhitespacePosition is returning the position before preserv ed newlines for positions
350 // after the preserved newline, causing the newline to be turned into a nbsp . 350 // after the preserved newline, causing the newline to be turned into a nbsp .
351 if (leadingWhitespace.isNotNull() && leadingWhitespace.deprecatedNode()->isT extNode()) { 351 if (leadingWhitespace.isNotNull() && leadingWhitespace.deprecatedNode()->isT extNode()) {
352 Text* textNode = toText(leadingWhitespace.deprecatedNode()); 352 Text* textNode = toText(leadingWhitespace.deprecatedNode());
353 ASSERT(!textNode->renderer() || textNode->renderer()->style()->collapseW hiteSpace()); 353 ASSERT(!textNode->layoutObject() || textNode->layoutObject()->style()->c ollapseWhiteSpace());
354 replaceTextInNodePreservingMarkers(textNode, leadingWhitespace.deprecate dEditingOffset(), 1, nonBreakingSpaceString()); 354 replaceTextInNodePreservingMarkers(textNode, leadingWhitespace.deprecate dEditingOffset(), 1, nonBreakingSpaceString());
355 } 355 }
356 356
357 // Split at pos if in the middle of a text node. 357 // Split at pos if in the middle of a text node.
358 Position positionAfterSplit; 358 Position positionAfterSplit;
359 if (insertionPosition.anchorType() == Position::PositionIsOffsetInAnchor && insertionPosition.containerNode()->isTextNode()) { 359 if (insertionPosition.anchorType() == Position::PositionIsOffsetInAnchor && insertionPosition.containerNode()->isTextNode()) {
360 RefPtrWillBeRawPtr<Text> textNode = toText(insertionPosition.containerNo de()); 360 RefPtrWillBeRawPtr<Text> textNode = toText(insertionPosition.containerNo de());
361 bool atEnd = static_cast<unsigned>(insertionPosition.offsetInContainerNo de()) >= textNode->length(); 361 bool atEnd = static_cast<unsigned>(insertionPosition.offsetInContainerNo de()) >= textNode->length();
362 if (insertionPosition.deprecatedEditingOffset() > 0 && !atEnd) { 362 if (insertionPosition.deprecatedEditingOffset() > 0 && !atEnd) {
363 splitTextNode(textNode, insertionPosition.offsetInContainerNode()); 363 splitTextNode(textNode, insertionPosition.offsetInContainerNode());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 } 410 }
411 411
412 moveRemainingSiblingsToNewParent(n, blockToInsert.get(), blockToInsert); 412 moveRemainingSiblingsToNewParent(n, blockToInsert.get(), blockToInsert);
413 } 413 }
414 414
415 // Handle whitespace that occurs after the split 415 // Handle whitespace that occurs after the split
416 if (positionAfterSplit.isNotNull()) { 416 if (positionAfterSplit.isNotNull()) {
417 document().updateLayoutIgnorePendingStylesheets(); 417 document().updateLayoutIgnorePendingStylesheets();
418 if (!positionAfterSplit.isRenderedCharacter()) { 418 if (!positionAfterSplit.isRenderedCharacter()) {
419 // Clear out all whitespace and insert one non-breaking space 419 // Clear out all whitespace and insert one non-breaking space
420 ASSERT(!positionAfterSplit.containerNode()->renderer() || positionAf terSplit.containerNode()->renderer()->style()->collapseWhiteSpace()); 420 ASSERT(!positionAfterSplit.containerNode()->layoutObject() || positi onAfterSplit.containerNode()->layoutObject()->style()->collapseWhiteSpace());
421 deleteInsignificantTextDownstream(positionAfterSplit); 421 deleteInsignificantTextDownstream(positionAfterSplit);
422 if (positionAfterSplit.deprecatedNode()->isTextNode()) 422 if (positionAfterSplit.deprecatedNode()->isTextNode())
423 insertTextIntoNode(toText(positionAfterSplit.containerNode()), 0 , nonBreakingSpaceString()); 423 insertTextIntoNode(toText(positionAfterSplit.containerNode()), 0 , nonBreakingSpaceString());
424 } 424 }
425 } 425 }
426 426
427 setEndingSelection(VisibleSelection(firstPositionInNode(blockToInsert.get()) , DOWNSTREAM, endingSelection().isDirectional())); 427 setEndingSelection(VisibleSelection(firstPositionInNode(blockToInsert.get()) , DOWNSTREAM, endingSelection().isDirectional()));
428 applyStyleAfterInsertion(startBlock.get()); 428 applyStyleAfterInsertion(startBlock.get());
429 } 429 }
430 430
431 DEFINE_TRACE(InsertParagraphSeparatorCommand) 431 DEFINE_TRACE(InsertParagraphSeparatorCommand)
432 { 432 {
433 visitor->trace(m_style); 433 visitor->trace(m_style);
434 CompositeEditCommand::trace(visitor); 434 CompositeEditCommand::trace(visitor);
435 } 435 }
436 436
437 437
438 } // namespace blink 438 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/editing/InsertLineBreakCommand.cpp ('k') | Source/core/editing/RenderedPosition.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698