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

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

Issue 1878473002: ASSERT -> DCHECK in core/editing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Output info for some DCHECKs, add TODOs. Created 4 years, 8 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, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2008 Apple 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 25 matching lines...) Expand all
36 36
37 SplitTextNodeCommand::SplitTextNodeCommand(Text* text, int offset) 37 SplitTextNodeCommand::SplitTextNodeCommand(Text* text, int offset)
38 : SimpleEditCommand(text->document()) 38 : SimpleEditCommand(text->document())
39 , m_text2(text) 39 , m_text2(text)
40 , m_offset(offset) 40 , m_offset(offset)
41 { 41 {
42 // NOTE: Various callers rely on the fact that the original node becomes 42 // NOTE: Various callers rely on the fact that the original node becomes
43 // the second node (i.e. the new node is inserted before the existing one). 43 // the second node (i.e. the new node is inserted before the existing one).
44 // That is not a fundamental dependency (i.e. it could be re-coded), but 44 // That is not a fundamental dependency (i.e. it could be re-coded), but
45 // rather is based on how this code happens to work. 45 // rather is based on how this code happens to work.
46 ASSERT(m_text2); 46 DCHECK(m_text2);
47 ASSERT(m_text2->length() > 0); 47 DCHECK_GT(m_text2->length(), 0u);
48 ASSERT(m_offset > 0); 48 DCHECK_GT(m_offset, 0u);
49 ASSERT(m_offset < m_text2->length()); 49 DCHECK_LT(m_offset, m_text2->length());
50 } 50 }
51 51
52 void SplitTextNodeCommand::doApply(EditingState*) 52 void SplitTextNodeCommand::doApply(EditingState*)
53 { 53 {
54 ContainerNode* parent = m_text2->parentNode(); 54 ContainerNode* parent = m_text2->parentNode();
55 if (!parent || !parent->hasEditableStyle()) 55 if (!parent || !parent->hasEditableStyle())
56 return; 56 return;
57 57
58 String prefixText = m_text2->substringData(0, m_offset, IGNORE_EXCEPTION); 58 String prefixText = m_text2->substringData(0, m_offset, IGNORE_EXCEPTION);
59 if (prefixText.isEmpty()) 59 if (prefixText.isEmpty())
60 return; 60 return;
61 61
62 m_text1 = Text::create(document(), prefixText); 62 m_text1 = Text::create(document(), prefixText);
63 ASSERT(m_text1); 63 DCHECK(m_text1);
64 document().markers().copyMarkers(m_text2.get(), 0, m_offset, m_text1.get(), 0); 64 document().markers().copyMarkers(m_text2.get(), 0, m_offset, m_text1.get(), 0);
65 65
66 insertText1AndTrimText2(); 66 insertText1AndTrimText2();
67 } 67 }
68 68
69 void SplitTextNodeCommand::doUnapply() 69 void SplitTextNodeCommand::doUnapply()
70 { 70 {
71 if (!m_text1 || !m_text1->hasEditableStyle()) 71 if (!m_text1 || !m_text1->hasEditableStyle())
72 return; 72 return;
73 73
74 ASSERT(m_text1->document() == document()); 74 DCHECK_EQ(m_text1->document(), document());
75 75
76 String prefixText = m_text1->data(); 76 String prefixText = m_text1->data();
77 77
78 m_text2->insertData(0, prefixText, ASSERT_NO_EXCEPTION, CharacterData::Depre catedRecalcStyleImmediatlelyForEditing); 78 m_text2->insertData(0, prefixText, ASSERT_NO_EXCEPTION, CharacterData::Depre catedRecalcStyleImmediatlelyForEditing);
79 79
80 document().markers().copyMarkers(m_text1.get(), 0, prefixText.length(), m_te xt2.get(), 0); 80 document().markers().copyMarkers(m_text1.get(), 0, prefixText.length(), m_te xt2.get(), 0);
81 m_text1->remove(ASSERT_NO_EXCEPTION); 81 m_text1->remove(ASSERT_NO_EXCEPTION);
82 } 82 }
83 83
84 void SplitTextNodeCommand::doReapply() 84 void SplitTextNodeCommand::doReapply()
(...skipping 18 matching lines...) Expand all
103 } 103 }
104 104
105 DEFINE_TRACE(SplitTextNodeCommand) 105 DEFINE_TRACE(SplitTextNodeCommand)
106 { 106 {
107 visitor->trace(m_text1); 107 visitor->trace(m_text1);
108 visitor->trace(m_text2); 108 visitor->trace(m_text2);
109 SimpleEditCommand::trace(visitor); 109 SimpleEditCommand::trace(visitor);
110 } 110 }
111 111
112 } // namespace blink 112 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698