diff --git a/BUILD.gn b/BUILD.gn
index fec9063..49c79c3 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1078,36 +1078,36 @@
 
 static_library("pdfwindow") {
   sources = [
-    "fpdfsdk/pdfwindow/PWL_Button.cpp",
-    "fpdfsdk/pdfwindow/PWL_Button.h",
-    "fpdfsdk/pdfwindow/PWL_Caret.cpp",
-    "fpdfsdk/pdfwindow/PWL_Caret.h",
-    "fpdfsdk/pdfwindow/PWL_ComboBox.cpp",
-    "fpdfsdk/pdfwindow/PWL_ComboBox.h",
-    "fpdfsdk/pdfwindow/PWL_Edit.cpp",
-    "fpdfsdk/pdfwindow/PWL_Edit.h",
-    "fpdfsdk/pdfwindow/PWL_EditCtrl.cpp",
-    "fpdfsdk/pdfwindow/PWL_EditCtrl.h",
-    "fpdfsdk/pdfwindow/PWL_FontMap.cpp",
-    "fpdfsdk/pdfwindow/PWL_FontMap.h",
-    "fpdfsdk/pdfwindow/PWL_Icon.cpp",
-    "fpdfsdk/pdfwindow/PWL_Icon.h",
-    "fpdfsdk/pdfwindow/PWL_ListBox.cpp",
-    "fpdfsdk/pdfwindow/PWL_ListBox.h",
-    "fpdfsdk/pdfwindow/PWL_ScrollBar.cpp",
-    "fpdfsdk/pdfwindow/PWL_ScrollBar.h",
-    "fpdfsdk/pdfwindow/PWL_SpecialButton.cpp",
-    "fpdfsdk/pdfwindow/PWL_SpecialButton.h",
-    "fpdfsdk/pdfwindow/PWL_Utils.cpp",
-    "fpdfsdk/pdfwindow/PWL_Utils.h",
-    "fpdfsdk/pdfwindow/PWL_Wnd.cpp",
-    "fpdfsdk/pdfwindow/PWL_Wnd.h",
+    "fpdfsdk/pdfwindow/cpwl_button.cpp",
+    "fpdfsdk/pdfwindow/cpwl_button.h",
+    "fpdfsdk/pdfwindow/cpwl_caret.cpp",
+    "fpdfsdk/pdfwindow/cpwl_caret.h",
     "fpdfsdk/pdfwindow/cpwl_color.cpp",
     "fpdfsdk/pdfwindow/cpwl_color.h",
+    "fpdfsdk/pdfwindow/cpwl_combo_box.cpp",
+    "fpdfsdk/pdfwindow/cpwl_combo_box.h",
+    "fpdfsdk/pdfwindow/cpwl_edit.cpp",
+    "fpdfsdk/pdfwindow/cpwl_edit.h",
+    "fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp",
+    "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h",
+    "fpdfsdk/pdfwindow/cpwl_font_map.cpp",
+    "fpdfsdk/pdfwindow/cpwl_font_map.h",
+    "fpdfsdk/pdfwindow/cpwl_icon.cpp",
+    "fpdfsdk/pdfwindow/cpwl_icon.h",
+    "fpdfsdk/pdfwindow/cpwl_list_box.cpp",
+    "fpdfsdk/pdfwindow/cpwl_list_box.h",
+    "fpdfsdk/pdfwindow/cpwl_scroll_bar.cpp",
+    "fpdfsdk/pdfwindow/cpwl_scroll_bar.h",
+    "fpdfsdk/pdfwindow/cpwl_special_button.cpp",
+    "fpdfsdk/pdfwindow/cpwl_special_button.h",
     "fpdfsdk/pdfwindow/cpwl_timer.cpp",
     "fpdfsdk/pdfwindow/cpwl_timer.h",
     "fpdfsdk/pdfwindow/cpwl_timer_handler.cpp",
     "fpdfsdk/pdfwindow/cpwl_timer_handler.h",
+    "fpdfsdk/pdfwindow/cpwl_utils.cpp",
+    "fpdfsdk/pdfwindow/cpwl_utils.h",
+    "fpdfsdk/pdfwindow/cpwl_wnd.cpp",
+    "fpdfsdk/pdfwindow/cpwl_wnd.h",
   ]
   configs += [ ":pdfium_core_config" ]
   deps = [
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp
index 76cb6fd..c7f8e34 100644
--- a/fpdfsdk/cpdfsdk_interform.cpp
+++ b/fpdfsdk/cpdfsdk_interform.cpp
@@ -32,7 +32,7 @@
 #include "fpdfsdk/ipdfsdk_annothandler.h"
 #include "fpdfsdk/javascript/ijs_event_context.h"
 #include "fpdfsdk/javascript/ijs_runtime.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
 #include "third_party/base/stl_util.h"
 
 #ifdef PDF_ENABLE_XFA
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index bd586a9..f2dad5c 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -29,8 +29,8 @@
 #include "fpdfsdk/fsdk_actionhandler.h"
 #include "fpdfsdk/fsdk_define.h"
 #include "fpdfsdk/fxedit/fxet_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
 
 #ifdef PDF_ENABLE_XFA
 #include "fpdfsdk/fpdfxfa/cpdfxfa_context.h"
diff --git a/fpdfsdk/formfiller/cba_fontmap.h b/fpdfsdk/formfiller/cba_fontmap.h
index 14aabe4..17b7b4e 100644
--- a/fpdfsdk/formfiller/cba_fontmap.h
+++ b/fpdfsdk/formfiller/cba_fontmap.h
@@ -8,7 +8,7 @@
 #define FPDFSDK_FORMFILLER_CBA_FONTMAP_H_
 
 #include "core/fxcrt/cfx_unowned_ptr.h"
-#include "fpdfsdk/pdfwindow/PWL_FontMap.h"
+#include "fpdfsdk/pdfwindow/cpwl_font_map.h"
 
 class CPDF_Dictionary;
 class CPDFSDK_Annot;
diff --git a/fpdfsdk/formfiller/cffl_checkbox.cpp b/fpdfsdk/formfiller/cffl_checkbox.cpp
index 2a578aa..d8227d8 100644
--- a/fpdfsdk/formfiller/cffl_checkbox.cpp
+++ b/fpdfsdk/formfiller/cffl_checkbox.cpp
@@ -9,7 +9,7 @@
 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
 #include "fpdfsdk/cpdfsdk_widget.h"
 #include "fpdfsdk/formfiller/cffl_formfiller.h"
-#include "fpdfsdk/pdfwindow/PWL_SpecialButton.h"
+#include "fpdfsdk/pdfwindow/cpwl_special_button.h"
 #include "public/fpdf_fwlevent.h"
 
 CFFL_CheckBox::CFFL_CheckBox(CPDFSDK_FormFillEnvironment* pApp,
diff --git a/fpdfsdk/formfiller/cffl_combobox.cpp b/fpdfsdk/formfiller/cffl_combobox.cpp
index 8e4efc4..006828d 100644
--- a/fpdfsdk/formfiller/cffl_combobox.cpp
+++ b/fpdfsdk/formfiller/cffl_combobox.cpp
@@ -12,7 +12,7 @@
 #include "fpdfsdk/formfiller/cffl_formfiller.h"
 #include "fpdfsdk/formfiller/cffl_interactiveformfiller.h"
 #include "fpdfsdk/fsdk_common.h"
-#include "fpdfsdk/pdfwindow/PWL_ComboBox.h"
+#include "fpdfsdk/pdfwindow/cpwl_combo_box.h"
 #include "third_party/base/ptr_util.h"
 
 CFFL_ComboBox::CFFL_ComboBox(CPDFSDK_FormFillEnvironment* pApp,
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
index f15efd2..98a14e6 100644
--- a/fpdfsdk/formfiller/cffl_formfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_formfiller.cpp
@@ -13,7 +13,7 @@
 #include "fpdfsdk/cpdfsdk_widget.h"
 #include "fpdfsdk/formfiller/cba_fontmap.h"
 #include "fpdfsdk/fsdk_common.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
 
 #define GetRed(rgb) ((uint8_t)(rgb))
 #define GetGreen(rgb) ((uint8_t)(((uint16_t)(rgb)) >> 8))
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
index 2c75225..2bf601d 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
@@ -22,7 +22,7 @@
 #include "fpdfsdk/formfiller/cffl_pushbutton.h"
 #include "fpdfsdk/formfiller/cffl_radiobutton.h"
 #include "fpdfsdk/formfiller/cffl_textfield.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
 #include "third_party/base/stl_util.h"
 
 #define FFL_MAXLISTBOXHEIGHT 140.0f
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.h b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
index d2f59bf..d84b8b8 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.h
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
@@ -13,7 +13,7 @@
 #include "core/fxcrt/cfx_unowned_ptr.h"
 #include "fpdfsdk/cpdfsdk_annot.h"
 #include "fpdfsdk/fsdk_define.h"
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
 
 class CFFL_FormFiller;
 class CPDFSDK_FormFillEnvironment;
diff --git a/fpdfsdk/formfiller/cffl_listbox.cpp b/fpdfsdk/formfiller/cffl_listbox.cpp
index 55c0f3f..11206e2 100644
--- a/fpdfsdk/formfiller/cffl_listbox.cpp
+++ b/fpdfsdk/formfiller/cffl_listbox.cpp
@@ -12,7 +12,7 @@
 #include "fpdfsdk/formfiller/cffl_formfiller.h"
 #include "fpdfsdk/formfiller/cffl_interactiveformfiller.h"
 #include "fpdfsdk/fsdk_common.h"
-#include "fpdfsdk/pdfwindow/PWL_ListBox.h"
+#include "fpdfsdk/pdfwindow/cpwl_list_box.h"
 #include "third_party/base/ptr_util.h"
 
 #define FFL_DEFAULTLISTBOXFONTSIZE 12.0f
diff --git a/fpdfsdk/formfiller/cffl_pushbutton.cpp b/fpdfsdk/formfiller/cffl_pushbutton.cpp
index 15e15f5..d0d51b7 100644
--- a/fpdfsdk/formfiller/cffl_pushbutton.cpp
+++ b/fpdfsdk/formfiller/cffl_pushbutton.cpp
@@ -7,7 +7,7 @@
 #include "fpdfsdk/formfiller/cffl_pushbutton.h"
 
 #include "fpdfsdk/formfiller/cffl_formfiller.h"
-#include "fpdfsdk/pdfwindow/PWL_SpecialButton.h"
+#include "fpdfsdk/pdfwindow/cpwl_special_button.h"
 
 CFFL_PushButton::CFFL_PushButton(CPDFSDK_FormFillEnvironment* pApp,
                                  CPDFSDK_Widget* pWidget)
diff --git a/fpdfsdk/formfiller/cffl_radiobutton.cpp b/fpdfsdk/formfiller/cffl_radiobutton.cpp
index e264a3b..e5a5a98 100644
--- a/fpdfsdk/formfiller/cffl_radiobutton.cpp
+++ b/fpdfsdk/formfiller/cffl_radiobutton.cpp
@@ -9,7 +9,7 @@
 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
 #include "fpdfsdk/cpdfsdk_widget.h"
 #include "fpdfsdk/formfiller/cffl_formfiller.h"
-#include "fpdfsdk/pdfwindow/PWL_SpecialButton.h"
+#include "fpdfsdk/pdfwindow/cpwl_special_button.h"
 #include "public/fpdf_fwlevent.h"
 
 CFFL_RadioButton::CFFL_RadioButton(CPDFSDK_FormFillEnvironment* pApp,
diff --git a/fpdfsdk/fpdf_sysfontinfo.cpp b/fpdfsdk/fpdf_sysfontinfo.cpp
index 28af1ac..897f2a2 100644
--- a/fpdfsdk/fpdf_sysfontinfo.cpp
+++ b/fpdfsdk/fpdf_sysfontinfo.cpp
@@ -14,7 +14,7 @@
 #include "core/fxge/fx_font.h"
 #include "core/fxge/ifx_systemfontinfo.h"
 #include "fpdfsdk/fsdk_define.h"
-#include "fpdfsdk/pdfwindow/PWL_FontMap.h"
+#include "fpdfsdk/pdfwindow/cpwl_font_map.h"
 #include "third_party/base/ptr_util.h"
 
 static_assert(FXFONT_ANSI_CHARSET == FX_CHARSET_ANSI, "Charset must match");
diff --git a/fpdfsdk/fxedit/fxet_edit.cpp b/fpdfsdk/fxedit/fxet_edit.cpp
index 0e86562..130a81d 100644
--- a/fpdfsdk/fxedit/fxet_edit.cpp
+++ b/fpdfsdk/fxedit/fxet_edit.cpp
@@ -27,8 +27,8 @@
 #include "core/fxge/cfx_renderdevice.h"
 #include "fpdfsdk/cfx_systemhandler.h"
 #include "fpdfsdk/fxedit/fx_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
-#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h"
 #include "third_party/base/ptr_util.h"
 #include "third_party/base/stl_util.h"
 
diff --git a/fpdfsdk/fxedit/fxet_list.cpp b/fpdfsdk/fxedit/fxet_list.cpp
index a3badf3..0b1a2ac 100644
--- a/fpdfsdk/fxedit/fxet_list.cpp
+++ b/fpdfsdk/fxedit/fxet_list.cpp
@@ -12,7 +12,7 @@
 #include "core/fpdfdoc/cpvt_word.h"
 #include "core/fxcrt/fx_extension.h"
 #include "fpdfsdk/fxedit/fxet_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_ListBox.h"
+#include "fpdfsdk/pdfwindow/cpwl_list_box.h"
 #include "third_party/base/stl_util.h"
 
 CFX_ListItem::CFX_ListItem()
diff --git a/fpdfsdk/javascript/Field.h b/fpdfsdk/javascript/Field.h
index 462c127..688c5de 100644
--- a/fpdfsdk/javascript/Field.h
+++ b/fpdfsdk/javascript/Field.h
@@ -13,7 +13,7 @@
 #include "core/fxcrt/cfx_observable.h"
 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
 #include "fpdfsdk/javascript/JS_Define.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"  // For CPWL_Color.
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"  // For CPWL_Color.
 
 class CPDFSDK_Widget;
 class Document;
diff --git a/fpdfsdk/javascript/color.h b/fpdfsdk/javascript/color.h
index 8d6187a..3e03dec 100644
--- a/fpdfsdk/javascript/color.h
+++ b/fpdfsdk/javascript/color.h
@@ -10,7 +10,7 @@
 #include <vector>
 
 #include "fpdfsdk/javascript/JS_Define.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class color : public CJS_EmbedObj {
  public:
diff --git a/fpdfsdk/pdfwindow/PWL_Button.cpp b/fpdfsdk/pdfwindow/cpwl_button.cpp
similarity index 86%
rename from fpdfsdk/pdfwindow/PWL_Button.cpp
rename to fpdfsdk/pdfwindow/cpwl_button.cpp
index 96be469..de9054a 100644
--- a/fpdfsdk/pdfwindow/PWL_Button.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_button.cpp
@@ -4,9 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Button.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_button.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 CPWL_Button::CPWL_Button() : m_bMouseDown(false) {}
 
diff --git a/fpdfsdk/pdfwindow/PWL_Button.h b/fpdfsdk/pdfwindow/cpwl_button.h
similarity index 78%
rename from fpdfsdk/pdfwindow/PWL_Button.h
rename to fpdfsdk/pdfwindow/cpwl_button.h
index 2d1193f..9f4a477 100644
--- a/fpdfsdk/pdfwindow/PWL_Button.h
+++ b/fpdfsdk/pdfwindow/cpwl_button.h
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_BUTTON_H_
-#define FPDFSDK_PDFWINDOW_PWL_BUTTON_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_BUTTON_H_
+#define FPDFSDK_PDFWINDOW_CPWL_BUTTON_H_
 
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CPWL_Button : public CPWL_Wnd {
  public:
@@ -24,4 +24,4 @@
   bool m_bMouseDown;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_BUTTON_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_BUTTON_H_
diff --git a/fpdfsdk/pdfwindow/PWL_Caret.cpp b/fpdfsdk/pdfwindow/cpwl_caret.cpp
similarity index 96%
rename from fpdfsdk/pdfwindow/PWL_Caret.cpp
rename to fpdfsdk/pdfwindow/cpwl_caret.cpp
index 3658fbc..3275dd1 100644
--- a/fpdfsdk/pdfwindow/PWL_Caret.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_caret.cpp
@@ -4,13 +4,13 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Caret.h"
+#include "fpdfsdk/pdfwindow/cpwl_caret.h"
 
 #include "core/fxge/cfx_graphstatedata.h"
 #include "core/fxge/cfx_pathdata.h"
 #include "core/fxge/cfx_renderdevice.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 #define PWL_CARET_FLASHINTERVAL 500
 
diff --git a/fpdfsdk/pdfwindow/PWL_Caret.h b/fpdfsdk/pdfwindow/cpwl_caret.h
similarity index 89%
rename from fpdfsdk/pdfwindow/PWL_Caret.h
rename to fpdfsdk/pdfwindow/cpwl_caret.h
index 7c041f4..325f13b 100644
--- a/fpdfsdk/pdfwindow/PWL_Caret.h
+++ b/fpdfsdk/pdfwindow/cpwl_caret.h
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_CARET_H_
-#define FPDFSDK_PDFWINDOW_PWL_CARET_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_CARET_H_
+#define FPDFSDK_PDFWINDOW_CPWL_CARET_H_
 
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 struct PWL_CARET_INFO {
  public:
@@ -50,4 +50,4 @@
   CFX_FloatRect m_rcInvalid;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_CARET_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_CARET_H_
diff --git a/fpdfsdk/pdfwindow/PWL_ComboBox.cpp b/fpdfsdk/pdfwindow/cpwl_combo_box.cpp
similarity index 98%
rename from fpdfsdk/pdfwindow/PWL_ComboBox.cpp
rename to fpdfsdk/pdfwindow/cpwl_combo_box.cpp
index a4dbeab..4278680 100644
--- a/fpdfsdk/pdfwindow/PWL_ComboBox.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_combo_box.cpp
@@ -4,18 +4,18 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_ComboBox.h"
+#include "fpdfsdk/pdfwindow/cpwl_combo_box.h"
 
 #include <algorithm>
 
 #include "core/fxge/cfx_pathdata.h"
 #include "core/fxge/cfx_renderdevice.h"
 #include "fpdfsdk/fxedit/fxet_list.h"
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
-#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
-#include "fpdfsdk/pdfwindow/PWL_ListBox.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h"
+#include "fpdfsdk/pdfwindow/cpwl_list_box.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 #include "public/fpdf_fwlevent.h"
 
 #define PWLCB_DEFAULTFONTSIZE 12.0f
diff --git a/fpdfsdk/pdfwindow/PWL_ComboBox.h b/fpdfsdk/pdfwindow/cpwl_combo_box.h
similarity index 91%
rename from fpdfsdk/pdfwindow/PWL_ComboBox.h
rename to fpdfsdk/pdfwindow/cpwl_combo_box.h
index 9211777..71bd1a9 100644
--- a/fpdfsdk/pdfwindow/PWL_ComboBox.h
+++ b/fpdfsdk/pdfwindow/cpwl_combo_box.h
@@ -4,15 +4,15 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_COMBOBOX_H_
-#define FPDFSDK_PDFWINDOW_PWL_COMBOBOX_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_COMBO_BOX_H_
+#define FPDFSDK_PDFWINDOW_CPWL_COMBO_BOX_H_
 
 #include <memory>
 
 #include "core/fxcrt/cfx_unowned_ptr.h"
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
-#include "fpdfsdk/pdfwindow/PWL_ListBox.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_list_box.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CPWL_CBEdit : public CPWL_Edit {
  public:
@@ -104,4 +104,4 @@
   CFX_UnownedPtr<CFFL_FormFiller> m_pFormFiller;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_COMBOBOX_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_COMBO_BOX_H_
diff --git a/fpdfsdk/pdfwindow/PWL_Edit.cpp b/fpdfsdk/pdfwindow/cpwl_edit.cpp
similarity index 97%
rename from fpdfsdk/pdfwindow/PWL_Edit.cpp
rename to fpdfsdk/pdfwindow/cpwl_edit.cpp
index a2f1c89..fd785e0 100644
--- a/fpdfsdk/pdfwindow/PWL_Edit.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_edit.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
 
 #include <algorithm>
 #include <memory>
@@ -20,12 +20,12 @@
 #include "core/fxge/cfx_renderdevice.h"
 #include "core/fxge/fx_font.h"
 #include "fpdfsdk/fxedit/fxet_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Caret.h"
-#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
-#include "fpdfsdk/pdfwindow/PWL_FontMap.h"
-#include "fpdfsdk/pdfwindow/PWL_ScrollBar.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_caret.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h"
+#include "fpdfsdk/pdfwindow/cpwl_font_map.h"
+#include "fpdfsdk/pdfwindow/cpwl_scroll_bar.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 #include "public/fpdf_fwlevent.h"
 #include "third_party/base/stl_util.h"
 
@@ -637,10 +637,10 @@
 }
 
 /**
-*In case of implementation swallow the OnKeyDown event.
-*If the event is swallowed, implementation may do other unexpected things, which
-*is not the control means to do.
-*/
+ *In case of implementation swallow the OnKeyDown event.
+ *If the event is swallowed, implementation may do other unexpected things,
+ *which is not the control means to do.
+ */
 bool CPWL_Edit::IsProceedtoOnChar(uint16_t nKeyCode, uint32_t nFlag) {
   bool bCtrl = IsCTRLpressed(nFlag);
   bool bAlt = IsALTpressed(nFlag);
diff --git a/fpdfsdk/pdfwindow/PWL_Edit.h b/fpdfsdk/pdfwindow/cpwl_edit.h
similarity index 96%
rename from fpdfsdk/pdfwindow/PWL_Edit.h
rename to fpdfsdk/pdfwindow/cpwl_edit.h
index 6fc02ca..1ed01b9 100644
--- a/fpdfsdk/pdfwindow/PWL_Edit.h
+++ b/fpdfsdk/pdfwindow/cpwl_edit.h
@@ -4,13 +4,13 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_EDIT_H_
-#define FPDFSDK_PDFWINDOW_PWL_EDIT_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_EDIT_H_
+#define FPDFSDK_PDFWINDOW_CPWL_EDIT_H_
 
 #include "core/fpdfdoc/cpvt_wordrange.h"
 #include "core/fxcrt/cfx_unowned_ptr.h"
 #include "core/fxcrt/fx_basic.h"
-#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h"
 
 class IPWL_Filler_Notify {
  public:
@@ -136,4 +136,4 @@
   CFX_UnownedPtr<CFFL_FormFiller> m_pFormFiller;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_EDIT_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_EDIT_H_
diff --git a/fpdfsdk/pdfwindow/PWL_EditCtrl.cpp b/fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp
similarity index 97%
rename from fpdfsdk/pdfwindow/PWL_EditCtrl.cpp
rename to fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp
index c149e80..9c22cea 100644
--- a/fpdfsdk/pdfwindow/PWL_EditCtrl.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp
@@ -4,17 +4,17 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h"
 
 #include "core/fpdfdoc/cpvt_section.h"
 #include "core/fpdfdoc/cpvt_word.h"
 #include "core/fxge/fx_font.h"
 #include "fpdfsdk/fxedit/fxet_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Caret.h"
-#include "fpdfsdk/pdfwindow/PWL_FontMap.h"
-#include "fpdfsdk/pdfwindow/PWL_ScrollBar.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_caret.h"
+#include "fpdfsdk/pdfwindow/cpwl_font_map.h"
+#include "fpdfsdk/pdfwindow/cpwl_scroll_bar.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 #include "public/fpdf_fwlevent.h"
 
 CPWL_EditCtrl::CPWL_EditCtrl()
diff --git a/fpdfsdk/pdfwindow/PWL_EditCtrl.h b/fpdfsdk/pdfwindow/cpwl_edit_ctrl.h
similarity index 94%
rename from fpdfsdk/pdfwindow/PWL_EditCtrl.h
rename to fpdfsdk/pdfwindow/cpwl_edit_ctrl.h
index 623079b..59bb623 100644
--- a/fpdfsdk/pdfwindow/PWL_EditCtrl.h
+++ b/fpdfsdk/pdfwindow/cpwl_edit_ctrl.h
@@ -4,13 +4,13 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_EDITCTRL_H_
-#define FPDFSDK_PDFWINDOW_PWL_EDITCTRL_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_EDIT_CTRL_H_
+#define FPDFSDK_PDFWINDOW_CPWL_EDIT_CTRL_H_
 
 #include <memory>
 
 #include "core/fxcrt/fx_string.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CFX_Edit;
 class CPWL_Caret;
@@ -105,4 +105,4 @@
   int32_t m_nCharSet;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_EDITCTRL_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_EDIT_CTRL_H_
diff --git a/fpdfsdk/pdfwindow/PWL_FontMap.cpp b/fpdfsdk/pdfwindow/cpwl_font_map.cpp
similarity index 99%
rename from fpdfsdk/pdfwindow/PWL_FontMap.cpp
rename to fpdfsdk/pdfwindow/cpwl_font_map.cpp
index c981f18..f0c74ba 100644
--- a/fpdfsdk/pdfwindow/PWL_FontMap.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_font_map.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_FontMap.h"
+#include "fpdfsdk/pdfwindow/cpwl_font_map.h"
 
 #include <utility>
 
@@ -15,7 +15,7 @@
 #include "core/fpdfapi/parser/cpdf_parser.h"
 #include "core/fpdfdoc/ipvt_fontmap.h"
 #include "core/fxcrt/fx_codepage.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 #include "third_party/base/ptr_util.h"
 #include "third_party/base/stl_util.h"
 
diff --git a/fpdfsdk/pdfwindow/PWL_FontMap.h b/fpdfsdk/pdfwindow/cpwl_font_map.h
similarity index 95%
rename from fpdfsdk/pdfwindow/PWL_FontMap.h
rename to fpdfsdk/pdfwindow/cpwl_font_map.h
index ca3ab23..de7a944 100644
--- a/fpdfsdk/pdfwindow/PWL_FontMap.h
+++ b/fpdfsdk/pdfwindow/cpwl_font_map.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_FONTMAP_H_
-#define FPDFSDK_PDFWINDOW_PWL_FONTMAP_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_FONT_MAP_H_
+#define FPDFSDK_PDFWINDOW_CPWL_FONT_MAP_H_
 
 #include <memory>
 #include <vector>
@@ -93,4 +93,4 @@
   CFX_UnownedPtr<CFX_SystemHandler> const m_pSystemHandler;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_FONTMAP_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_FONT_MAP_H_
diff --git a/fpdfsdk/pdfwindow/PWL_Icon.cpp b/fpdfsdk/pdfwindow/cpwl_icon.cpp
similarity index 97%
rename from fpdfsdk/pdfwindow/PWL_Icon.cpp
rename to fpdfsdk/pdfwindow/cpwl_icon.cpp
index e1397bf..1464a09 100644
--- a/fpdfsdk/pdfwindow/PWL_Icon.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_icon.cpp
@@ -4,14 +4,14 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Icon.h"
+#include "fpdfsdk/pdfwindow/cpwl_icon.h"
 
 #include <algorithm>
 
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_stream.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 CPWL_Image::CPWL_Image() : m_pPDFStream(nullptr) {}
 
diff --git a/fpdfsdk/pdfwindow/PWL_Icon.h b/fpdfsdk/pdfwindow/cpwl_icon.h
similarity index 89%
rename from fpdfsdk/pdfwindow/PWL_Icon.h
rename to fpdfsdk/pdfwindow/cpwl_icon.h
index c5d116b..c7b8cb4 100644
--- a/fpdfsdk/pdfwindow/PWL_Icon.h
+++ b/fpdfsdk/pdfwindow/cpwl_icon.h
@@ -4,12 +4,12 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_ICON_H_
-#define FPDFSDK_PDFWINDOW_PWL_ICON_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_ICON_H_
+#define FPDFSDK_PDFWINDOW_CPWL_ICON_H_
 
 #include "core/fxcrt/cfx_unowned_ptr.h"
 #include "core/fxcrt/fx_string.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CPWL_Image : public CPWL_Wnd {
  public:
@@ -55,4 +55,4 @@
   CFX_UnownedPtr<CPDF_IconFit> m_pIconFit;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_ICON_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_ICON_H_
diff --git a/fpdfsdk/pdfwindow/PWL_ListBox.cpp b/fpdfsdk/pdfwindow/cpwl_list_box.cpp
similarity index 97%
rename from fpdfsdk/pdfwindow/PWL_ListBox.cpp
rename to fpdfsdk/pdfwindow/cpwl_list_box.cpp
index 09487c3..5c161bf 100644
--- a/fpdfsdk/pdfwindow/PWL_ListBox.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_list_box.cpp
@@ -4,15 +4,15 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_ListBox.h"
+#include "fpdfsdk/pdfwindow/cpwl_list_box.h"
 
 #include "fpdfsdk/fxedit/fxet_edit.h"
 #include "fpdfsdk/fxedit/fxet_list.h"
-#include "fpdfsdk/pdfwindow/PWL_Edit.h"
-#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
-#include "fpdfsdk/pdfwindow/PWL_ScrollBar.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit.h"
+#include "fpdfsdk/pdfwindow/cpwl_edit_ctrl.h"
+#include "fpdfsdk/pdfwindow/cpwl_scroll_bar.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 #include "public/fpdf_fwlevent.h"
 #include "third_party/base/ptr_util.h"
 
@@ -70,8 +70,7 @@
       m_bHoverSel(false),
       m_pFillerNotify(nullptr) {}
 
-CPWL_ListBox::~CPWL_ListBox() {
-}
+CPWL_ListBox::~CPWL_ListBox() {}
 
 CFX_ByteString CPWL_ListBox::GetClassName() const {
   return "CPWL_ListBox";
diff --git a/fpdfsdk/pdfwindow/PWL_ListBox.h b/fpdfsdk/pdfwindow/cpwl_list_box.h
similarity index 95%
rename from fpdfsdk/pdfwindow/PWL_ListBox.h
rename to fpdfsdk/pdfwindow/cpwl_list_box.h
index 75d23bb..6cf37ae 100644
--- a/fpdfsdk/pdfwindow/PWL_ListBox.h
+++ b/fpdfsdk/pdfwindow/cpwl_list_box.h
@@ -4,14 +4,14 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_
-#define FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_LIST_BOX_H_
+#define FPDFSDK_PDFWINDOW_CPWL_LIST_BOX_H_
 
 #include <memory>
 
 #include "core/fxcrt/cfx_unowned_ptr.h"
 #include "fpdfsdk/fxedit/fx_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CFX_ListCtrl;
 class CPWL_List_Notify;
@@ -115,4 +115,4 @@
   CFX_UnownedPtr<CFFL_FormFiller> m_pFormFiller;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_LIST_BOX_H_
diff --git a/fpdfsdk/pdfwindow/PWL_ScrollBar.cpp b/fpdfsdk/pdfwindow/cpwl_scroll_bar.cpp
similarity index 99%
rename from fpdfsdk/pdfwindow/PWL_ScrollBar.cpp
rename to fpdfsdk/pdfwindow/cpwl_scroll_bar.cpp
index 36ee5c7..2f234b2 100644
--- a/fpdfsdk/pdfwindow/PWL_ScrollBar.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_scroll_bar.cpp
@@ -4,12 +4,12 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_ScrollBar.h"
+#include "fpdfsdk/pdfwindow/cpwl_scroll_bar.h"
 
 #include "core/fxge/cfx_pathdata.h"
 #include "core/fxge/cfx_renderdevice.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 PWL_FLOATRANGE::PWL_FLOATRANGE() {
   Default();
diff --git a/fpdfsdk/pdfwindow/PWL_ScrollBar.h b/fpdfsdk/pdfwindow/cpwl_scroll_bar.h
similarity index 96%
rename from fpdfsdk/pdfwindow/PWL_ScrollBar.h
rename to fpdfsdk/pdfwindow/cpwl_scroll_bar.h
index 165d0e0..0ab2928 100644
--- a/fpdfsdk/pdfwindow/PWL_ScrollBar.h
+++ b/fpdfsdk/pdfwindow/cpwl_scroll_bar.h
@@ -4,11 +4,11 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_SCROLLBAR_H_
-#define FPDFSDK_PDFWINDOW_PWL_SCROLLBAR_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_SCROLL_BAR_H_
+#define FPDFSDK_PDFWINDOW_CPWL_SCROLL_BAR_H_
 
 #include "core/fxcrt/cfx_unowned_ptr.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CPWL_SBButton;
 class CPWL_ScrollBar;
@@ -182,4 +182,4 @@
   float m_fOldPosButton;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_SCROLLBAR_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_SCROLL_BAR_H_
diff --git a/fpdfsdk/pdfwindow/PWL_SpecialButton.cpp b/fpdfsdk/pdfwindow/cpwl_special_button.cpp
similarity index 90%
rename from fpdfsdk/pdfwindow/PWL_SpecialButton.cpp
rename to fpdfsdk/pdfwindow/cpwl_special_button.cpp
index d2a1321..56aa739 100644
--- a/fpdfsdk/pdfwindow/PWL_SpecialButton.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_special_button.cpp
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Button.h"
-#include "fpdfsdk/pdfwindow/PWL_SpecialButton.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_special_button.h"
+#include "fpdfsdk/pdfwindow/cpwl_button.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 CPWL_PushButton::CPWL_PushButton() {}
 
diff --git a/fpdfsdk/pdfwindow/PWL_SpecialButton.h b/fpdfsdk/pdfwindow/cpwl_special_button.h
similarity index 86%
rename from fpdfsdk/pdfwindow/PWL_SpecialButton.h
rename to fpdfsdk/pdfwindow/cpwl_special_button.h
index 93f611b..ed80d31 100644
--- a/fpdfsdk/pdfwindow/PWL_SpecialButton.h
+++ b/fpdfsdk/pdfwindow/cpwl_special_button.h
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_SPECIALBUTTON_H_
-#define FPDFSDK_PDFWINDOW_PWL_SPECIALBUTTON_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_SPECIAL_BUTTON_H_
+#define FPDFSDK_PDFWINDOW_CPWL_SPECIAL_BUTTON_H_
 
-#include "fpdfsdk/pdfwindow/PWL_Button.h"
+#include "fpdfsdk/pdfwindow/cpwl_button.h"
 
 class CPWL_PushButton : public CPWL_Button {
  public:
@@ -53,4 +53,4 @@
   bool m_bChecked;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_SPECIALBUTTON_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_SPECIAL_BUTTON_H_
diff --git a/fpdfsdk/pdfwindow/PWL_Utils.cpp b/fpdfsdk/pdfwindow/cpwl_utils.cpp
similarity index 97%
rename from fpdfsdk/pdfwindow/PWL_Utils.cpp
rename to fpdfsdk/pdfwindow/cpwl_utils.cpp
index dbac6ad..0a35919 100644
--- a/fpdfsdk/pdfwindow/PWL_Utils.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_utils.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
 
 #include <algorithm>
 #include <memory>
@@ -14,8 +14,8 @@
 #include "core/fxge/cfx_pathdata.h"
 #include "core/fxge/cfx_renderdevice.h"
 #include "fpdfsdk/fxedit/fxet_edit.h"
-#include "fpdfsdk/pdfwindow/PWL_Icon.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_icon.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 CFX_FloatRect CPWL_Utils::OffsetRect(const CFX_FloatRect& rect,
                                      float x,
@@ -703,7 +703,9 @@
       case BorderStyle::UNDERLINE: {
         sColor = CPWL_Utils::GetColorAppStream(color, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fWidth << " w\n" << sColor
+          sAppStream << "q\n"
+                     << fWidth << " w\n"
+                     << sColor
                      << CPWL_Utils::GetAP_Circle(
                             CPWL_Utils::DeflateRect(rect, fWidth / 2.0f))
                      << " S\nQ\n";
@@ -712,9 +714,11 @@
       case BorderStyle::DASH: {
         sColor = CPWL_Utils::GetColorAppStream(color, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fWidth << " w\n"
+          sAppStream << "q\n"
+                     << fWidth << " w\n"
                      << "[" << dash.nDash << " " << dash.nGap << "] "
-                     << dash.nPhase << " d\n" << sColor
+                     << dash.nPhase << " d\n"
+                     << sColor
                      << CPWL_Utils::GetAP_Circle(
                             CPWL_Utils::DeflateRect(rect, fWidth / 2.0f))
                      << " S\nQ\n";
@@ -725,13 +729,16 @@
 
         sColor = CPWL_Utils::GetColorAppStream(color, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fHalfWidth << " w\n" << sColor
-                     << CPWL_Utils::GetAP_Circle(rect) << " S\nQ\n";
+          sAppStream << "q\n"
+                     << fHalfWidth << " w\n"
+                     << sColor << CPWL_Utils::GetAP_Circle(rect) << " S\nQ\n";
         }
 
         sColor = CPWL_Utils::GetColorAppStream(crLeftTop, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fHalfWidth << " w\n" << sColor
+          sAppStream << "q\n"
+                     << fHalfWidth << " w\n"
+                     << sColor
                      << CPWL_Utils::GetAP_HalfCircle(
                             CPWL_Utils::DeflateRect(rect, fHalfWidth * 0.75f),
                             FX_PI / 4.0f)
@@ -740,7 +747,9 @@
 
         sColor = CPWL_Utils::GetColorAppStream(crRightBottom, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fHalfWidth << " w\n" << sColor
+          sAppStream << "q\n"
+                     << fHalfWidth << " w\n"
+                     << sColor
                      << CPWL_Utils::GetAP_HalfCircle(
                             CPWL_Utils::DeflateRect(rect, fHalfWidth * 0.75f),
                             FX_PI * 5 / 4.0f)
@@ -752,13 +761,16 @@
 
         sColor = CPWL_Utils::GetColorAppStream(color, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fHalfWidth << " w\n" << sColor
-                     << CPWL_Utils::GetAP_Circle(rect) << " S\nQ\n";
+          sAppStream << "q\n"
+                     << fHalfWidth << " w\n"
+                     << sColor << CPWL_Utils::GetAP_Circle(rect) << " S\nQ\n";
         }
 
         sColor = CPWL_Utils::GetColorAppStream(crLeftTop, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fHalfWidth << " w\n" << sColor
+          sAppStream << "q\n"
+                     << fHalfWidth << " w\n"
+                     << sColor
                      << CPWL_Utils::GetAP_HalfCircle(
                             CPWL_Utils::DeflateRect(rect, fHalfWidth * 0.75f),
                             FX_PI / 4.0f)
@@ -767,7 +779,9 @@
 
         sColor = CPWL_Utils::GetColorAppStream(crRightBottom, false);
         if (sColor.GetLength() > 0) {
-          sAppStream << "q\n" << fHalfWidth << " w\n" << sColor
+          sAppStream << "q\n"
+                     << fHalfWidth << " w\n"
+                     << sColor
                      << CPWL_Utils::GetAP_HalfCircle(
                             CPWL_Utils::DeflateRect(rect, fHalfWidth * 0.75f),
                             FX_PI * 5 / 4.0f)
@@ -1152,4 +1166,3 @@
     }
   }
 }
-
diff --git a/fpdfsdk/pdfwindow/PWL_Utils.h b/fpdfsdk/pdfwindow/cpwl_utils.h
similarity index 97%
rename from fpdfsdk/pdfwindow/PWL_Utils.h
rename to fpdfsdk/pdfwindow/cpwl_utils.h
index 29fe239..297eb89 100644
--- a/fpdfsdk/pdfwindow/PWL_Utils.h
+++ b/fpdfsdk/pdfwindow/cpwl_utils.h
@@ -4,11 +4,11 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_UTILS_H_
-#define FPDFSDK_PDFWINDOW_PWL_UTILS_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_UTILS_H_
+#define FPDFSDK_PDFWINDOW_CPWL_UTILS_H_
 
 #include "core/fpdfdoc/cpvt_wordrange.h"
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 class CFX_Edit;
 struct CPWL_Color;
@@ -159,4 +159,4 @@
                                          float fRotate);
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_UTILS_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_UTILS_H_
diff --git a/fpdfsdk/pdfwindow/PWL_Wnd.cpp b/fpdfsdk/pdfwindow/cpwl_wnd.cpp
similarity index 99%
rename from fpdfsdk/pdfwindow/PWL_Wnd.cpp
rename to fpdfsdk/pdfwindow/cpwl_wnd.cpp
index 151921b..57e2643 100644
--- a/fpdfsdk/pdfwindow/PWL_Wnd.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_wnd.cpp
@@ -4,13 +4,13 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+#include "fpdfsdk/pdfwindow/cpwl_wnd.h"
 
 #include <map>
 #include <vector>
 
-#include "fpdfsdk/pdfwindow/PWL_ScrollBar.h"
-#include "fpdfsdk/pdfwindow/PWL_Utils.h"
+#include "fpdfsdk/pdfwindow/cpwl_scroll_bar.h"
+#include "fpdfsdk/pdfwindow/cpwl_utils.h"
 #include "third_party/base/ptr_util.h"
 #include "third_party/base/stl_util.h"
 
diff --git a/fpdfsdk/pdfwindow/PWL_Wnd.h b/fpdfsdk/pdfwindow/cpwl_wnd.h
similarity index 89%
rename from fpdfsdk/pdfwindow/PWL_Wnd.h
rename to fpdfsdk/pdfwindow/cpwl_wnd.h
index d9d2f8e..86b0c66 100644
--- a/fpdfsdk/pdfwindow/PWL_Wnd.h
+++ b/fpdfsdk/pdfwindow/cpwl_wnd.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FPDFSDK_PDFWINDOW_PWL_WND_H_
-#define FPDFSDK_PDFWINDOW_PWL_WND_H_
+#ifndef FPDFSDK_PDFWINDOW_CPWL_WND_H_
+#define FPDFSDK_PDFWINDOW_CPWL_WND_H_
 
 #include <memory>
 #include <vector>
@@ -180,26 +180,26 @@
     mtChild.SetIdentity();
   }
 
-  CFX_FloatRect rcRectWnd;            // required
-  CFX_SystemHandler* pSystemHandler;  // required
-  IPVT_FontMap* pFontMap;             // required
-  IPWL_Provider::ObservedPtr pProvider;  // required
-  IPWL_FocusHandler* pFocusHandler;   // optional
-  uint32_t dwFlags;                   // optional
-  CPWL_Color sBackgroundColor;        // optional
+  CFX_FloatRect rcRectWnd;                      // required
+  CFX_SystemHandler* pSystemHandler;            // required
+  IPVT_FontMap* pFontMap;                       // required
+  IPWL_Provider::ObservedPtr pProvider;         // required
+  IPWL_FocusHandler* pFocusHandler;             // optional
+  uint32_t dwFlags;                             // optional
+  CPWL_Color sBackgroundColor;                  // optional
   CPDFSDK_Widget::ObservedPtr pAttachedWidget;  // required
-  BorderStyle nBorderStyle;           // optional
-  int32_t dwBorderWidth;              // optional
-  CPWL_Color sBorderColor;            // optional
-  CPWL_Color sTextColor;              // optional
-  int32_t nTransparency;              // optional
-  float fFontSize;                    // optional
-  CPWL_Dash sDash;                    // optional
-  void* pAttachedData;                // optional
-  CPWL_Wnd* pParentWnd;               // ignore
-  CPWL_MsgControl* pMsgControl;       // ignore
-  int32_t eCursorType;                // ignore
-  CFX_Matrix mtChild;                 // ignore
+  BorderStyle nBorderStyle;                     // optional
+  int32_t dwBorderWidth;                        // optional
+  CPWL_Color sBorderColor;                      // optional
+  CPWL_Color sTextColor;                        // optional
+  int32_t nTransparency;                        // optional
+  float fFontSize;                              // optional
+  CPWL_Dash sDash;                              // optional
+  void* pAttachedData;                          // optional
+  CPWL_Wnd* pParentWnd;                         // ignore
+  CPWL_MsgControl* pMsgControl;                 // ignore
+  int32_t eCursorType;                          // ignore
+  CFX_Matrix mtChild;                           // ignore
 };
 
 class CPWL_Wnd : public CPWL_TimerHandler {
@@ -367,4 +367,4 @@
   bool m_bEnabled;
 };
 
-#endif  // FPDFSDK_PDFWINDOW_PWL_WND_H_
+#endif  // FPDFSDK_PDFWINDOW_CPWL_WND_H_
