Clean up CPDF_AnnotList.
[pdfium.git] / fpdfsdk / src / javascript / Document.cpp
index 7c1f577..4c7e191 100644 (file)
@@ -140,17 +140,12 @@ END_JS_STATIC_METHOD()
 
 IMPLEMENT_JS_CLASS(CJS_Document, Document)
 
-FX_BOOL CJS_Document::InitInstance(IJS_Context* cc) {
-  CJS_Context* pContext = (CJS_Context*)cc;
-  ASSERT(pContext != NULL);
-
-  Document* pDoc = (Document*)GetEmbedObject();
-  ASSERT(pDoc != NULL);
-
-  pDoc->AttachDoc(pContext->GetReaderDocument());
-  pDoc->SetIsolate(pContext->GetJSRuntime()->GetIsolate());
-  return TRUE;
-};
+void CJS_Document::InitInstance(IJS_Runtime* pIRuntime) {
+  CJS_Runtime* pRuntime = static_cast<CJS_Runtime*>(pIRuntime);
+  Document* pDoc = static_cast<Document*>(GetEmbedObject());
+  pDoc->AttachDoc(pRuntime->GetReaderDocument());
+  pDoc->SetIsolate(pRuntime->GetIsolate());
+}
 
 /* --------------------------------- Document ---------------------------------
  */
@@ -326,7 +321,7 @@ FX_BOOL Document::getField(IJS_Context* cc,
 
   CJS_Runtime* pRuntime = pContext->GetJSRuntime();
   v8::Local<v8::Object> pFieldObj = FXJS_NewFxDynamicObj(
-      pRuntime->GetIsolate(), pContext, CJS_Field::g_nObjDefnID);
+      pRuntime->GetIsolate(), pRuntime, CJS_Field::g_nObjDefnID);
 
   v8::Isolate* isolate = GetIsolate(cc);
   CJS_Field* pJSField = (CJS_Field*)FXJS_GetPrivate(isolate, pFieldObj);
