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

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

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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, 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 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 29 matching lines...) Expand all
40 SelectReplacement = 1 << 0, 40 SelectReplacement = 1 << 0,
41 SmartReplace = 1 << 1, 41 SmartReplace = 1 << 1,
42 MatchStyle = 1 << 2, 42 MatchStyle = 1 << 2,
43 PreventNesting = 1 << 3, 43 PreventNesting = 1 << 3,
44 MovingParagraph = 1 << 4, 44 MovingParagraph = 1 << 4,
45 SanitizeFragment = 1 << 5 45 SanitizeFragment = 1 << 5
46 }; 46 };
47 47
48 typedef unsigned CommandOptions; 48 typedef unsigned CommandOptions;
49 49
50 static PassRefPtrWillBeRawPtr<ReplaceSelectionCommand> create(Document& docu ment, PassRefPtrWillBeRawPtr<DocumentFragment> fragment, CommandOptions options, EditAction action = EditActionPaste) 50 static RawPtr<ReplaceSelectionCommand> create(Document& document, RawPtr<Doc umentFragment> fragment, CommandOptions options, EditAction action = EditActionP aste)
51 { 51 {
52 return adoptRefWillBeNoop(new ReplaceSelectionCommand(document, fragment , options, action)); 52 return new ReplaceSelectionCommand(document, fragment, options, action);
53 } 53 }
54 54
55 EphemeralRange insertedRange() const; 55 EphemeralRange insertedRange() const;
56 56
57 DECLARE_VIRTUAL_TRACE(); 57 DECLARE_VIRTUAL_TRACE();
58 58
59 private: 59 private:
60 ReplaceSelectionCommand(Document&, PassRefPtrWillBeRawPtr<DocumentFragment>, CommandOptions, EditAction); 60 ReplaceSelectionCommand(Document&, RawPtr<DocumentFragment>, CommandOptions, EditAction);
61 61
62 void doApply(EditingState*) override; 62 void doApply(EditingState*) override;
63 EditAction editingAction() const override; 63 EditAction editingAction() const override;
64 bool isReplaceSelectionCommand() const override; 64 bool isReplaceSelectionCommand() const override;
65 65
66 class InsertedNodes { 66 class InsertedNodes {
67 STACK_ALLOCATED(); 67 STACK_ALLOCATED();
68 public: 68 public:
69 void respondToNodeInsertion(Node&); 69 void respondToNodeInsertion(Node&);
70 void willRemoveNodePreservingChildren(Node&); 70 void willRemoveNodePreservingChildren(Node&);
71 void willRemoveNode(Node&); 71 void willRemoveNode(Node&);
72 void didReplaceNode(Node&, Node& newNode); 72 void didReplaceNode(Node&, Node& newNode);
73 73
74 Node* firstNodeInserted() const { return m_firstNodeInserted.get(); } 74 Node* firstNodeInserted() const { return m_firstNodeInserted.get(); }
75 Node* lastLeafInserted() const { return m_lastNodeInserted ? &NodeTraver sal::lastWithinOrSelf(*m_lastNodeInserted) : 0; } 75 Node* lastLeafInserted() const { return m_lastNodeInserted ? &NodeTraver sal::lastWithinOrSelf(*m_lastNodeInserted) : 0; }
76 Node* pastLastLeaf() const { return m_lastNodeInserted ? NodeTraversal:: next(NodeTraversal::lastWithinOrSelf(*m_lastNodeInserted)) : 0; } 76 Node* pastLastLeaf() const { return m_lastNodeInserted ? NodeTraversal:: next(NodeTraversal::lastWithinOrSelf(*m_lastNodeInserted)) : 0; }
77 77
78 private: 78 private:
79 RefPtrWillBeMember<Node> m_firstNodeInserted; 79 Member<Node> m_firstNodeInserted;
80 RefPtrWillBeMember<Node> m_lastNodeInserted; 80 Member<Node> m_lastNodeInserted;
81 }; 81 };
82 82
83 Node* insertAsListItems(PassRefPtrWillBeRawPtr<HTMLElement> listElement, Ele ment* insertionBlock, const Position&, InsertedNodes&, EditingState*); 83 Node* insertAsListItems(RawPtr<HTMLElement> listElement, Element* insertionB lock, const Position&, InsertedNodes&, EditingState*);
84 84
85 void updateNodesInserted(Node*); 85 void updateNodesInserted(Node*);
86 bool shouldRemoveEndBR(HTMLBRElement*, const VisiblePosition&); 86 bool shouldRemoveEndBR(HTMLBRElement*, const VisiblePosition&);
87 87
88 bool shouldMergeStart(bool, bool, bool); 88 bool shouldMergeStart(bool, bool, bool);
89 bool shouldMergeEnd(bool selectionEndWasEndOfParagraph); 89 bool shouldMergeEnd(bool selectionEndWasEndOfParagraph);
90 bool shouldMerge(const VisiblePosition&, const VisiblePosition&); 90 bool shouldMerge(const VisiblePosition&, const VisiblePosition&);
91 91
92 void mergeEndIfNeeded(EditingState*); 92 void mergeEndIfNeeded(EditingState*);
93 93
94 void removeUnrenderedTextNodesAtEnds(InsertedNodes&); 94 void removeUnrenderedTextNodesAtEnds(InsertedNodes&);
95 95
96 void removeRedundantStylesAndKeepStyleSpanInline(InsertedNodes&, EditingStat e*); 96 void removeRedundantStylesAndKeepStyleSpanInline(InsertedNodes&, EditingStat e*);
97 void makeInsertedContentRoundTrippableWithHTMLTreeBuilder(const InsertedNode s&, EditingState*); 97 void makeInsertedContentRoundTrippableWithHTMLTreeBuilder(const InsertedNode s&, EditingState*);
98 void moveElementOutOfAncestor(PassRefPtrWillBeRawPtr<Element>, PassRefPtrWil lBeRawPtr<Element> ancestor, EditingState*); 98 void moveElementOutOfAncestor(RawPtr<Element>, RawPtr<Element> ancestor, Edi tingState*);
99 void handleStyleSpans(InsertedNodes&, EditingState*); 99 void handleStyleSpans(InsertedNodes&, EditingState*);
100 100
101 VisiblePosition positionAtStartOfInsertedContent() const; 101 VisiblePosition positionAtStartOfInsertedContent() const;
102 VisiblePosition positionAtEndOfInsertedContent() const; 102 VisiblePosition positionAtEndOfInsertedContent() const;
103 103
104 bool shouldPerformSmartReplace() const; 104 bool shouldPerformSmartReplace() const;
105 void addSpacesForSmartReplace(EditingState*); 105 void addSpacesForSmartReplace(EditingState*);
106 void completeHTMLReplacement(const Position& lastPositionToSelect, EditingSt ate*); 106 void completeHTMLReplacement(const Position& lastPositionToSelect, EditingSt ate*);
107 void mergeTextNodesAroundPosition(Position&, Position& positionOnlyToBeUpdat ed, EditingState*); 107 void mergeTextNodesAroundPosition(Position&, Position& positionOnlyToBeUpdat ed, EditingState*);
108 108
109 bool performTrivialReplace(const ReplacementFragment&, EditingState*); 109 bool performTrivialReplace(const ReplacementFragment&, EditingState*);
110 110
111 Position m_startOfInsertedContent; 111 Position m_startOfInsertedContent;
112 Position m_endOfInsertedContent; 112 Position m_endOfInsertedContent;
113 RefPtrWillBeMember<EditingStyle> m_insertionStyle; 113 Member<EditingStyle> m_insertionStyle;
114 bool m_selectReplacement; 114 bool m_selectReplacement;
115 bool m_smartReplace; 115 bool m_smartReplace;
116 bool m_matchStyle; 116 bool m_matchStyle;
117 RefPtrWillBeMember<DocumentFragment> m_documentFragment; 117 Member<DocumentFragment> m_documentFragment;
118 bool m_preventNesting; 118 bool m_preventNesting;
119 bool m_movingParagraph; 119 bool m_movingParagraph;
120 EditAction m_editAction; 120 EditAction m_editAction;
121 bool m_sanitizeFragment; 121 bool m_sanitizeFragment;
122 bool m_shouldMergeEnd; 122 bool m_shouldMergeEnd;
123 123
124 Position m_startOfInsertedRange; 124 Position m_startOfInsertedRange;
125 Position m_endOfInsertedRange; 125 Position m_endOfInsertedRange;
126 }; 126 };
127 127
128 DEFINE_TYPE_CASTS(ReplaceSelectionCommand, CompositeEditCommand, command, comman d->isReplaceSelectionCommand(), command.isReplaceSelectionCommand()); 128 DEFINE_TYPE_CASTS(ReplaceSelectionCommand, CompositeEditCommand, command, comman d->isReplaceSelectionCommand(), command.isReplaceSelectionCommand());
129 129
130 } // namespace blink 130 } // namespace blink
131 131
132 #endif // ReplaceSelectionCommand_h 132 #endif // ReplaceSelectionCommand_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698