document.delay and document.external are boolean properties.
authorTom Sepez <tsepez@chromium.org>
Thu, 23 Jul 2015 23:07:59 +0000 (16:07 -0700)
committerTom Sepez <tsepez@chromium.org>
Thu, 23 Jul 2015 23:07:59 +0000 (16:07 -0700)
This is the javascript test failure at 320b2313d198.
The spec says they are booleans, not ints, so correct the behaviour now.

R=thestig@chromium.org

Review URL: https://codereview.chromium.org/1242263010 .

fpdfsdk/include/javascript/Document.h
fpdfsdk/src/javascript/Document.cpp
testing/resources/javascript/document_props_expected.txt

index 6b40069..b6447fd 100644 (file)
@@ -182,7 +182,7 @@ private:
        IconTree*                               m_pIconTree;
        CPDFSDK_Document*                       m_pDocument;
        CFX_WideString                          m_cwBaseURL;
-       FX_BOOL                                 m_bDelay;
+       bool                                    m_bDelay;
        CFX_ArrayTemplate<CJS_DelayData*>       m_DelayData;
        CFX_ArrayTemplate<CJS_AnnotObj*>        m_DelayAnnotData;
 };
index fc453b0..59816f0 100644 (file)
@@ -940,9 +940,7 @@ FX_BOOL Document::delay(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
         if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY))
             return FALSE;
 
-        bool b;
-        vp >> b;
-        m_bDelay = b;
+        vp >> m_bDelay;
         if (m_bDelay)
         {
             for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++)
@@ -1107,7 +1105,7 @@ FX_BOOL Document::external(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
 {
     //In Chrome case,should always return true.
     if (vp.IsGetting()) {
-        vp << TRUE;
+        vp << true;
     }
     return TRUE;
 }
index 728d245..4b60a62 100644 (file)
@@ -7,10 +7,10 @@ Alert: this.calculate is boolean true
 Alert: this.Collab is undefined undefined
 Alert: this.creationDate is string 
 Alert: this.creator is string Joe Random Creator
-Alert: this.delay is number 0
+Alert: this.delay is boolean false
 Alert: this.dirty is boolean false
 Alert: this.documentFileName is string 
-Alert: this.external is number 1
+Alert: this.external is boolean true
 Alert: this.filesize is number 0
 Alert: this.icons is undefined undefined
 Alert: this.info is object [object Object]
@@ -72,10 +72,10 @@ Alert: this.calculate is boolean true
 Alert: this.Collab is undefined undefined
 Alert: this.creationDate is string 3
 Alert: this.creator is string 3
-Alert: this.delay is number 1
+Alert: this.delay is boolean true
 Alert: this.dirty is boolean true
 Alert: this.documentFileName is string 
-Alert: this.external is number 1
+Alert: this.external is boolean true
 Alert: this.filesize is number 0
 Alert: this.icons is undefined undefined
 Alert: this.info is object [object Object]