@@ -790,9 +785,7 @@ FX_BOOL Document::mailDoc(IJS_Context* cc,
 FX_BOOL Document::author(IJS_Context* cc,
                          CJS_PropValue& vp,
                          CFX_WideString& sError) {
-  ASSERT(m_pDocument != NULL);
-
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -814,9 +807,7 @@ FX_BOOL Document::author(IJS_Context* cc,
 FX_BOOL Document::info(IJS_Context* cc,
                        CJS_PropValue& vp,
                        CFX_WideString& sError) {
-  ASSERT(m_pDocument != NULL);
-
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -835,7 +826,7 @@ FX_BOOL Document::info(IJS_Context* cc,
     CJS_Context* pContext = (CJS_Context*)cc;
     CJS_Runtime* pRuntime = pContext->GetJSRuntime();
     v8::Local<v8::Object> pObj =
-        FXJS_NewFxDynamicObj(pRuntime->GetIsolate(), pContext, -1);
+        FXJS_NewFxDynamicObj(pRuntime->GetIsolate(), pRuntime, -1);
     FXJS_PutObjectString(isolate, pObj, L"Author", cwAuthor.c_str());
     FXJS_PutObjectString(isolate, pObj, L"Title", cwTitle.c_str());
     FXJS_PutObjectString(isolate, pObj, L"Subject", cwSubject.c_str());
@@ -853,16 +844,17 @@ FX_BOOL Document::info(IJS_Context* cc,
       CFX_ByteString bsKey;
       CPDF_Object* pValueObj = pDictionary->GetNextElement(pos, bsKey);
       CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey, bsKey.GetLength());
-      if ((pValueObj->GetType() == PDFOBJ_STRING) ||
-          (pValueObj->GetType() == PDFOBJ_NAME))
+
+      if (pValueObj->IsString() || pValueObj->IsName()) {
         FXJS_PutObjectString(isolate, pObj, wsKey.c_str(),
                              pValueObj->GetUnicodeText().c_str());
-      if (pValueObj->GetType() == PDFOBJ_NUMBER)
+      } else if (pValueObj->IsNumber()) {
         FXJS_PutObjectNumber(isolate, pObj, wsKey.c_str(),
                              (float)pValueObj->GetNumber());
-      if (pValueObj->GetType() == PDFOBJ_BOOLEAN)
+      } else if (pValueObj->IsBoolean()) {
         FXJS_PutObjectBoolean(isolate, pObj, wsKey.c_str(),
                               (bool)pValueObj->GetInteger());
+      }
     }
     vp << pObj;
   }
@@ -872,7 +864,7 @@ FX_BOOL Document::info(IJS_Context* cc,
 FX_BOOL Document::creationDate(IJS_Context* cc,
                                CJS_PropValue& vp,
                                CFX_WideString& sError) {
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -893,7 +885,7 @@ FX_BOOL Document::creationDate(IJS_Context* cc,
 FX_BOOL Document::creator(IJS_Context* cc,
                           CJS_PropValue& vp,
                           CFX_WideString& sError) {
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -949,7 +941,7 @@ FX_BOOL Document::delay(IJS_Context* cc,
 FX_BOOL Document::keywords(IJS_Context* cc,
                            CJS_PropValue& vp,
                            CFX_WideString& sError) {
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -970,7 +962,7 @@ FX_BOOL Document::keywords(IJS_Context* cc,
 FX_BOOL Document::modDate(IJS_Context* cc,
                           CJS_PropValue& vp,
                           CFX_WideString& sError) {
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -991,7 +983,7 @@ FX_BOOL Document::modDate(IJS_Context* cc,
 FX_BOOL Document::producer(IJS_Context* cc,
                            CJS_PropValue& vp,
                            CFX_WideString& sError) {
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -1012,7 +1004,7 @@ FX_BOOL Document::producer(IJS_Context* cc,
 FX_BOOL Document::subject(IJS_Context* cc,
                           CJS_PropValue& vp,
                           CFX_WideString& sError) {
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -1033,10 +1025,10 @@ FX_BOOL Document::subject(IJS_Context* cc,
 FX_BOOL Document::title(IJS_Context* cc,
                         CJS_PropValue& vp,
                         CFX_WideString& sError) {
-  if (m_pDocument == NULL || m_pDocument->GetDocument() == NULL)
+  if (m_pDocument == NULL || m_pDocument->GetPDFDocument() == NULL)
     return FALSE;
 
-  CPDF_Dictionary* pDictionary = m_pDocument->GetDocument()->GetInfo();
+  CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
   if (!pDictionary)
     return FALSE;
 
@@ -1394,7 +1386,6 @@ FX_BOOL Document::icons(IJS_Context* cc,
     return TRUE;
   }
 
-  CJS_Context* pContext = static_cast<CJS_Context*>(cc);
   CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
   CJS_Array Icons(pRuntime);
   IconElement* pIconElement = NULL;
@@ -1403,7 +1394,7 @@ FX_BOOL Document::icons(IJS_Context* cc,
     pIconElement = (*m_pIconTree)[i];
 
     v8::Local<v8::Object> pObj = FXJS_NewFxDynamicObj(
-        pRuntime->GetIsolate(), pContext, CJS_Icon::g_nObjDefnID);
+        pRuntime->GetIsolate(), pRuntime, CJS_Icon::g_nObjDefnID);
     if (pObj.IsEmpty())
       return FALSE;
 
@@ -1446,7 +1437,7 @@ FX_BOOL Document::getIcon(IJS_Context* cc,
       Icon* pRetIcon = (*m_pIconTree)[i]->IconStream;
 
       v8::Local<v8::Object> pObj = FXJS_NewFxDynamicObj(
-          pRuntime->GetIsolate(), pContext, CJS_Icon::g_nObjDefnID);
+          pRuntime->GetIsolate(), pRuntime, CJS_Icon::g_nObjDefnID);
       if (pObj.IsEmpty())
         return FALSE;
 
@@ -1527,7 +1518,7 @@ FX_BOOL Document::getPageNthWord(IJS_Context* cc,
   int nWordNo = params.GetSize() > 1 ? params[1].ToInt() : 0;
   bool bStrip = params.GetSize() > 2 ? params[2].ToBool() : true;
 
-  CPDF_Document* pDocument = m_pDocument->GetDocument();
+  CPDF_Document* pDocument = m_pDocument->GetPDFDocument();
   if (!pDocument)
     return FALSE;
 
@@ -1599,7 +1590,7 @@ FX_BOOL Document::getPageNumWords(IJS_Context* cc,
 
   int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0;
 
-  CPDF_Document* pDocument = m_pDocument->GetDocument();
+  CPDF_Document* pDocument = m_pDocument->GetPDFDocument();
   ASSERT(pDocument != NULL);
 
   CJS_Context* pContext = static_cast<CJS_Context*>(cc);
@@ -1642,7 +1633,7 @@ FX_BOOL Document::getPrintParams(IJS_Context* cc,
   CJS_Context* pContext = (CJS_Context*)cc;
   CJS_Runtime* pRuntime = pContext->GetJSRuntime();
   v8::Local<v8::Object> pRetObj = FXJS_NewFxDynamicObj(
-      pRuntime->GetIsolate(), pContext, CJS_PrintParamsObj::g_nObjDefnID);
+      pRuntime->GetIsolate(), pRuntime, CJS_PrintParamsObj::g_nObjDefnID);
 
   // Not implemented yet.