diff --git a/xfa/fxfa/layout/cxfa_layoutprocessor.cpp b/xfa/fxfa/layout/cxfa_layoutprocessor.cpp
index b436da5..e84c262 100644
--- a/xfa/fxfa/layout/cxfa_layoutprocessor.cpp
+++ b/xfa/fxfa/layout/cxfa_layoutprocessor.cpp
@@ -35,7 +35,7 @@
 }
 
 int32_t CXFA_LayoutProcessor::StartLayout(bool bForceRestart) {
-  if (!bForceRestart && !IsNeedLayout())
+  if (!bForceRestart && !NeedLayout())
     return 100;
 
   m_pContentLayoutProcessor.reset();
@@ -133,6 +133,6 @@
                                 : nullptr;
 }
 
-bool CXFA_LayoutProcessor::IsNeedLayout() {
+bool CXFA_LayoutProcessor::NeedLayout() const {
   return m_bNeedLayout || !m_rgChangedContainers.empty();
 }
diff --git a/xfa/fxfa/layout/cxfa_layoutprocessor.h b/xfa/fxfa/layout/cxfa_layoutprocessor.h
index 29cd3d6..5b6730a 100644
--- a/xfa/fxfa/layout/cxfa_layoutprocessor.h
+++ b/xfa/fxfa/layout/cxfa_layoutprocessor.h
@@ -46,7 +46,7 @@
   }
 
  private:
-  bool IsNeedLayout();
+  bool NeedLayout() const;
 
   std::unique_ptr<CXFA_ViewLayoutProcessor> m_pViewLayoutProcessor;
   std::unique_ptr<CXFA_ContentLayoutProcessor> m_pContentLayoutProcessor;
diff --git a/xfa/fxfa/layout/cxfa_viewlayoutprocessor.cpp b/xfa/fxfa/layout/cxfa_viewlayoutprocessor.cpp
index 0ff1777..c6f1e00 100644
--- a/xfa/fxfa/layout/cxfa_viewlayoutprocessor.cpp
+++ b/xfa/fxfa/layout/cxfa_viewlayoutprocessor.cpp
@@ -329,15 +329,7 @@
 
 }  // namespace
 
-class CXFA_ViewRecord {
- public:
-  CXFA_ViewRecord(CXFA_ViewLayoutItem* pPageSet = nullptr,
-                  CXFA_ViewLayoutItem* pPageArea = nullptr,
-                  CXFA_ViewLayoutItem* pContentArea = nullptr)
-      : pCurPageSet(pPageSet),
-        pCurPageArea(pPageArea),
-        pCurContentArea(pContentArea) {}
-
+struct CXFA_ViewRecord {
   RetainPtr<CXFA_ViewLayoutItem> pCurPageSet;
   RetainPtr<CXFA_ViewLayoutItem> pCurPageArea;
   RetainPtr<CXFA_ViewLayoutItem> pCurContentArea;
diff --git a/xfa/fxfa/layout/cxfa_viewlayoutprocessor.h b/xfa/fxfa/layout/cxfa_viewlayoutprocessor.h
index 0e2577b..ec7778e 100644
--- a/xfa/fxfa/layout/cxfa_viewlayoutprocessor.h
+++ b/xfa/fxfa/layout/cxfa_viewlayoutprocessor.h
@@ -19,7 +19,7 @@
 
 class CXFA_LayoutItem;
 class CXFA_Node;
-class CXFA_ViewRecord;
+struct CXFA_ViewRecord;
 
 class CXFA_ViewLayoutProcessor {
  public:
