Make CPDF_ContentMarkData private to CPDF_ContentMark

Review-Url: https://codereview.chromium.org/2312743005
diff --git a/BUILD.gn b/BUILD.gn
index 6f6c50f..0553f8b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -414,8 +414,6 @@
     "core/fpdfapi/fpdf_page/cpdf_colorstate.h",
     "core/fpdfapi/fpdf_page/cpdf_contentmark.cpp",
     "core/fpdfapi/fpdf_page/cpdf_contentmark.h",
-    "core/fpdfapi/fpdf_page/cpdf_contentmarkdata.cpp",
-    "core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h",
     "core/fpdfapi/fpdf_page/cpdf_contentmarkitem.cpp",
     "core/fpdfapi/fpdf_page/cpdf_contentmarkitem.h",
     "core/fpdfapi/fpdf_page/cpdf_countedobject.h",
diff --git a/core/fpdfapi/fpdf_page/cpdf_contentmark.cpp b/core/fpdfapi/fpdf_page/cpdf_contentmark.cpp
index c36f407..2e28989 100644
--- a/core/fpdfapi/fpdf_page/cpdf_contentmark.cpp
+++ b/core/fpdfapi/fpdf_page/cpdf_contentmark.cpp
@@ -6,6 +6,9 @@
 
 #include "core/fpdfapi/fpdf_page/cpdf_contentmark.h"
 
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "third_party/base/stl_util.h"
+
 CPDF_ContentMark::CPDF_ContentMark() {}
 
 CPDF_ContentMark::CPDF_ContentMark(const CPDF_ContentMark& that)
@@ -26,7 +29,7 @@
 }
 
 int CPDF_ContentMark::GetMCID() const {
-  const CPDF_ContentMarkData* pData = m_Ref.GetObject();
+  const MarkData* pData = m_Ref.GetObject();
   return pData ? pData->GetMCID() : -1;
 }
 
@@ -43,7 +46,7 @@
 }
 
 bool CPDF_ContentMark::HasMark(const CFX_ByteStringC& mark) const {
-  const CPDF_ContentMarkData* pData = m_Ref.GetObject();
+  const MarkData* pData = m_Ref.GetObject();
   if (!pData)
     return false;
 
@@ -56,7 +59,7 @@
 
 bool CPDF_ContentMark::LookupMark(const CFX_ByteStringC& mark,
                                   CPDF_Dictionary*& pDict) const {
-  const CPDF_ContentMarkData* pData = m_Ref.GetObject();
+  const MarkData* pData = m_Ref.GetObject();
   if (!pData)
     return false;
 
@@ -73,3 +76,57 @@
   }
   return false;
 }
+
+CPDF_ContentMark::MarkData::MarkData() {}
+
+CPDF_ContentMark::MarkData::MarkData(const MarkData& src)
+    : m_Marks(src.m_Marks) {}
+
+CPDF_ContentMark::MarkData::~MarkData() {}
+
+int CPDF_ContentMark::MarkData::CountItems() const {
+  return pdfium::CollectionSize<int>(m_Marks);
+}
+
+CPDF_ContentMarkItem& CPDF_ContentMark::MarkData::GetItem(int index) {
+  return m_Marks[index];
+}
+
+const CPDF_ContentMarkItem& CPDF_ContentMark::MarkData::GetItem(
+    int index) const {
+  return m_Marks[index];
+}
+
+int CPDF_ContentMark::MarkData::GetMCID() const {
+  for (const auto& mark : m_Marks) {
+    CPDF_ContentMarkItem::ParamType type = mark.GetParamType();
+    if (type == CPDF_ContentMarkItem::PropertiesDict ||
+        type == CPDF_ContentMarkItem::DirectDict) {
+      CPDF_Dictionary* pDict = mark.GetParam();
+      if (pDict->KeyExist("MCID"))
+        return pDict->GetIntegerBy("MCID");
+    }
+  }
+  return -1;
+}
+
+void CPDF_ContentMark::MarkData::AddMark(const CFX_ByteString& name,
+                                         CPDF_Dictionary* pDict,
+                                         FX_BOOL bDirect) {
+  CPDF_ContentMarkItem item;
+  item.SetName(name);
+  if (pDict) {
+    if (bDirect) {
+      item.SetParam(CPDF_ContentMarkItem::DirectDict,
+                    ToDictionary(pDict->Clone()));
+    } else {
+      item.SetParam(CPDF_ContentMarkItem::PropertiesDict, pDict);
+    }
+  }
+  m_Marks.push_back(item);
+}
+
+void CPDF_ContentMark::MarkData::DeleteLastMark() {
+  if (!m_Marks.empty())
+    m_Marks.pop_back();
+}
diff --git a/core/fpdfapi/fpdf_page/cpdf_contentmark.h b/core/fpdfapi/fpdf_page/cpdf_contentmark.h
index 25da588..eff4af9 100644
--- a/core/fpdfapi/fpdf_page/cpdf_contentmark.h
+++ b/core/fpdfapi/fpdf_page/cpdf_contentmark.h
@@ -7,9 +7,14 @@
 #ifndef CORE_FPDFAPI_FPDF_PAGE_CPDF_CONTENTMARK_H_
 #define CORE_FPDFAPI_FPDF_PAGE_CPDF_CONTENTMARK_H_
 
-#include "core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h"
+#include <vector>
+
+#include "core/fpdfapi/fpdf_page/cpdf_contentmarkitem.h"
 #include "core/fxcrt/include/cfx_count_ref.h"
 #include "core/fxcrt/include/fx_basic.h"
