static void ResetTextNodeDirection(nsINode* aTextNode,
                                    nsINode* aStartAfterNode = nullptr)
 {
   MOZ_ASSERT(aTextNode->HasTextNodeDirectionalityMap(),
              "Map missing in ResetTextNodeDirection");
   GetDirectionalityMap(aTextNode)->ResetAutoDirection(aTextNode,
                                                       aStartAfterNode);
 }
  static void AddEntryToMap(nsINode* aTextNode, Element* aElement)
  {
    nsTextNodeDirectionalityMap* map = GetDirectionalityMap(aTextNode);
    if (!map) {
      map = new nsTextNodeDirectionalityMap(aTextNode);
    }

    map->AddEntry(aTextNode, aElement);
  }
 static void UpdateTextNodeDirection(nsINode* aTextNode, Directionality aDir)
 {
   MOZ_ASSERT(aTextNode->HasTextNodeDirectionalityMap(),
              "Map missing in UpdateTextNodeDirection");
   GetDirectionalityMap(aTextNode)->UpdateAutoDirection(aDir);
 }
 static void RemoveElementFromMap(nsINode* aTextNode, Element* aElement)
 {
   if (aTextNode->HasTextNodeDirectionalityMap()) {
     GetDirectionalityMap(aTextNode)->RemoveEntry(aTextNode, aElement);
   }
 }
 static void ResetTextNodeDirection(nsINode* aTextNode)
 {
   MOZ_ASSERT(aTextNode->HasTextNodeDirectionalityMap(),
              "Map missing in ResetTextNodeDirection");
   GetDirectionalityMap(aTextNode)->ResetAutoDirection();
 }