diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 4c61cae..26f554a 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,20 @@
 2019-10-15  Simon Fraser  <simon.fraser@apple.com>
 
+        Add TextStream dumping for ThemeTypes enums
+        https://bugs.webkit.org/show_bug.cgi?id=202972
+
+        Reviewed by Dean Jackson.
+
+        Make ControlPart, SelectionPart, ThemeFont and ThemeColor dumpable.
+
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/ThemeTypes.cpp: Added.
+        (WebCore::operator<<):
+        * platform/ThemeTypes.h:
+
+2019-10-15  Simon Fraser  <simon.fraser@apple.com>
+
         Add dumping for Animation and AnimationList
         https://bugs.webkit.org/show_bug.cgi?id=202973
 
diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt
index 0da6279..329af4b 100644
--- a/Source/WebCore/Sources.txt
+++ b/Source/WebCore/Sources.txt
@@ -1753,6 +1753,7 @@
 platform/Theme.cpp
 platform/ThreadGlobalData.cpp
 platform/ThreadTimers.cpp
+platform/ThemeTypes.cpp
 platform/Timer.cpp
 platform/UserActivity.cpp
 platform/WebCoreCrossThreadCopier.cpp
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index ca2a4ea..a07ac6f 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -5626,6 +5626,7 @@
 		0F26A7AB2054FCE10090A141 /* MathMLUnknownElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathMLUnknownElement.cpp; sourceTree = "<group>"; };
 		0F26A7AC2055C8D70090A141 /* XMLDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLDocument.cpp; sourceTree = "<group>"; };
 		0F26A7AD205626100090A141 /* SVGUnknownElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGUnknownElement.cpp; sourceTree = "<group>"; };
+		0F283A8D235582F8004794CA /* ThemeTypes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ThemeTypes.cpp; sourceTree = "<group>"; };
 		0F36E7361BD1837A002DB891 /* LayoutPoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutPoint.cpp; sourceTree = "<group>"; };
 		0F36E7381BD184B9002DB891 /* LayoutSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutSize.cpp; sourceTree = "<group>"; };
 		0F37F0832202AC8F00A89C0B /* ScrollingTreeScrollingNodeDelegateMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ScrollingTreeScrollingNodeDelegateMac.mm; sourceTree = "<group>"; };
@@ -25675,6 +25676,7 @@
 				7CC564B618BABEA6001B9652 /* TelephoneNumberDetector.h */,
 				BCE65D310EAD1211007E4533 /* Theme.cpp */,
 				BCE658FE0EA9248A007E4533 /* Theme.h */,
+				0F283A8D235582F8004794CA /* ThemeTypes.cpp */,
 				BCE659A80EA927B9007E4533 /* ThemeTypes.h */,
 				51DF6D7D0B92A16D00C2DC85 /* ThreadCheck.h */,
 				E1FF57A50F01256B00891EBB /* ThreadGlobalData.cpp */,
diff --git a/Source/WebCore/platform/ThemeTypes.cpp b/Source/WebCore/platform/ThemeTypes.cpp
new file mode 100644
index 0000000..5eb0e14
--- /dev/null
+++ b/Source/WebCore/platform/ThemeTypes.cpp
@@ -0,0 +1,178 @@
+/*
+ * Copyright (C) 2019 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "config.h"
+#include "ThemeTypes.h"
+
+#include <wtf/text/TextStream.h>
+
+namespace WebCore {
+
+TextStream& operator<<(TextStream& ts, ControlPart controlPart)
+{
+    switch (controlPart) {
+    case NoControlPart: ts << "no-control-part"; break;
+    case CheckboxPart: ts << "checkbox-part"; break;
+    case RadioPart: ts << "radio-part"; break;
+    case PushButtonPart: ts << "push-button-part"; break;
+    case SquareButtonPart: ts << "square-button-part"; break;
+    case ButtonPart: ts << "button-part"; break;
+    case ButtonBevelPart: ts << "button-bevel-part"; break;
+    case DefaultButtonPart: ts << "default-button-part"; break;
+    case InnerSpinButtonPart: ts << "inner-spin-button-part"; break;
+    case ListboxPart: ts << "listbox-part"; break;
+    case ListItemPart: ts << "list-item-part"; break;
+    case MediaControlsBackgroundPart: ts << "media-controls-background-part"; break;
+    case MediaControlsDarkBarBackgroundPart: ts << "media-controls-dark-bar-background-part"; break;
+    case MediaControlsFullscreenBackgroundPart: ts << "media-controls-fullscreen-background-part"; break;
+    case MediaControlsLightBarBackgroundPart: ts << "media-controls-light-bar-background-part"; break;
+    case MediaCurrentTimePart: ts << "media-current-time-part"; break;
+    case MediaEnterFullscreenButtonPart: ts << "media-enter-fullscreen-button-part"; break;
+    case MediaExitFullscreenButtonPart: ts << "media-exit-fullscreen-button-part"; break;
+    case MediaFullScreenVolumeSliderPart: ts << "media-full-screen-volume-slider-part"; break;
+    case MediaFullScreenVolumeSliderThumbPart: ts << "media-full-screen-volume-slider-thumb-part"; break;
+    case MediaMuteButtonPart: ts << "media-mute-button-part"; break;
+    case MediaOverlayPlayButtonPart: ts << "media-overlay-play-button-part"; break;
+    case MediaPlayButtonPart: ts << "media-play-button-part"; break;
+    case MediaReturnToRealtimeButtonPart: ts << "media-return-to-realtime-button-part"; break;
+    case MediaRewindButtonPart: ts << "media-rewind-button-part"; break;
+    case MediaSeekBackButtonPart: ts << "media-seek-back-button-part"; break;
+    case MediaSeekForwardButtonPart: ts << "media-seek-forward-button-part"; break;
+    case MediaSliderPart: ts << "media-slider-part"; break;
+    case MediaSliderThumbPart: ts << "media-slider-thumb-part"; break;
+    case MediaTimeRemainingPart: ts << "media-time-remaining-part"; break;
+    case MediaToggleClosedCaptionsButtonPart: ts << "media-toggle-closed-captions-button-part"; break;
+    case MediaVolumeSliderPart: ts << "media-volume-slider-part"; break;
+    case MediaVolumeSliderContainerPart: ts << "media-volume-slider-container-part"; break;
+    case MediaVolumeSliderMuteButtonPart: ts << "media-volume-slider-mute-button-part"; break;
+    case MediaVolumeSliderThumbPart: ts << "media-volume-slider-thumb-part"; break;
+    case MenulistPart: ts << "menulist-part"; break;
+    case MenulistButtonPart: ts << "menulist-button-part"; break;
+    case MenulistTextPart: ts << "menulist-text-part"; break;
+    case MenulistTextFieldPart: ts << "menulist-text-field-part"; break;
+    case MeterPart: ts << "meter-part"; break;
+    case ProgressBarPart: ts << "progress-bar-part"; break;
+    case ProgressBarValuePart: ts << "progress-bar-value-part"; break;
+    case SliderHorizontalPart: ts << "slider-horizontal-part"; break;
+    case SliderVerticalPart: ts << "slider-vertical-part"; break;
+    case SliderThumbHorizontalPart: ts << "slider-thumb-horizontal-part"; break;
+    case SliderThumbVerticalPart: ts << "slider-thumb-vertical-part"; break;
+    case CaretPart: ts << "caret-part"; break;
+    case SearchFieldPart: ts << "search-field-part"; break;
+    case SearchFieldDecorationPart: ts << "search-field-decoration-part"; break;
+    case SearchFieldResultsDecorationPart: ts << "search-field-results-decoration-part"; break;
+    case SearchFieldResultsButtonPart: ts << "search-field-results-button-part"; break;
+    case SearchFieldCancelButtonPart: ts << "search-field-cancel-button-part"; break;
+    case SnapshottedPluginOverlayPart: ts << "snapshotted-plugin-overlay-part"; break;
+    case TextFieldPart: ts << "text-field-part"; break;
+    case RelevancyLevelIndicatorPart: ts << "relevancy-level-indicator-part"; break;
+    case ContinuousCapacityLevelIndicatorPart: ts << "continuous-capacity-level-indicator-part"; break;
+    case DiscreteCapacityLevelIndicatorPart: ts << "discrete-capacity-level-indicator-part"; break;
+    case RatingLevelIndicatorPart: ts << "rating-level-indicator-part"; break;
+#if ENABLE(SERVICE_CONTROLS)
+    case ImageControlsButtonPart: ts << "image-controls-button-part"; break;
+#endif
+#if ENABLE(APPLE_PAY)
+    case ApplePayButtonPart: ts << "apple-pay-button-part"; break;
+#endif
+#if ENABLE(INPUT_TYPE_COLOR)
+    case ColorWellPart: ts << "color-well-part"; break;
+#endif
+#if ENABLE(DATALIST_ELEMENT)
+    case ListButtonPart: ts << "list-button-part"; break;
+#endif
+    case TextAreaPart: ts << "text-area-part"; break;
+#if ENABLE(ATTACHMENT_ELEMENT)
+    case AttachmentPart: ts << "attachment-part"; break;
+    case BorderlessAttachmentPart: ts << "borderless-attachment-part"; break;
+#endif
+    case CapsLockIndicatorPart: ts << "caps-lock-indicator-part"; break;
+    }
+    
+    return ts;
+}
+
+TextStream& operator<<(TextStream& ts, SelectionPart selectionPart)
+{
+    switch (selectionPart) {
+    case SelectionBackground: ts << "selection-background"; break;
+    case SelectionForeground: ts << "selection-foreground"; break;
+    }
+    return ts;
+}
+
+TextStream& operator<<(TextStream& ts, ThemeFont themeFont)
+{
+    switch (themeFont) {
+    case CaptionFont: ts << "caption-font"; break;
+    case IconFont: ts << "icon-font"; break;
+    case MenuFont: ts << "menu-font"; break;
+    case MessageBoxFont: ts << "messagebox-font"; break;
+    case SmallCaptionFont: ts << "small-caption-font"; break;
+    case StatusBarFont: ts << "statusbar-font"; break;
+    case MiniControlFont: ts << "minicontrol-font"; break;
+    case SmallControlFont: ts << "small-control-font"; break;
+    case ControlFont: ts << "control-font"; break;
+    }
+    return ts;
+}
+
+TextStream& operator<<(TextStream& ts, ThemeColor themeColor)
+{
+    switch (themeColor) {
+    case ActiveBorderColor: ts << "active-border-color"; break;
+    case ActiveCaptionColor: ts << "active-caption-color"; break;
+    case AppWorkspaceColor: ts << "app-workspace-color"; break;
+    case BackgroundColor: ts << "background-color"; break;
+    case ButtonFaceColor: ts << "button-face-color"; break;
+    case ButtonHighlightColor: ts << "button-highlight-color"; break;
+    case ButtonShadowColor: ts << "button-shadow-color"; break;
+    case ButtonTextColor: ts << "button-text-color"; break;
+    case CaptionTextColor: ts << "caption-text-color"; break;
+    case GrayTextColor: ts << "gray-text-color"; break;
+    case HighlightColor: ts << "highlight-color"; break;
+    case HighlightTextColor: ts << "highlight-text-color"; break;
+    case InactiveBorderColor: ts << "inactive-border-color"; break;
+    case InactiveCaptionColor: ts << "inactive-caption-color"; break;
+    case InactiveCaptionTextColor: ts << "inactive-caption-text-color"; break;
+    case InfoBackgroundColor: ts << "info-background-color"; break;
+    case InfoTextColor: ts << "info-text-color"; break;
+    case MatchColor: ts << "match-color"; break;
+    case MenuTextColor: ts << "menu-text-color"; break;
+    case ScrollbarColor: ts << "scrollbar-color"; break;
+    case ThreeDDarkShadowColor: ts << "threeD-dark-shadow-color"; break;
+    case ThreeDFaceColor: ts << "threeD-face-color"; break;
+    case ThreeDHighlightColor: ts << "threeD-highlight-color"; break;
+    case ThreeDLightShadowColor: ts << "threeD-light-shadow-color"; break;
+    case ThreeDShadowColor: ts << "threeD-shadow-color"; break;
+    case WindowColor: ts << "window-color"; break;
+    case WindowFrameColor: ts << "window-frame-color"; break;
+    case WindowTextColor: ts << "window-text-color"; break;
+    case FocusRingColor: ts << "focus-ring-color"; break;
+    }
+    return ts;
+}
+
+} // namespace WebCore
diff --git a/Source/WebCore/platform/ThemeTypes.h b/Source/WebCore/platform/ThemeTypes.h
index 061f393..1efb4ba 100644
--- a/Source/WebCore/platform/ThemeTypes.h
+++ b/Source/WebCore/platform/ThemeTypes.h
@@ -25,6 +25,10 @@
 
 #pragma once
 
+namespace WTF {
+class TextStream;
+}
+
 namespace WebCore {
 
 // Must follow CSSValueKeywords.in order
@@ -156,4 +160,9 @@
     FocusRingColor
 };
 
-}
+WTF::TextStream& operator<<(WTF::TextStream&, ControlPart);
+WTF::TextStream& operator<<(WTF::TextStream&, SelectionPart);
+WTF::TextStream& operator<<(WTF::TextStream&, ThemeFont);
+WTF::TextStream& operator<<(WTF::TextStream&, ThemeColor);
+
+} // namespace WebCore