+#include "core/fxcrt/include/fx_system.h"
+
+class CPDF_Dictionary;
 
 class CPDF_ContentMark {
  public:
@@ -33,7 +38,27 @@
   explicit operator bool() const { return !!m_Ref; }
 
  private:
-  CFX_CountRef<CPDF_ContentMarkData> m_Ref;
+  class MarkData {
+   public:
+    MarkData();
+    MarkData(const MarkData& src);
+    ~MarkData();
+
+    int CountItems() const;
+    CPDF_ContentMarkItem& GetItem(int index);
+    const CPDF_ContentMarkItem& GetItem(int index) const;
+
+    int GetMCID() const;
+    void AddMark(const CFX_ByteString& name,
+                 CPDF_Dictionary* pDict,
+                 FX_BOOL bDictNeedClone);
+    void DeleteLastMark();
+
+   private:
+    std::vector<CPDF_ContentMarkItem> m_Marks;
+  };
+
+  CFX_CountRef<MarkData> m_Ref;
 };
 
 #endif  // CORE_FPDFAPI_FPDF_PAGE_CPDF_CONTENTMARK_H_
diff --git a/core/fpdfapi/fpdf_page/cpdf_contentmarkdata.cpp b/core/fpdfapi/fpdf_page/cpdf_contentmarkdata.cpp
deleted file mode 100644
index 256e266..0000000
--- a/core/fpdfapi/fpdf_page/cpdf_contentmarkdata.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2016 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
-
-#include "core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h"
-
-#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
-#include "third_party/base/stl_util.h"
-
-CPDF_ContentMarkData::CPDF_ContentMarkData() {}
-
-CPDF_ContentMarkData::CPDF_ContentMarkData(const CPDF_ContentMarkData& src)
-    : m_Marks(src.m_Marks) {}
-
-CPDF_ContentMarkData::~CPDF_ContentMarkData() {}
-
-int CPDF_ContentMarkData::CountItems() const {
-  return pdfium::CollectionSize<int>(m_Marks);
-}
-
-CPDF_ContentMarkItem& CPDF_ContentMarkData::GetItem(int index) {
-  return m_Marks[index];
-}
-
-const CPDF_ContentMarkItem& CPDF_ContentMarkData::GetItem(int index) const {
-  return m_Marks[index];
-}
-
-int CPDF_ContentMarkData::GetMCID() const {
-  for (const auto& mark : m_Marks) {
-    CPDF_ContentMarkItem::ParamType type = mark.GetParamType();
-    if (type == CPDF_ContentMarkItem::PropertiesDict ||
-        type == CPDF_ContentMarkItem::DirectDict) {
-      CPDF_Dictionary* pDict = mark.GetParam();
-      if (pDict->KeyExist("MCID"))
-        return pDict->GetIntegerBy("MCID");
-    }
-  }
-  return -1;
-}
-
-void CPDF_ContentMarkData::AddMark(const CFX_ByteString& name,
-                                   CPDF_Dictionary* pDict,
-                                   FX_BOOL bDirect) {
-  CPDF_ContentMarkItem item;
-  item.SetName(name);
-  if (pDict) {
-    if (bDirect) {
-      item.SetParam(CPDF_ContentMarkItem::DirectDict,
-                    ToDictionary(pDict->Clone()));
-    } else {
-      item.SetParam(CPDF_ContentMarkItem::PropertiesDict, pDict);
-    }
-  }
-  m_Marks.push_back(item);
-}
-
-void CPDF_ContentMarkData::DeleteLastMark() {
-  if (!m_Marks.empty())
-    m_Marks.pop_back();
-}
diff --git a/core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h b/core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h
deleted file mode 100644
index 6f5c1f1..0000000
--- a/core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2016 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_FPDFAPI_FPDF_PAGE_CPDF_CONTENTMARKDATA_H_
-#define CORE_FPDFAPI_FPDF_PAGE_CPDF_CONTENTMARKDATA_H_
-
-#include <vector>
-
-#include "core/fpdfapi/fpdf_page/cpdf_contentmarkitem.h"
-#include "core/fxcrt/include/fx_system.h"
-
-class CPDF_Dictionary;
-
-class CPDF_ContentMarkData {
- public:
-  CPDF_ContentMarkData();
-  CPDF_ContentMarkData(const CPDF_ContentMarkData& src);
-  ~CPDF_ContentMarkData();
-
-  int CountItems() const;
-  CPDF_ContentMarkItem& GetItem(int index);
-  const CPDF_ContentMarkItem& GetItem(int index) const;
-
-  int GetMCID() const;
-  void AddMark(const CFX_ByteString& name,
-               CPDF_Dictionary* pDict,
-               FX_BOOL bDictNeedClone);
-  void DeleteLastMark();
-
- private:
-  std::vector<CPDF_ContentMarkItem> m_Marks;
-};
-
-#endif  // CORE_FPDFAPI_FPDF_PAGE_CPDF_CONTENTMARKDATA_H_
diff --git a/core/fpdfdoc/cpdf_occontext.cpp b/core/fpdfdoc/cpdf_occontext.cpp
index b4ddb6a..e641286 100644
--- a/core/fpdfdoc/cpdf_occontext.cpp
+++ b/core/fpdfdoc/cpdf_occontext.cpp
@@ -6,7 +6,6 @@
 
 #include "core/fpdfdoc/include/cpdf_occontext.h"
 
-#include "core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h"
 #include "core/fpdfapi/fpdf_page/include/cpdf_pageobject.h"
 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"