diff --git a/xfa/fxfa/BUILD.gn b/xfa/fxfa/BUILD.gn
index ba07acb..2eb80ce 100644
--- a/xfa/fxfa/BUILD.gn
+++ b/xfa/fxfa/BUILD.gn
@@ -116,6 +116,7 @@
     "../fgas/layout",
     "../fwl",
     "../fxgraphics",
+    "layout",
     "parser",
   ]
   allow_circular_includes_from = [
@@ -123,6 +124,7 @@
     "../fgas",
     "../fgas/layout",
     "../fwl",
+    "layout",
     "parser",
   ]
   configs += [
diff --git a/xfa/fxfa/cxfa_ffdocview.cpp b/xfa/fxfa/cxfa_ffdocview.cpp
index b433562..6f61f0c 100644
--- a/xfa/fxfa/cxfa_ffdocview.cpp
+++ b/xfa/fxfa/cxfa_ffdocview.cpp
@@ -30,10 +30,10 @@
 #include "xfa/fxfa/cxfa_fwladapterwidgetmgr.h"
 #include "xfa/fxfa/cxfa_readynodeiterator.h"
 #include "xfa/fxfa/cxfa_textprovider.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_acrobat.h"
 #include "xfa/fxfa/parser/cxfa_binditems.h"
 #include "xfa/fxfa/parser/cxfa_calculate.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_pageset.h"
 #include "xfa/fxfa/parser/cxfa_present.h"
 #include "xfa/fxfa/parser/cxfa_subform.h"
diff --git a/xfa/fxfa/cxfa_ffpageview.h b/xfa/fxfa/cxfa_ffpageview.h
index 16477fa..8b143ad 100644
--- a/xfa/fxfa/cxfa_ffpageview.h
+++ b/xfa/fxfa/cxfa_ffpageview.h
@@ -10,9 +10,9 @@
 #include <memory>
 #include <vector>
 
-#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
-#include "xfa/fxfa/parser/cxfa_traversestrategy_layoutitem.h"
+#include "xfa/fxfa/layout/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_traversestrategy_layoutitem.h"
 
 class CXFA_FFWidget;
 class CXFA_FFDocView;
diff --git a/xfa/fxfa/cxfa_ffwidget.cpp b/xfa/fxfa/cxfa_ffwidget.cpp
index 6401f9e..1c25af5 100644
--- a/xfa/fxfa/cxfa_ffwidget.cpp
+++ b/xfa/fxfa/cxfa_ffwidget.cpp
@@ -25,10 +25,10 @@
 #include "xfa/fxfa/cxfa_ffdocview.h"
 #include "xfa/fxfa/cxfa_ffpageview.h"
 #include "xfa/fxfa/cxfa_imagerenderer.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_border.h"
 #include "xfa/fxfa/parser/cxfa_box.h"
 #include "xfa/fxfa/parser/cxfa_image.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_margin.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
 #include "xfa/fxgraphics/cxfa_graphics.h"
diff --git a/xfa/fxfa/cxfa_ffwidget.h b/xfa/fxfa/cxfa_ffwidget.h
index 7ed3d88..fbd9266 100644
--- a/xfa/fxfa/cxfa_ffwidget.h
+++ b/xfa/fxfa/cxfa_ffwidget.h
@@ -15,7 +15,7 @@
 #include "xfa/fwl/cfwl_app.h"
 #include "xfa/fwl/cfwl_messagemouse.h"
 #include "xfa/fxfa/fxfa.h"
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
 
 class CFX_DIBitmap;
 class CXFA_Box;
diff --git a/xfa/fxfa/cxfa_ffwidgethandler.cpp b/xfa/fxfa/cxfa_ffwidgethandler.cpp
index 73e88f8..7eb49df 100644
--- a/xfa/fxfa/cxfa_ffwidgethandler.cpp
+++ b/xfa/fxfa/cxfa_ffwidgethandler.cpp
@@ -14,9 +14,9 @@
 #include "xfa/fxfa/cxfa_fffield.h"
 #include "xfa/fxfa/cxfa_ffwidget.h"
 #include "xfa/fxfa/cxfa_fwladapterwidgetmgr.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_calculate.h"
 #include "xfa/fxfa/parser/cxfa_checkbutton.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_measurement.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
 #include "xfa/fxfa/parser/cxfa_ui.h"
diff --git a/xfa/fxfa/cxfa_textprovider.cpp b/xfa/fxfa/cxfa_textprovider.cpp
index 2070282..ead9e02 100644
--- a/xfa/fxfa/cxfa_textprovider.cpp
+++ b/xfa/fxfa/cxfa_textprovider.cpp
@@ -26,10 +26,10 @@
 #include "xfa/fxfa/cxfa_ffwidget.h"
 #include "xfa/fxfa/cxfa_fontmgr.h"
 #include "xfa/fxfa/cxfa_fwladapterwidgetmgr.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_caption.h"
 #include "xfa/fxfa/parser/cxfa_font.h"
 #include "xfa/fxfa/parser/cxfa_items.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_localevalue.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
 #include "xfa/fxfa/parser/cxfa_para.h"
diff --git a/xfa/fxfa/layout/BUILD.gn b/xfa/fxfa/layout/BUILD.gn
new file mode 100644
index 0000000..d7f25b1
--- /dev/null
+++ b/xfa/fxfa/layout/BUILD.gn
@@ -0,0 +1,39 @@
+# Copyright 2019 The PDFium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/jumbo.gni")
+import("../../../pdfium.gni")
+import("../../../testing/test.gni")
+
+assert(pdf_enable_xfa)
+
+jumbo_source_set("layout") {
+  sources = [
+    "cxfa_containerlayoutitem.cpp",
+    "cxfa_containerlayoutitem.h",
+    "cxfa_contentlayoutitem.cpp",
+    "cxfa_contentlayoutitem.h",
+    "cxfa_itemlayoutprocessor.cpp",
+    "cxfa_itemlayoutprocessor.h",
+    "cxfa_layoutcontext.cpp",
+    "cxfa_layoutcontext.h",
+    "cxfa_layoutitem.cpp",
+    "cxfa_layoutitem.h",
+    "cxfa_layoutpagemgr.cpp",
+    "cxfa_layoutpagemgr.h",
+    "cxfa_layoutprocessor.cpp",
+    "cxfa_layoutprocessor.h",
+    "cxfa_traversestrategy_contentareacontainerlayoutitem.h",
+    "cxfa_traversestrategy_layoutitem.h",
+  ]
+  deps = [
+    "../../../core/fxcrt",
+    "../../../fxjs",
+    "../parser",
+  ]
+  allow_circular_includes_from = [
+    "../../../fxjs",
+    "../parser",
+  ]
+}
diff --git a/xfa/fxfa/parser/cxfa_containerlayoutitem.cpp b/xfa/fxfa/layout/cxfa_containerlayoutitem.cpp
similarity index 91%
rename from xfa/fxfa/parser/cxfa_containerlayoutitem.cpp
rename to xfa/fxfa/layout/cxfa_containerlayoutitem.cpp
index d10e1b4..88b6e35 100644
--- a/xfa/fxfa/parser/cxfa_containerlayoutitem.cpp
+++ b/xfa/fxfa/layout/cxfa_containerlayoutitem.cpp
@@ -4,11 +4,11 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_containerlayoutitem.h"
 
 #include "fxjs/xfa/cjx_object.h"
-#include "xfa/fxfa/parser/cxfa_layoutpagemgr.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_layoutpagemgr.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_measurement.h"
 #include "xfa/fxfa/parser/cxfa_medium.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
diff --git a/xfa/fxfa/parser/cxfa_containerlayoutitem.h b/xfa/fxfa/layout/cxfa_containerlayoutitem.h
similarity index 74%
rename from xfa/fxfa/parser/cxfa_containerlayoutitem.h
rename to xfa/fxfa/layout/cxfa_containerlayoutitem.h
index c8cdf33..503e4e8 100644
--- a/xfa/fxfa/parser/cxfa_containerlayoutitem.h
+++ b/xfa/fxfa/layout/cxfa_containerlayoutitem.h
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_CONTAINERLAYOUTITEM_H_
-#define XFA_FXFA_PARSER_CXFA_CONTAINERLAYOUTITEM_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_CONTAINERLAYOUTITEM_H_
+#define XFA_FXFA_LAYOUT_CXFA_CONTAINERLAYOUTITEM_H_
 
-#include "xfa/fxfa/parser/cxfa_layoutitem.h"
+#include "xfa/fxfa/layout/cxfa_layoutitem.h"
 
 class CXFA_ContainerLayoutItem : public CXFA_LayoutItem {
  public:
@@ -22,4 +22,4 @@
   UnownedPtr<CXFA_Node> m_pOldSubform;
 };
 
-#endif  // XFA_FXFA_PARSER_CXFA_CONTAINERLAYOUTITEM_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_CONTAINERLAYOUTITEM_H_
diff --git a/xfa/fxfa/parser/cxfa_contentlayoutitem.cpp b/xfa/fxfa/layout/cxfa_contentlayoutitem.cpp
similarity index 98%
rename from xfa/fxfa/parser/cxfa_contentlayoutitem.cpp
rename to xfa/fxfa/layout/cxfa_contentlayoutitem.cpp
index 58e65e0..600d1b9 100644
--- a/xfa/fxfa/parser/cxfa_contentlayoutitem.cpp
+++ b/xfa/fxfa/layout/cxfa_contentlayoutitem.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
 
 #include "fxjs/xfa/cjx_object.h"
 #include "xfa/fxfa/parser/cxfa_margin.h"
diff --git a/xfa/fxfa/parser/cxfa_contentlayoutitem.h b/xfa/fxfa/layout/cxfa_contentlayoutitem.h
similarity index 85%
rename from xfa/fxfa/parser/cxfa_contentlayoutitem.h
rename to xfa/fxfa/layout/cxfa_contentlayoutitem.h
index b002e88..2f8316e 100644
--- a/xfa/fxfa/parser/cxfa_contentlayoutitem.h
+++ b/xfa/fxfa/layout/cxfa_contentlayoutitem.h
@@ -4,11 +4,11 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_CONTENTLAYOUTITEM_H_
-#define XFA_FXFA_PARSER_CXFA_CONTENTLAYOUTITEM_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_CONTENTLAYOUTITEM_H_
+#define XFA_FXFA_LAYOUT_CXFA_CONTENTLAYOUTITEM_H_
 
 #include "core/fxcrt/unowned_ptr.h"
-#include "xfa/fxfa/parser/cxfa_layoutitem.h"
+#include "xfa/fxfa/layout/cxfa_layoutitem.h"
 
 class CXFA_FFWidget;
 
@@ -43,4 +43,4 @@
   return item ? item->AsFFWidget() : nullptr;
 }
 
