Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / editing / DeleteSelectionCommand.h
index d61817a..33da3fb 100644 (file)
 
 #include "core/editing/CompositeEditCommand.h"
 
-namespace WebCore {
+namespace blink {
 
 class EditingStyle;
+class HTMLTableRowElement;
 
-class DeleteSelectionCommand FINAL : public CompositeEditCommand {
+class DeleteSelectionCommand final : public CompositeEditCommand {
 public:
-    static PassRefPtr<DeleteSelectionCommand> create(Document& document, bool smartDelete = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements = false, bool sanitizeMarkup = true)
+    static PassRefPtrWillBeRawPtr<DeleteSelectionCommand> create(Document& document, bool smartDelete = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements = false, bool sanitizeMarkup = true)
     {
-        return adoptRef(new DeleteSelectionCommand(document, smartDelete, mergeBlocksAfterDelete, expandForSpecialElements, sanitizeMarkup));
+        return adoptRefWillBeNoop(new DeleteSelectionCommand(document, smartDelete, mergeBlocksAfterDelete, expandForSpecialElements, sanitizeMarkup));
     }
-    static PassRefPtr<DeleteSelectionCommand> create(const VisibleSelection& selection, bool smartDelete = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements = false, bool sanitizeMarkup = true)
+    static PassRefPtrWillBeRawPtr<DeleteSelectionCommand> create(const VisibleSelection& selection, bool smartDelete = false, bool mergeBlocksAfterDelete = true, bool expandForSpecialElements = false, bool sanitizeMarkup = true)
     {
-        return adoptRef(new DeleteSelectionCommand(selection, smartDelete, mergeBlocksAfterDelete, expandForSpecialElements, sanitizeMarkup));
+        return adoptRefWillBeNoop(new DeleteSelectionCommand(selection, smartDelete, mergeBlocksAfterDelete, expandForSpecialElements, sanitizeMarkup));
     }
 
+    virtual void trace(Visitor*) override;
+
 private:
     DeleteSelectionCommand(Document&, bool smartDelete, bool mergeBlocksAfterDelete, bool expandForSpecialElements, bool santizeMarkup);
     DeleteSelectionCommand(const VisibleSelection&, bool smartDelete, bool mergeBlocksAfterDelete, bool expandForSpecialElements, bool sanitizeMarkup);
 
-    virtual void doApply() OVERRIDE;
-    virtual EditAction editingAction() const OVERRIDE;
+    virtual void doApply() override;
+    virtual EditAction editingAction() const override;
 
-    virtual bool preservesTypingStyle() const OVERRIDE;
+    virtual bool preservesTypingStyle() const override;
 
     void initializeStartEnd(Position&, Position&);
     void setStartingSelectionOnSmartDelete(const Position&, const Position&);
@@ -64,8 +67,8 @@ private:
     void calculateTypingStyleAfterDelete();
     void clearTransientState();
     void makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss();
-    virtual void removeNode(PassRefPtr<Node>, ShouldAssumeContentIsAlwaysEditable = DoNotAssumeContentIsAlwaysEditable) OVERRIDE;
-    virtual void deleteTextFromNode(PassRefPtr<Text>, unsigned, unsigned) OVERRIDE;
+    virtual void removeNode(PassRefPtrWillBeRawPtr<Node>, ShouldAssumeContentIsAlwaysEditable = DoNotAssumeContentIsAlwaysEditable) override;
+    virtual void deleteTextFromNode(PassRefPtrWillBeRawPtr<Text>, unsigned, unsigned) override;
     void removeRedundantBlocks();
 
     bool m_hasSelectionToDelete;
@@ -86,17 +89,17 @@ private:
     Position m_endingPosition;
     Position m_leadingWhitespace;
     Position m_trailingWhitespace;
-    RefPtr<Node> m_startBlock;
-    RefPtr<Node> m_endBlock;
-    RefPtr<EditingStyle> m_typingStyle;
-    RefPtr<EditingStyle> m_deleteIntoBlockquoteStyle;
-    RefPtr<Node> m_startRoot;
-    RefPtr<Node> m_endRoot;
-    RefPtr<Node> m_startTableRow;
-    RefPtr<Node> m_endTableRow;
-    RefPtr<Node> m_temporaryPlaceholder;
+    RefPtrWillBeMember<Node> m_startBlock;
+    RefPtrWillBeMember<Node> m_endBlock;
+    RefPtrWillBeMember<EditingStyle> m_typingStyle;
+    RefPtrWillBeMember<EditingStyle> m_deleteIntoBlockquoteStyle;
+    RefPtrWillBeMember<Element> m_startRoot;
+    RefPtrWillBeMember<Element> m_endRoot;
+    RefPtrWillBeMember<HTMLTableRowElement> m_startTableRow;
+    RefPtrWillBeMember<HTMLTableRowElement> m_endTableRow;
+    RefPtrWillBeMember<Node> m_temporaryPlaceholder;
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // DeleteSelectionCommand_h