diff --git a/BUILD.gn b/BUILD.gn
index b20d3a1..820b1cf 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -812,6 +812,7 @@
     "core/fxcrt/cfx_bytestring.h",
     "core/fxcrt/cfx_datetime.cpp",
     "core/fxcrt/cfx_datetime.h",
+    "core/fxcrt/cfx_fixedbufgrow.h",
     "core/fxcrt/cfx_maybe_owned.h",
     "core/fxcrt/cfx_memorystream.cpp",
     "core/fxcrt/cfx_memorystream.h",
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index eef6b40..0769687 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -29,6 +29,7 @@
 #include "core/fpdfapi/parser/cpdf_string.h"
 #include "core/fpdfdoc/cpdf_action.h"
 #include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/cfx_fixedbufgrow.h"
 #include "core/fxcrt/cfx_maybe_owned.h"
 #include "core/fxcrt/fx_memory.h"
 #include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/page/cpdf_sampledfunc.cpp b/core/fpdfapi/page/cpdf_sampledfunc.cpp
index 37b9a4e..f1cba97 100644
--- a/core/fpdfapi/page/cpdf_sampledfunc.cpp
+++ b/core/fpdfapi/page/cpdf_sampledfunc.cpp
@@ -7,6 +7,7 @@
 #include "core/fpdfapi/page/cpdf_sampledfunc.h"
 
 #include "core/fpdfapi/parser/cpdf_array.h"
+#include "core/fxcrt/cfx_fixedbufgrow.h"
 #include "core/fxcrt/fx_safe_types.h"
 
 namespace {
diff --git a/core/fpdfapi/render/cpdf_dibsource.cpp b/core/fpdfapi/render/cpdf_dibsource.cpp
index de4ee74..a5a368e 100644
--- a/core/fpdfapi/render/cpdf_dibsource.cpp
+++ b/core/fpdfapi/render/cpdf_dibsource.cpp
@@ -23,6 +23,7 @@
 #include "core/fpdfapi/render/cpdf_renderstatus.h"
 #include "core/fxcodec/codec/cjpx_decoder.h"
 #include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/cfx_fixedbufgrow.h"
 #include "core/fxcrt/fx_safe_types.h"
 #include "third_party/base/ptr_util.h"
 
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index 1f949fb..8f0a51f 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -47,6 +47,7 @@
 #include "core/fpdfdoc/cpdf_occontext.h"
 #include "core/fxcodec/fx_codec.h"
 #include "core/fxcrt/cfx_autorestorer.h"
+#include "core/fxcrt/cfx_fixedbufgrow.h"
 #include "core/fxcrt/cfx_maybe_owned.h"
 #include "core/fxcrt/fx_safe_types.h"
 #include "core/fxge/cfx_defaultrenderdevice.h"
diff --git a/core/fxcodec/codec/fx_codec_icc.cpp b/core/fxcodec/codec/fx_codec_icc.cpp
index b6d17d9..e17b2e2 100644
--- a/core/fxcodec/codec/fx_codec_icc.cpp
+++ b/core/fxcodec/codec/fx_codec_icc.cpp
@@ -8,6 +8,7 @@
 
 #include "core/fxcodec/codec/codec_int.h"
 #include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/cfx_fixedbufgrow.h"
 
 #if defined(USE_SYSTEM_LCMS2)
 #include <lcms2.h>
diff --git a/core/fxcrt/cfx_fixedbufgrow.h b/core/fxcrt/cfx_fixedbufgrow.h
new file mode 100644
index 0000000..b12b710
--- /dev/null
+++ b/core/fxcrt/cfx_fixedbufgrow.h
@@ -0,0 +1,31 @@
+// Copyright 2017 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.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_FXCRT_CFX_FIXEDBUFGROW_H_
+#define CORE_FXCRT_CFX_FIXEDBUFGROW_H_
+
+#include <memory>
+
+#include "core/fxcrt/fx_memory.h"
+
+template <class DataType, int FixedSize>
+class CFX_FixedBufGrow {
+ public:
+  explicit CFX_FixedBufGrow(int data_size) {
+    if (data_size > FixedSize) {
+      m_pGrowData.reset(FX_Alloc(DataType, data_size));
+      return;
+    }
+    memset(m_FixedData, 0, sizeof(DataType) * FixedSize);
+  }
+  operator DataType*() { return m_pGrowData ? m_pGrowData.get() : m_FixedData; }
+
+ private:
+  DataType m_FixedData[FixedSize];
+  std::unique_ptr<DataType, FxFreeDeleter> m_pGrowData;
+};
+
+#endif  // CORE_FXCRT_CFX_FIXEDBUFGROW_H_
diff --git a/core/fxcrt/fx_basic.h b/core/fxcrt/fx_basic.h
index f3eb03f..7d3f329 100644
--- a/core/fxcrt/fx_basic.h
+++ b/core/fxcrt/fx_basic.h
@@ -22,23 +22,6 @@
 #define FX_IsOdd(a) ((a)&1)
 #endif  // PDF_ENABLE_XFA
 
-template <class DataType, int FixedSize>
-class CFX_FixedBufGrow {
- public:
-  explicit CFX_FixedBufGrow(int data_size) {
-    if (data_size > FixedSize) {
-      m_pGrowData.reset(FX_Alloc(DataType, data_size));
-      return;
-    }
-    memset(m_FixedData, 0, sizeof(DataType) * FixedSize);
-  }
-  operator DataType*() { return m_pGrowData ? m_pGrowData.get() : m_FixedData; }
-
- private:
-  DataType m_FixedData[FixedSize];
-  std::unique_ptr<DataType, FxFreeDeleter> m_pGrowData;
-};
-
 class IFX_Pause {
  public:
   virtual ~IFX_Pause() {}
diff --git a/core/fxge/apple/fx_apple_platform.cpp b/core/fxge/apple/fx_apple_platform.cpp
index 56b15b3..b3a3f26 100644
--- a/core/fxge/apple/fx_apple_platform.cpp
+++ b/core/fxge/apple/fx_apple_platform.cpp
@@ -6,6 +6,7 @@
 
 #include <memory>
 
+#include "core/fxcrt/cfx_fixedbufgrow.h"
 #include "core/fxcrt/fx_system.h"
 
 #ifndef _SKIA_SUPPORT_
