diff --git a/core/fpdfapi/page/cpdf_devicecs_unittest.cpp b/core/fpdfapi/page/cpdf_devicecs_unittest.cpp
index 742f4a0..22a961a 100644
--- a/core/fpdfapi/page/cpdf_devicecs_unittest.cpp
+++ b/core/fpdfapi/page/cpdf_devicecs_unittest.cpp
@@ -11,40 +11,40 @@
   float R;
   float G;
   float B;
-  CPDF_DeviceCS deviceGray(nullptr, PDFCS_DEVICEGRAY);
+  CPDF_DeviceCS device_gray(PDFCS_DEVICEGRAY);
 
   // Test normal values. For gray, only first value from buf should be used.
   float buf[3] = {0.43f, 0.11f, 0.34f};
-  ASSERT_TRUE(deviceGray.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_gray.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.43f, R);
   EXPECT_FLOAT_EQ(0.43f, G);
   EXPECT_FLOAT_EQ(0.43f, B);
   buf[0] = 0.872f;
-  ASSERT_TRUE(deviceGray.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_gray.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.872f, R);
   EXPECT_FLOAT_EQ(0.872f, G);
   EXPECT_FLOAT_EQ(0.872f, B);
 
   // Test boundary values
   buf[0] = {0.0f};
-  ASSERT_TRUE(deviceGray.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_gray.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.0f, R);
   EXPECT_FLOAT_EQ(0.0f, G);
   EXPECT_FLOAT_EQ(0.0f, B);
   buf[0] = 1.0f;