-#endif  // XFA_FXFA_PARSER_CXFA_CONTENTLAYOUTITEM_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_CONTENTLAYOUTITEM_H_
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp b/xfa/fxfa/layout/cxfa_itemlayoutprocessor.cpp
similarity index 99%
rename from xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
rename to xfa/fxfa/layout/cxfa_itemlayoutprocessor.cpp
index f91f3f0..324ad35 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
+++ b/xfa/fxfa/layout/cxfa_itemlayoutprocessor.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_itemlayoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_itemlayoutprocessor.h"
 
 #include <algorithm>
 #include <memory>
@@ -18,12 +18,12 @@
 #include "third_party/base/stl_util.h"
 #include "xfa/fxfa/cxfa_ffdoc.h"
 #include "xfa/fxfa/cxfa_ffnotify.h"
-#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_layoutcontext.h"
+#include "xfa/fxfa/layout/cxfa_layoutpagemgr.h"
 #include "xfa/fxfa/parser/cxfa_document.h"
 #include "xfa/fxfa/parser/cxfa_keep.h"
-#include "xfa/fxfa/parser/cxfa_layoutcontext.h"
-#include "xfa/fxfa/parser/cxfa_layoutpagemgr.h"
 #include "xfa/fxfa/parser/cxfa_localemgr.h"
 #include "xfa/fxfa/parser/cxfa_margin.h"
 #include "xfa/fxfa/parser/cxfa_measurement.h"
@@ -233,9 +233,9 @@
       fColSpanWidth += rgSpecifiedColumnWidths[nCurrentColIdx + i];
 
     if (nColSpan != nOriginalColSpan) {
-      fColSpanWidth =
-          bMetWholeRowCell ? 0 : std::max(fColSpanWidth,
-                                          pLayoutChild->m_sSize.height);
+      fColSpanWidth = bMetWholeRowCell ? 0
+                                       : std::max(fColSpanWidth,
+                                                  pLayoutChild->m_sSize.height);
     }
     if (nOriginalColSpan == -1)
       bMetWholeRowCell = true;
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h b/xfa/fxfa/layout/cxfa_itemlayoutprocessor.h
similarity index 97%
rename from xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
rename to xfa/fxfa/layout/cxfa_itemlayoutprocessor.h
index 4eea23e..272e93a 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
+++ b/xfa/fxfa/layout/cxfa_itemlayoutprocessor.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_ITEMLAYOUTPROCESSOR_H_
-#define XFA_FXFA_PARSER_CXFA_ITEMLAYOUTPROCESSOR_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_ITEMLAYOUTPROCESSOR_H_
+#define XFA_FXFA_LAYOUT_CXFA_ITEMLAYOUTPROCESSOR_H_
 
 #include <float.h>
 
@@ -190,4 +190,4 @@
   bool m_bHasAvailHeight = true;
 };
 
-#endif  // XFA_FXFA_PARSER_CXFA_ITEMLAYOUTPROCESSOR_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_ITEMLAYOUTPROCESSOR_H_
diff --git a/xfa/fxfa/parser/cxfa_layoutcontext.cpp b/xfa/fxfa/layout/cxfa_layoutcontext.cpp
similarity index 87%
rename from xfa/fxfa/parser/cxfa_layoutcontext.cpp
rename to xfa/fxfa/layout/cxfa_layoutcontext.cpp
index 24f0e8d..cd5d8b1 100644
--- a/xfa/fxfa/parser/cxfa_layoutcontext.cpp
+++ b/xfa/fxfa/layout/cxfa_layoutcontext.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_layoutcontext.h"
+#include "xfa/fxfa/layout/cxfa_layoutcontext.h"
 
 CXFA_LayoutContext::CXFA_LayoutContext() = default;
 
diff --git a/xfa/fxfa/parser/cxfa_layoutcontext.h b/xfa/fxfa/layout/cxfa_layoutcontext.h
similarity index 82%
rename from xfa/fxfa/parser/cxfa_layoutcontext.h
rename to xfa/fxfa/layout/cxfa_layoutcontext.h
index 9927d3e..4fa7b1c 100644
--- a/xfa/fxfa/parser/cxfa_layoutcontext.h
+++ b/xfa/fxfa/layout/cxfa_layoutcontext.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_LAYOUTCONTEXT_H_
-#define XFA_FXFA_PARSER_CXFA_LAYOUTCONTEXT_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_LAYOUTCONTEXT_H_
+#define XFA_FXFA_LAYOUT_CXFA_LAYOUTCONTEXT_H_
 
 #include <vector>
 
@@ -26,4 +26,4 @@
   UnownedPtr<CXFA_Node> m_pOverflowNode;
 };
 
-#endif  // XFA_FXFA_PARSER_CXFA_LAYOUTCONTEXT_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_LAYOUTCONTEXT_H_
diff --git a/xfa/fxfa/parser/cxfa_layoutitem.cpp b/xfa/fxfa/layout/cxfa_layoutitem.cpp
similarity index 96%
rename from xfa/fxfa/parser/cxfa_layoutitem.cpp
rename to xfa/fxfa/layout/cxfa_layoutitem.cpp
index 7792fa5..484655a 100644
--- a/xfa/fxfa/parser/cxfa_layoutitem.cpp
+++ b/xfa/fxfa/layout/cxfa_layoutitem.cpp
@@ -4,12 +4,12 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_layoutitem.h"
+#include "xfa/fxfa/layout/cxfa_layoutitem.h"
 
 #include "fxjs/xfa/cjx_object.h"
 #include "xfa/fxfa/cxfa_ffnotify.h"
-#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
 #include "xfa/fxfa/parser/cxfa_margin.h"
 #include "xfa/fxfa/parser/cxfa_measurement.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
diff --git a/xfa/fxfa/parser/cxfa_layoutitem.h b/xfa/fxfa/layout/cxfa_layoutitem.h
similarity index 93%
rename from xfa/fxfa/parser/cxfa_layoutitem.h
rename to xfa/fxfa/layout/cxfa_layoutitem.h
index 3426a83..840859b 100644
--- a/xfa/fxfa/parser/cxfa_layoutitem.h
+++ b/xfa/fxfa/layout/cxfa_layoutitem.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_LAYOUTITEM_H_
-#define XFA_FXFA_PARSER_CXFA_LAYOUTITEM_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_LAYOUTITEM_H_
+#define XFA_FXFA_LAYOUT_CXFA_LAYOUTITEM_H_
 
 #include "core/fxcrt/unowned_ptr.h"
 #include "xfa/fxfa/parser/cxfa_document.h"
@@ -55,4 +55,4 @@
 
 void XFA_ReleaseLayoutItem(CXFA_LayoutItem* pLayoutItem);
 
-#endif  // XFA_FXFA_PARSER_CXFA_LAYOUTITEM_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_LAYOUTITEM_H_
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp b/xfa/fxfa/layout/cxfa_layoutpagemgr.cpp
similarity index 98%
rename from xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
rename to xfa/fxfa/layout/cxfa_layoutpagemgr.cpp
index 69f6991..04688b8 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
+++ b/xfa/fxfa/layout/cxfa_layoutpagemgr.cpp
@@ -4,18 +4,20 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_layoutpagemgr.h"
+#include "xfa/fxfa/layout/cxfa_layoutpagemgr.h"
 
 #include "fxjs/xfa/cfxjse_engine.h"
 #include "fxjs/xfa/cjx_object.h"
 #include "third_party/base/stl_util.h"
 #include "xfa/fxfa/cxfa_ffnotify.h"
-#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_itemlayoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_traversestrategy_contentareacontainerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_traversestrategy_layoutitem.h"
 #include "xfa/fxfa/parser/cxfa_contentarea.h"
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
 #include "xfa/fxfa/parser/cxfa_document.h"
-#include "xfa/fxfa/parser/cxfa_itemlayoutprocessor.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_localemgr.h"
 #include "xfa/fxfa/parser/cxfa_measurement.h"
 #include "xfa/fxfa/parser/cxfa_medium.h"
@@ -25,8 +27,6 @@
 #include "xfa/fxfa/parser/cxfa_occur.h"
 #include "xfa/fxfa/parser/cxfa_pageset.h"
 #include "xfa/fxfa/parser/cxfa_subform.h"
-#include "xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h"
-#include "xfa/fxfa/parser/cxfa_traversestrategy_layoutitem.h"
 #include "xfa/fxfa/parser/cxfa_traversestrategy_xfacontainernode.h"
 #include "xfa/fxfa/parser/cxfa_traversestrategy_xfanode.h"
 #include "xfa/fxfa/parser/xfa_document_datamerger_imp.h"
@@ -213,8 +213,8 @@
     CXFA_ContainerLayoutItem* pPageAreaLayoutItem,
     CXFA_Node* pContentArea,
     CXFA_ContainerLayoutItem*& pContentAreaLayoutItem) {
-  for (CXFA_LayoutItem* pChild = pPageAreaLayoutItem->m_pFirstChild;
-       pChild; pChild = pChild->m_pNextSibling) {
+  for (CXFA_LayoutItem* pChild = pPageAreaLayoutItem->m_pFirstChild; pChild;
+       pChild = pChild->m_pNextSibling) {
     CXFA_ContainerLayoutItem* pLayoutItem = pChild->AsContainerLayoutItem();
     if (pLayoutItem && pLayoutItem->GetFormNode() == pContentArea) {
       if (!pLayoutItem->m_pFirstChild) {
@@ -610,9 +610,8 @@
 void CXFA_LayoutPageMgr::FinishPaginatedPageSets() {
   for (CXFA_ContainerLayoutItem* pRootPageSetLayoutItem =
            m_pPageSetLayoutItemRoot;
-       pRootPageSetLayoutItem;
-       pRootPageSetLayoutItem =
-           ToContainerLayoutItem(pRootPageSetLayoutItem->m_pNextSibling)) {
+       pRootPageSetLayoutItem; pRootPageSetLayoutItem = ToContainerLayoutItem(
+                                   pRootPageSetLayoutItem->m_pNextSibling)) {
     PageSetIterator sIterator(pRootPageSetLayoutItem);
     for (CXFA_ContainerLayoutItem* pPageSetLayoutItem = sIterator.GetCurrent();
          pPageSetLayoutItem; pPageSetLayoutItem = sIterator.MoveToNext()) {
@@ -621,7 +620,9 @@
               XFA_Attribute::Relation);
       switch (ePageRelation) {
         case XFA_AttributeValue::OrderedOccurrence:
-        default: { ProcessLastPageSet(); } break;
+        default: {
+          ProcessLastPageSet();
+        } break;
         case XFA_AttributeValue::SimplexPaginated:
         case XFA_AttributeValue::DuplexPaginated: {
           CXFA_LayoutItem* pLastPageAreaLayoutItem = nullptr;
@@ -1890,9 +1891,8 @@
 
 void CXFA_LayoutPageMgr::LayoutPageSetContents() {
   for (CXFA_ContainerLayoutItem* pRootLayoutItem = GetRootLayoutItem();
-       pRootLayoutItem;
-       pRootLayoutItem =
-           ToContainerLayoutItem(pRootLayoutItem->m_pNextSibling)) {
+       pRootLayoutItem; pRootLayoutItem = ToContainerLayoutItem(
+                            pRootLayoutItem->m_pNextSibling)) {
     CXFA_NodeIteratorTemplate<
         CXFA_ContainerLayoutItem,
         CXFA_TraverseStrategy_ContentAreaContainerLayoutItem>
@@ -1918,9 +1918,8 @@
   CXFA_FFNotify* pNotify = m_pTemplatePageSetRoot->GetDocument()->GetNotify();
   int32_t nPageIdx = -1;
   for (CXFA_ContainerLayoutItem* pRootLayoutItem = GetRootLayoutItem();
-       pRootLayoutItem;
-       pRootLayoutItem =
-           ToContainerLayoutItem(pRootLayoutItem->m_pNextSibling)) {
+       pRootLayoutItem; pRootLayoutItem = ToContainerLayoutItem(
+                            pRootLayoutItem->m_pNextSibling)) {
     CXFA_NodeIteratorTemplate<
         CXFA_ContainerLayoutItem,
         CXFA_TraverseStrategy_ContentAreaContainerLayoutItem>
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.h b/xfa/fxfa/layout/cxfa_layoutpagemgr.h
similarity index 96%
rename from xfa/fxfa/parser/cxfa_layoutpagemgr.h
rename to xfa/fxfa/layout/cxfa_layoutpagemgr.h
index aec931b..041bbd5 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.h
+++ b/xfa/fxfa/layout/cxfa_layoutpagemgr.h
@@ -4,15 +4,15 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_LAYOUTPAGEMGR_H_
-#define XFA_FXFA_PARSER_CXFA_LAYOUTPAGEMGR_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_LAYOUTPAGEMGR_H_
+#define XFA_FXFA_LAYOUT_CXFA_LAYOUTPAGEMGR_H_
 
 #include <iterator>
 #include <list>
 #include <map>
 #include <vector>
 
-#include "xfa/fxfa/parser/cxfa_itemlayoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_itemlayoutprocessor.h"
 
 class CXFA_ContainerRecord;
 class CXFA_LayoutItem;
@@ -144,4 +144,4 @@
   std::vector<CXFA_ContainerLayoutItem*> m_PageArray;
 };
 
-#endif  // XFA_FXFA_PARSER_CXFA_LAYOUTPAGEMGR_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_LAYOUTPAGEMGR_H_
diff --git a/xfa/fxfa/parser/cxfa_layoutprocessor.cpp b/xfa/fxfa/layout/cxfa_layoutprocessor.cpp
similarity index 91%
rename from xfa/fxfa/parser/cxfa_layoutprocessor.cpp
rename to xfa/fxfa/layout/cxfa_layoutprocessor.cpp
index c31766f..dd6c11c 100644
--- a/xfa/fxfa/parser/cxfa_layoutprocessor.cpp
+++ b/xfa/fxfa/layout/cxfa_layoutprocessor.cpp
@@ -4,15 +4,15 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 
 #include "fxjs/xfa/cjx_object.h"
 #include "third_party/base/ptr_util.h"
 #include "third_party/base/stl_util.h"
-#include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_itemlayoutprocessor.h"
+#include "xfa/fxfa/layout/cxfa_layoutpagemgr.h"
 #include "xfa/fxfa/parser/cxfa_document.h"
-#include "xfa/fxfa/parser/cxfa_itemlayoutprocessor.h"
-#include "xfa/fxfa/parser/cxfa_layoutpagemgr.h"
 #include "xfa/fxfa/parser/cxfa_localemgr.h"
 #include "xfa/fxfa/parser/cxfa_measurement.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
@@ -90,9 +90,10 @@
     m_bNeedLayout = false;
     m_rgChangedContainers.clear();
   }
-  return 100 * (eStatus == XFA_ItemLayoutProcessorResult::Done
-                    ? m_nProgressCounter
-                    : m_nProgressCounter - 1) /
+  return 100 *
+         (eStatus == XFA_ItemLayoutProcessorResult::Done
+              ? m_nProgressCounter
+              : m_nProgressCounter - 1) /
          m_nProgressCounter;
 }
 
diff --git a/xfa/fxfa/parser/cxfa_layoutprocessor.h b/xfa/fxfa/layout/cxfa_layoutprocessor.h
similarity index 91%
rename from xfa/fxfa/parser/cxfa_layoutprocessor.h
rename to xfa/fxfa/layout/cxfa_layoutprocessor.h
index b5b831e..b112e73 100644
--- a/xfa/fxfa/parser/cxfa_layoutprocessor.h
+++ b/xfa/fxfa/layout/cxfa_layoutprocessor.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_LAYOUTPROCESSOR_H_
-#define XFA_FXFA_PARSER_CXFA_LAYOUTPROCESSOR_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
+#define XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
 
 #include <memory>
 #include <vector>
@@ -53,4 +53,4 @@
   bool m_bNeedLayout;
 };
 
-#endif  // XFA_FXFA_PARSER_CXFA_LAYOUTPROCESSOR_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
diff --git a/xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h b/xfa/fxfa/layout/cxfa_traversestrategy_contentareacontainerlayoutitem.h
similarity index 84%
rename from xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h
rename to xfa/fxfa/layout/cxfa_traversestrategy_contentareacontainerlayoutitem.h
index 154d7d9..5f89538 100644
--- a/xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h
+++ b/xfa/fxfa/layout/cxfa_traversestrategy_contentareacontainerlayoutitem.h
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_
-#define XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_
+#define XFA_FXFA_LAYOUT_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_
 
-#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
+#include "xfa/fxfa/layout/cxfa_containerlayoutitem.h"
 
 class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem {
  public:
@@ -41,4 +41,4 @@
   }
 };
 
-#endif  // XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_
diff --git a/xfa/fxfa/parser/cxfa_traversestrategy_layoutitem.h b/xfa/fxfa/layout/cxfa_traversestrategy_layoutitem.h
similarity index 78%
rename from xfa/fxfa/parser/cxfa_traversestrategy_layoutitem.h
rename to xfa/fxfa/layout/cxfa_traversestrategy_layoutitem.h
index 0371eef..357b440 100644
--- a/xfa/fxfa/parser/cxfa_traversestrategy_layoutitem.h
+++ b/xfa/fxfa/layout/cxfa_traversestrategy_layoutitem.h
@@ -4,10 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_LAYOUTITEM_H_
-#define XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_LAYOUTITEM_H_
+#ifndef XFA_FXFA_LAYOUT_CXFA_TRAVERSESTRATEGY_LAYOUTITEM_H_
+#define XFA_FXFA_LAYOUT_CXFA_TRAVERSESTRATEGY_LAYOUTITEM_H_
 
-#include "xfa/fxfa/parser/cxfa_layoutitem.h"
+#include "xfa/fxfa/layout/cxfa_layoutitem.h"
 #include "xfa/fxfa/parser/cxfa_nodeiteratortemplate.h"
 
 class CXFA_TraverseStrategy_LayoutItem {
@@ -27,4 +27,4 @@
     CXFA_NodeIteratorTemplate<CXFA_LayoutItem,
                               CXFA_TraverseStrategy_LayoutItem>;
 
-#endif  // XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_LAYOUTITEM_H_
+#endif  // XFA_FXFA_LAYOUT_CXFA_TRAVERSESTRATEGY_LAYOUTITEM_H_
diff --git a/xfa/fxfa/parser/BUILD.gn b/xfa/fxfa/parser/BUILD.gn
index 4bd913e..d88482b 100644
--- a/xfa/fxfa/parser/BUILD.gn
+++ b/xfa/fxfa/parser/BUILD.gn
@@ -134,14 +134,10 @@
     "cxfa_connectionset.h",
     "cxfa_connectstring.cpp",
     "cxfa_connectstring.h",
-    "cxfa_containerlayoutitem.cpp",
-    "cxfa_containerlayoutitem.h",
     "cxfa_contentarea.cpp",
     "cxfa_contentarea.h",
     "cxfa_contentcopy.cpp",
     "cxfa_contentcopy.h",
-    "cxfa_contentlayoutitem.cpp",
-    "cxfa_contentlayoutitem.h",
     "cxfa_copies.cpp",
     "cxfa_copies.h",
     "cxfa_corner.cpp",
@@ -314,8 +310,6 @@
     "cxfa_interactive.h",
     "cxfa_issuers.cpp",
     "cxfa_issuers.h",
-    "cxfa_itemlayoutprocessor.cpp",
-    "cxfa_itemlayoutprocessor.h",
     "cxfa_items.cpp",
     "cxfa_items.h",
     "cxfa_jog.cpp",
@@ -328,14 +322,6 @@
     "cxfa_labelprinter.h",
     "cxfa_layout.cpp",
     "cxfa_layout.h",
-    "cxfa_layoutcontext.cpp",
-    "cxfa_layoutcontext.h",
-    "cxfa_layoutitem.cpp",
-    "cxfa_layoutitem.h",
-    "cxfa_layoutpagemgr.cpp",
-    "cxfa_layoutpagemgr.h",
-    "cxfa_layoutprocessor.cpp",
-    "cxfa_layoutprocessor.h",
     "cxfa_level.cpp",
     "cxfa_level.h",
     "cxfa_line.cpp",
@@ -627,8 +613,6 @@
     "cxfa_traversal.h",
     "cxfa_traverse.cpp",
     "cxfa_traverse.h",
-    "cxfa_traversestrategy_contentareacontainerlayoutitem.h",
-    "cxfa_traversestrategy_layoutitem.h",
     "cxfa_traversestrategy_xfacontainernode.h",
     "cxfa_traversestrategy_xfanode.h",
     "cxfa_treelist.cpp",
diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp
index 7bfa23a..f3f3890 100644
--- a/xfa/fxfa/parser/cxfa_document.cpp
+++ b/xfa/fxfa/parser/cxfa_document.cpp
@@ -18,6 +18,7 @@
 #include "third_party/base/stl_util.h"
 #include "xfa/fxfa/cxfa_ffdoc.h"
 #include "xfa/fxfa/cxfa_ffnotify.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cscript_datawindow.h"
 #include "xfa/fxfa/parser/cscript_eventpseudomodel.h"
 #include "xfa/fxfa/parser/cscript_hostpseudomodel.h"
@@ -31,7 +32,6 @@
 #include "xfa/fxfa/parser/cxfa_image.h"
 #include "xfa/fxfa/parser/cxfa_interactive.h"
 #include "xfa/fxfa/parser/cxfa_items.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_localemgr.h"
 #include "xfa/fxfa/parser/cxfa_node.h"
 #include "xfa/fxfa/parser/cxfa_occur.h"
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 08fe391..29e8f92 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -42,6 +42,7 @@
 #include "xfa/fxfa/cxfa_ffwidget.h"
 #include "xfa/fxfa/cxfa_fontmgr.h"
 #include "xfa/fxfa/cxfa_textprovider.h"
+#include "xfa/fxfa/layout/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_accessiblecontent.h"
 #include "xfa/fxfa/parser/cxfa_acrobat.h"
 #include "xfa/fxfa/parser/cxfa_acrobat7.h"
@@ -190,7 +191,6 @@
 #include "xfa/fxfa/parser/cxfa_keyusage.h"
 #include "xfa/fxfa/parser/cxfa_labelprinter.h"
 #include "xfa/fxfa/parser/cxfa_layout.h"
-#include "xfa/fxfa/parser/cxfa_layoutprocessor.h"
 #include "xfa/fxfa/parser/cxfa_level.h"
 #include "xfa/fxfa/parser/cxfa_line.h"
 #include "xfa/fxfa/parser/cxfa_linear.h"
