CPDF_Document friend cleanup

Remove CPDF_Creator and CPDF_Parser as friends of CPDF_Document. Move all
member variables to the private section, and add CPDF_TestDocument as a
private friend.

Review-Url: https://codereview.chromium.org/2349353003
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
index 36f6226..45b8711 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
@@ -929,7 +929,7 @@
   }
 
   if (pDict) {
-    if (pDict == m_pDocument->m_pRootDict || pDict == m_pEncryptDict)
+    if (pDict == m_pDocument->GetRoot() || pDict == m_pEncryptDict)
       return 1;
     if (pDict->IsSignatureDict())
       return 1;
@@ -1749,17 +1749,17 @@
       if (m_File.AppendString("\r\n/Root ") < 0) {
         return -1;
       }
-      if (m_File.AppendDWord(m_pDocument->m_pRootDict->GetObjNum()) < 0) {
+      if (m_File.AppendDWord(m_pDocument->GetRoot()->GetObjNum()) < 0) {
         return -1;
       }
       if (m_File.AppendString(" 0 R\r\n") < 0) {
         return -1;
       }
-      if (m_pDocument->m_pInfoDict) {
+      if (m_pDocument->GetInfo()) {
         if (m_File.AppendString("/Info ") < 0) {
           return -1;
         }
-        if (m_File.AppendDWord(m_pDocument->m_pInfoDict->GetObjNum()) < 0) {
+        if (m_File.AppendDWord(m_pDocument->GetInfo()->GetObjNum()) < 0) {
           return -1;
         }
         if (m_File.AppendString(" 0 R\r\n") < 0) {
diff --git a/core/fpdfapi/fpdf_parser/include/cpdf_document.h b/core/fpdfapi/fpdf_parser/include/cpdf_document.h
index 4bbbb27..1cc32dc 100644
--- a/core/fpdfapi/fpdf_parser/include/cpdf_document.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_document.h
@@ -97,9 +97,8 @@
                             FX_BOOL bTranslateName = FALSE);
 #endif
 
- protected:
-  friend class CPDF_Creator;
-  friend class CPDF_Parser;
+ private:
+  friend class CPDF_TestDocument;
 
   // Retrieve page count information by getting count value from the tree nodes
   int RetrievePageCount() const;
@@ -113,6 +112,15 @@
                     int& index,
                     int level = 0);
   CPDF_Object* ParseIndirectObject(uint32_t objnum) override;
+  void LoadDocInternal();
+  size_t CalculateEncodingDict(int charset, CPDF_Dictionary* pBaseDict);
+  CPDF_Dictionary* GetPagesDict() const;
+  CPDF_Dictionary* ProcessbCJK(
+      CPDF_Dictionary* pBaseDict,
+      int charset,
+      FX_BOOL bVert,
+      CFX_ByteString basefont,
+      std::function<void(FX_WCHAR, FX_WCHAR, CPDF_Array*)> Insert);
 
   std::unique_ptr<CPDF_Parser> m_pParser;
   CPDF_Dictionary* m_pRootDict;
@@ -125,18 +133,6 @@
   std::unique_ptr<CPDF_DocRenderData> m_pDocRender;
   std::unique_ptr<JBig2_DocumentContext> m_pCodecContext;
   std::unique_ptr<CPDF_LinkList> m_pLinksContext;
-
- private:
-  void LoadDocInternal();
-  size_t CalculateEncodingDict(int charset, CPDF_Dictionary* pBaseDict);
-  CPDF_Dictionary* GetPagesDict() const;
-  CPDF_Dictionary* ProcessbCJK(
-      CPDF_Dictionary* pBaseDict,
-      int charset,
-      FX_BOOL bVert,
-      CFX_ByteString basefont,
-      std::function<void(FX_WCHAR, FX_WCHAR, CPDF_Array*)> Insert);
-
   CFX_ArrayTemplate<uint32_t> m_PageList;
 };