summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript
diff options
context:
space:
mode:
authortonikitoo <tonikitoo@igalia.com>2016-08-08 10:52:51 -0700
committerCommit bot <commit-bot@chromium.org>2016-08-08 10:52:51 -0700
commit33c4cdb4efbacb73151c982549151ea4e545eff8 (patch)
treef8ddbbc8ec7b14a80b01c1d6004cde446e4da056 /fpdfsdk/javascript
parente5aff74a43a2c3355a8b7699a47d0fb7f23b243e (diff)
downloadpdfium-33c4cdb4efbacb73151c982549151ea4e545eff8.tar.xz
Add support to Document::URL property getter.
As per the PDF specification at [1] " This property specifies the document's URL. ". IE/Acrobat supports it, and getting it implemented would be one step forward in order to support Acrobat JS script as the one in [2]. [1] http://partners.adobe.com/public/developer/en/acrobat/sdk/5186AcroJS.pdf [2] https://bugs.chromium.org/p/pdfium/issues/detail?id=492 BUG=492 Review-Url: https://codereview.chromium.org/2219183002
Diffstat (limited to 'fpdfsdk/javascript')
-rw-r--r--fpdfsdk/javascript/Document.cpp13
-rw-r--r--fpdfsdk/javascript/Document.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index 9c680de906..161a5d09e9 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -91,6 +91,7 @@ JS_STATIC_PROP_ENTRY(path)
JS_STATIC_PROP_ENTRY(producer)
JS_STATIC_PROP_ENTRY(subject)
JS_STATIC_PROP_ENTRY(title)
+JS_STATIC_PROP_ENTRY(URL)
JS_STATIC_PROP_ENTRY(zoom)
JS_STATIC_PROP_ENTRY(zoomType)
END_JS_STATIC_PROP()
@@ -904,6 +905,18 @@ FX_BOOL Document::mouseY(IJS_Context* cc,
return TRUE;
}
+FX_BOOL Document::URL(IJS_Context* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ if (vp.IsSetting()) {
+ CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ sError = JSGetStringFromID(pContext, IDS_STRING_JSREADONLY);
+ return FALSE;
+ }
+ vp << m_pDocument->GetPath();
+ return TRUE;
+}
+
FX_BOOL Document::baseURL(IJS_Context* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
diff --git a/fpdfsdk/javascript/Document.h b/fpdfsdk/javascript/Document.h
index 7e5d6dfe8a..ae2d6c1afe 100644
--- a/fpdfsdk/javascript/Document.h
+++ b/fpdfsdk/javascript/Document.h
@@ -259,6 +259,7 @@ class Document : public CJS_EmbedObj {
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
+ FX_BOOL URL(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
void AttachDoc(CPDFSDK_Document* pDoc);
CPDFSDK_Document* GetReaderDoc();
@@ -324,6 +325,7 @@ class CJS_Document : public CJS_Object {
JS_STATIC_PROP(producer, Document);
JS_STATIC_PROP(subject, Document);
JS_STATIC_PROP(title, Document);
+ JS_STATIC_PROP(URL, Document);
JS_STATIC_PROP(zoom, Document);
JS_STATIC_PROP(zoomType, Document);