-  ASSERT_TRUE(deviceGray.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_gray.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(1.0f, R);
   EXPECT_FLOAT_EQ(1.0f, G);
   EXPECT_FLOAT_EQ(1.0f, B);
 
   // Test out of range values
   buf[0] = -0.01f;
-  ASSERT_TRUE(deviceGray.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_gray.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.0f, R);
   EXPECT_FLOAT_EQ(0.0f, G);
   EXPECT_FLOAT_EQ(0.0f, B);
   buf[0] = 12.5f;
-  ASSERT_TRUE(deviceGray.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_gray.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(1.0f, R);
   EXPECT_FLOAT_EQ(1.0f, G);
   EXPECT_FLOAT_EQ(1.0f, B);
@@ -54,18 +54,18 @@
   float R;
   float G;
   float B;
-  CPDF_DeviceCS deviceRGB(nullptr, PDFCS_DEVICERGB);
+  CPDF_DeviceCS device_rgb(PDFCS_DEVICERGB);
 
   // Test normal values
   float buf[3] = {0.13f, 1.0f, 0.652f};
-  ASSERT_TRUE(deviceRGB.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_rgb.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.13f, R);
   EXPECT_FLOAT_EQ(1.0f, G);
   EXPECT_FLOAT_EQ(0.652f, B);
   buf[0] = 0.0f;
   buf[1] = 0.52f;
   buf[2] = 0.78f;
-  ASSERT_TRUE(deviceRGB.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_rgb.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.0f, R);
   EXPECT_FLOAT_EQ(0.52f, G);
   EXPECT_FLOAT_EQ(0.78f, B);
@@ -73,7 +73,7 @@
   // Test out of range values
   buf[0] = -10.5f;
   buf[1] = 100.0f;
-  ASSERT_TRUE(deviceRGB.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_rgb.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.0f, R);
   EXPECT_FLOAT_EQ(1.0f, G);
   EXPECT_FLOAT_EQ(0.78f, B);
@@ -83,23 +83,23 @@
   float R;
   float G;
   float B;
-  CPDF_DeviceCS deviceCMYK(nullptr, PDFCS_DEVICECMYK);
+  CPDF_DeviceCS device_cmyk(PDFCS_DEVICECMYK);
 
   // Test normal values
   float buf[4] = {0.6f, 0.5f, 0.3f, 0.9f};
-  ASSERT_TRUE(deviceCMYK.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_cmyk.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.0627451f, R);
   EXPECT_FLOAT_EQ(0.0627451f, G);
   EXPECT_FLOAT_EQ(0.10588236f, B);
   buf[0] = 0.15f;
   buf[2] = 0.0f;
-  ASSERT_TRUE(deviceCMYK.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_cmyk.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.2f, R);
   EXPECT_FLOAT_EQ(0.0862745f, G);
   EXPECT_FLOAT_EQ(0.16470589f, B);
   buf[2] = 1.0f;
   buf[3] = 0.0f;
-  ASSERT_TRUE(deviceCMYK.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_cmyk.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.85098046f, R);
   EXPECT_FLOAT_EQ(0.552941f, G);
   EXPECT_FLOAT_EQ(0.15686275f, B);
@@ -107,7 +107,7 @@
   // Test out of range values
   buf[2] = 1.5f;
   buf[3] = -0.6f;
-  ASSERT_TRUE(deviceCMYK.GetRGB(buf, &R, &G, &B));
+  ASSERT_TRUE(device_cmyk.GetRGB(buf, &R, &G, &B));
   EXPECT_FLOAT_EQ(0.85098046f, R);
   EXPECT_FLOAT_EQ(0.552941f, G);
   EXPECT_FLOAT_EQ(0.15686275f, B);
diff --git a/core/fpdfapi/page/cpdf_pagemodule.cpp b/core/fpdfapi/page/cpdf_pagemodule.cpp
index 80edf2c..c302b70 100644
--- a/core/fpdfapi/page/cpdf_pagemodule.cpp
+++ b/core/fpdfapi/page/cpdf_pagemodule.cpp
@@ -7,9 +7,9 @@
 #include "core/fpdfapi/page/cpdf_pagemodule.h"
 
 CPDF_PageModule::CPDF_PageModule()
-    : m_StockGrayCS(nullptr, PDFCS_DEVICEGRAY),
-      m_StockRGBCS(nullptr, PDFCS_DEVICERGB),
-      m_StockCMYKCS(nullptr, PDFCS_DEVICECMYK),
+    : m_StockGrayCS(PDFCS_DEVICEGRAY),
+      m_StockRGBCS(PDFCS_DEVICERGB),
+      m_StockCMYKCS(PDFCS_DEVICECMYK),
       m_StockPatternCS(nullptr) {}
 
 CPDF_PageModule::~CPDF_PageModule() {}
diff --git a/core/fpdfapi/page/fpdf_page_colors.cpp b/core/fpdfapi/page/fpdf_page_colors.cpp
index a59ca37..e30c780 100644
--- a/core/fpdfapi/page/fpdf_page_colors.cpp
+++ b/core/fpdfapi/page/fpdf_page_colors.cpp
@@ -72,8 +72,8 @@
   }
 }
 
-CPDF_DeviceCS::CPDF_DeviceCS(CPDF_Document* pDoc, int family)
-    : CPDF_ColorSpace(pDoc, family, ComponentsForFamily(family)) {
+CPDF_DeviceCS::CPDF_DeviceCS(int family)
+    : CPDF_ColorSpace(nullptr, family, ComponentsForFamily(family)) {
   ASSERT(family == PDFCS_DEVICEGRAY || family == PDFCS_DEVICERGB ||
          family == PDFCS_DEVICECMYK);
 }
diff --git a/core/fpdfapi/page/pageint.h b/core/fpdfapi/page/pageint.h
index 05865ca..45ca671 100644
--- a/core/fpdfapi/page/pageint.h
+++ b/core/fpdfapi/page/pageint.h
@@ -159,7 +159,7 @@
 
 class CPDF_DeviceCS : public CPDF_ColorSpace {
  public:
-  CPDF_DeviceCS(CPDF_Document* pDoc, int family);
+  explicit CPDF_DeviceCS(int family);
   ~CPDF_DeviceCS() override;
 
   // CPDF_ColorSpace:
