document.delay and document.external are boolean properties.
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 .
diff --git a/fpdfsdk/include/javascript/Document.h b/fpdfsdk/include/javascript/Document.h
index 6b40069..b6447fd 100644
--- a/fpdfsdk/include/javascript/Document.h
+++ b/fpdfsdk/include/javascript/Document.h
@@ -182,7 +182,7 @@
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;
};
diff --git a/fpdfsdk/src/javascript/Document.cpp b/fpdfsdk/src/javascript/Document.cpp
index fc453b0..59816f0 100644
--- a/fpdfsdk/src/javascript/Document.cpp
+++ b/fpdfsdk/src/javascript/Document.cpp
@@ -940,9 +940,7 @@
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 @@
{
//In Chrome case,should always return true.
if (vp.IsGetting()) {
- vp << TRUE;
+ vp << true;
}
return TRUE;
}
diff --git a/testing/resources/javascript/document_props_expected.txt b/testing/resources/javascript/document_props_expected.txt
index 728d245..4b60a62 100644
--- a/testing/resources/javascript/document_props_expected.txt
+++ b/testing/resources/javascript/document_props_expected.txt
@@ -7,10 +7,10 @@
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.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]