diff --git a/ChangeLog b/ChangeLog
index 2bf9943..64a9482 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2020-06-30  Andres Gonzalez  <andresg_22@apple.com>
+
+        Code cleanup in AccessibilityMenuList.cpp and AXIsolatedTree.h.
+        https://bugs.webkit.org/show_bug.cgi?id=213806
+
+        Reviewed by Darin Adler.
+
+        * WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
+
 2020-06-29  Guowei Yang  <guowei_yang@apple.com>
 
         Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 60dcb77..8ddb01b 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2020-06-30  Andres Gonzalez  <andresg_22@apple.com>
+
+        Code cleanup in AccessibilityMenuList.cpp and AXIsolatedTree.h.
+        https://bugs.webkit.org/show_bug.cgi?id=213806
+
+        Reviewed by Darin Adler.
+
+        No change in functionality.
+        Minor code cleanup pointed out by Darin Adler in reviews for bug 209169 and bug 213575.
+
+        * accessibility/AccessibilityMenuList.cpp:
+        (WebCore::AccessibilityMenuList::isCollapsed const):
+        * accessibility/isolatedtree/AXIsolatedTree.h:
+
 2020-06-30  Sam Weinig  <weinig@apple.com>
 
         Move Color blending related functions to their own files
diff --git a/Source/WebCore/accessibility/AccessibilityMenuList.cpp b/Source/WebCore/accessibility/AccessibilityMenuList.cpp
index 9042598..b0c3c31 100644
--- a/Source/WebCore/accessibility/AccessibilityMenuList.cpp
+++ b/Source/WebCore/accessibility/AccessibilityMenuList.cpp
@@ -100,9 +100,7 @@
 {
 #if !PLATFORM(IOS_FAMILY)
     auto* renderer = this->renderer();
-    if (is<RenderMenuList>(renderer))
-        return !downcast<RenderMenuList>(*renderer).popupIsVisible();
-    return true;
+    return !(is<RenderMenuList>(renderer) && downcast<RenderMenuList>(*renderer).popupIsVisible());
 #else
     return true;
 #endif
diff --git a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h b/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
index 16a4ba9..eb64e24 100644
--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
+++ b/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
@@ -106,7 +106,7 @@
     // Queues all pending additions to the tree as the result of a subtree generation.
     void appendNodeChanges(Vector<NodeChange>&&);
     // Called on main thread to update both m_nodeMap and m_pendingChildrenUpdates.
-    void updateChildrenIDs(AXID axID, Vector<AXID>&& childrenIDs);
+    void updateChildrenIDs(AXID parentID, Vector<AXID>&& childrenIDs);
 
     AXIsolatedTreeID m_treeID;
     AXObjectCache* m_axObjectCache { nullptr };
diff --git a/WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
index a3f43a8..7ca2de4 100644
--- a/WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ b/WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -6,5 +6,7 @@
 	<string>Original</string>
 	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
 	<false/>
+	<key>PreviewsEnabled</key>
+	<false/>
 </dict>
 </plist>
