Bug 1463985 - part 17: Rename EditSubAction::align to EditSubAction::eSetOrClearAlignment r?m_kato draft
authorMasayuki Nakano <masayuki@d-toybox.com>
Mon, 28 May 2018 22:51:31 +0900
changeset 801987 e08bd3e2366189fa5134f982095d23a9a54db90c
parent 801986 17f4bdcf8825a5dbf26078939749847ee6620feb
child 801988 ed774287d875e58117244fdce7f7032d4f8ce1c2
push id111796
push usermasayuki@d-toybox.com
push dateThu, 31 May 2018 06:40:56 +0000
reviewersm_kato
bugs1463985
milestone62.0a1
Bug 1463985 - part 17: Rename EditSubAction::align to EditSubAction::eSetOrClearAlignment r?m_kato MozReview-Commit-ID: KausJ4mihk9
editor/libeditor/EditAction.h
editor/libeditor/HTMLEditRules.cpp
editor/libeditor/HTMLEditor.cpp
editor/libeditor/TextEditRules.h
--- a/editor/libeditor/EditAction.h
+++ b/editor/libeditor/EditAction.h
@@ -73,17 +73,20 @@ enum class EditSubAction : int32_t
   // type.
   eCreateOrChangeList,
 
   // eIndent and eOutdent indicates to indent or outdent the target with
   // using <blockquote>, <ul>, <ol> or just margin of start edge.
   eIndent,
   eOutdent,
 
-  align,
+  // eSetOrClearAlignment aligns content or clears alignment with align
+  // attribute or text-align.
+  eSetOrClearAlignment,
+
   makeBasicBlock,
   removeList,
   makeDefListItem,
   insertElement,
   insertQuotation,
 
   htmlPaste = 3012,
   loadHTML,
--- a/editor/libeditor/HTMLEditRules.cpp
+++ b/editor/libeditor/HTMLEditRules.cpp
@@ -84,17 +84,17 @@ enum
 static bool
 IsStyleCachePreservingSubAction(EditSubAction aEditSubAction)
 {
   return aEditSubAction == EditSubAction::eDeleteSelectedContent ||
          aEditSubAction == EditSubAction::eInsertParagraphSeparator ||
          aEditSubAction == EditSubAction::eCreateOrChangeList ||
          aEditSubAction == EditSubAction::eIndent ||
          aEditSubAction == EditSubAction::eOutdent ||
-         aEditSubAction == EditSubAction::align ||
+         aEditSubAction == EditSubAction::eSetOrClearAlignment ||
          aEditSubAction == EditSubAction::makeBasicBlock ||
          aEditSubAction == EditSubAction::removeList ||
          aEditSubAction == EditSubAction::makeDefListItem ||
          aEditSubAction == EditSubAction::insertElement ||
          aEditSubAction == EditSubAction::insertQuotation;
 }
 
 static nsAtom&
@@ -701,17 +701,17 @@ HTMLEditRules::WillDoAction(Selection* a
     case EditSubAction::eIndent:
       return WillIndent(aCancel, aHandled);
     case EditSubAction::eOutdent:
       return WillOutdent(aCancel, aHandled);
     case EditSubAction::setAbsolutePosition:
       return WillAbsolutePosition(aCancel, aHandled);
     case EditSubAction::removeAbsolutePosition:
       return WillRemoveAbsolutePosition(aCancel, aHandled);
-    case EditSubAction::align:
+    case EditSubAction::eSetOrClearAlignment:
       return WillAlign(*aInfo.alignType, aCancel, aHandled);
     case EditSubAction::makeBasicBlock:
       return WillMakeBasicBlock(*aInfo.blockType, aCancel, aHandled);
     case EditSubAction::removeList: {
       nsresult rv = WillRemoveList(aCancel, aHandled);
       if (NS_WARN_IF(rv == NS_ERROR_EDITOR_DESTROYED) ||
           NS_WARN_IF(!CanHandleEditAction())) {
         return NS_ERROR_EDITOR_DESTROYED;
@@ -761,17 +761,17 @@ HTMLEditRules::DidDoAction(Selection* aS
     case EditSubAction::eInsertParagraphSeparator:
     case EditSubAction::eInsertTextComingFromIME:
       return NS_OK;
     case EditSubAction::eDeleteSelectedContent:
       return DidDeleteSelection();
     case EditSubAction::makeBasicBlock:
     case EditSubAction::eIndent:
     case EditSubAction::eOutdent:
-    case EditSubAction::align:
+    case EditSubAction::eSetOrClearAlignment:
       return DidMakeBasicBlock();
     case EditSubAction::setAbsolutePosition: {
       nsresult rv = DidMakeBasicBlock();
       if (NS_WARN_IF(NS_FAILED(rv))) {
         return rv;
       }
       return DidAbsolutePosition();
     }
@@ -974,22 +974,23 @@ HTMLEditRules::GetAlignment(bool* aMixed
              atStartOfSelection.Offset() == static_cast<uint32_t>(rootOffset)) {
     // If we have selected the body, let's look at the first editable node
     nodeToExamine = HTMLEditorRef().GetNextEditableNode(atStartOfSelection);
     if (NS_WARN_IF(!nodeToExamine)) {
       return NS_ERROR_FAILURE;
     }
   } else {
     nsTArray<RefPtr<nsRange>> arrayOfRanges;
-    GetPromotedRanges(arrayOfRanges, EditSubAction::align);
+    GetPromotedRanges(arrayOfRanges, EditSubAction::eSetOrClearAlignment);
 
     // Use these ranges to construct a list of nodes to act on.
     nsTArray<OwningNonNull<nsINode>> arrayOfNodes;
     nsresult rv = GetNodesForOperation(arrayOfRanges, arrayOfNodes,
-                                       EditSubAction::align, TouchContent::no);
+                                       EditSubAction::eSetOrClearAlignment,
+                                       TouchContent::no);
     if (NS_WARN_IF(NS_FAILED(rv))) {
       return rv;
     }
     nodeToExamine = arrayOfNodes.SafeElementAt(0);
     if (NS_WARN_IF(!nodeToExamine)) {
       return NS_ERROR_FAILURE;
     }
   }
@@ -6187,17 +6188,18 @@ HTMLEditRules::AlignContentsAtSelection(
   AutoSelectionRestorer selectionRestorer(&SelectionRef(), &HTMLEditorRef());
 
   // Convert the selection ranges into "promoted" selection ranges: This
   // basically just expands the range to include the immediate block parent,
   // and then further expands to include any ancestors whose children are all
   // in the range
   nsTArray<OwningNonNull<nsINode>> nodeArray;
   nsresult rv =
-    GetNodesFromSelection(EditSubAction::align, nodeArray, TouchContent::yes);
+    GetNodesFromSelection(EditSubAction::eSetOrClearAlignment, nodeArray,
+                          TouchContent::yes);
   if (NS_WARN_IF(NS_FAILED(rv))) {
     return rv;
   }
 
   // If we don't have any nodes, or we have only a single br, then we are
   // creating an empty alignment div.  We have to do some different things for
   // these.
   bool emptyDiv = nodeArray.IsEmpty();
@@ -7210,20 +7212,21 @@ HTMLEditRules::GetPromotedPoint(RulesEnd
           point.IsContainerHTMLElement(nsGkAtoms::blockquote)) {
         break;
       }
 
       // Don't walk past the editable section. Note that we need to check
       // before walking up to a parent because we need to return the parent
       // object, so the parent itself might not be in the editable area, but
       // it's OK if we're not performing a block-level action.
-      bool blockLevelAction = aEditSubAction == EditSubAction::eIndent ||
-                              aEditSubAction == EditSubAction::eOutdent ||
-                              aEditSubAction == EditSubAction::align ||
-                              aEditSubAction == EditSubAction::makeBasicBlock;
+      bool blockLevelAction =
+        aEditSubAction == EditSubAction::eIndent ||
+        aEditSubAction == EditSubAction::eOutdent ||
+        aEditSubAction == EditSubAction::eSetOrClearAlignment ||
+        aEditSubAction == EditSubAction::makeBasicBlock;
       if (!HTMLEditorRef().IsDescendantOfEditorRoot(
                              point.GetContainer()->GetParentNode()) &&
           (blockLevelAction ||
            !HTMLEditorRef().IsDescendantOfEditorRoot(point.GetContainer()))) {
         break;
       }
 
       point.Set(point.GetContainer());
@@ -7578,17 +7581,17 @@ HTMLEditRules::GetNodesForOperation(
     }
   }
 
 
   // Post-process the list to break up inline containers that contain br's, but
   // only for operations that might care, like making lists or paragraphs
   if (aEditSubAction == EditSubAction::makeBasicBlock ||
       aEditSubAction == EditSubAction::eCreateOrChangeList ||
-      aEditSubAction == EditSubAction::align ||
+      aEditSubAction == EditSubAction::eSetOrClearAlignment ||
       aEditSubAction == EditSubAction::setAbsolutePosition ||
       aEditSubAction == EditSubAction::eIndent ||
       aEditSubAction == EditSubAction::eOutdent) {
     for (int32_t i = aOutArrayOfNodes.Length() - 1; i >= 0; i--) {
       OwningNonNull<nsINode> node = aOutArrayOfNodes[i];
       // XXX Why do we run this loop even when aTouchContent is "no"?
       if (aTouchContent == TouchContent::yes && IsInlineNode(node) &&
           HTMLEditorRef().IsContainer(node) && !EditorBase::IsTextNode(node)) {
--- a/editor/libeditor/HTMLEditor.cpp
+++ b/editor/libeditor/HTMLEditor.cpp
@@ -2380,25 +2380,26 @@ HTMLEditor::Indent(const nsAString& aInd
 NS_IMETHODIMP
 HTMLEditor::Align(const nsAString& aAlignType)
 {
   // Protect the edit rules object from dying
   RefPtr<TextEditRules> rules(mRules);
 
   AutoPlaceholderBatch beginBatching(this);
   AutoTopLevelEditSubActionNotifier maybeTopLevelEditSubAction(
-                                      *this, EditSubAction::align,
+                                      *this,
+                                      EditSubAction::eSetOrClearAlignment,
                                       nsIEditor::eNext);
 
   bool cancel, handled;
 
   // Find out if the selection is collapsed:
   RefPtr<Selection> selection = GetSelection();
   NS_ENSURE_TRUE(selection, NS_ERROR_NULL_POINTER);
-  EditSubActionInfo subActionInfo(EditSubAction::align);
+  EditSubActionInfo subActionInfo(EditSubAction::eSetOrClearAlignment);
   subActionInfo.alignType = &aAlignType;
   nsresult rv =
    rules->WillDoAction(selection, subActionInfo, &cancel, &handled);
   if (cancel || NS_FAILED(rv)) {
     return rv;
   }
 
   return rules->DidDoAction(selection, subActionInfo, rv);
--- a/editor/libeditor/TextEditRules.h
+++ b/editor/libeditor/TextEditRules.h
@@ -550,17 +550,17 @@ public:
 
   // EditSubAction::removeList
   bool bOrdered;
 
   // EditSubAction::eCreateOrChangeList
   bool entireList;
   const nsAString* bulletType;
 
-  // EditSubAction::align
+  // EditSubAction::eSetOrClearAlignment
   const nsAString* alignType;
 
   // EditSubAction::makeBasicBlock
   const nsAString* blockType;
 };
 
 /**
  * Stack based helper class for managing TextEditRules::mLockRluesSniffing.