diff options
author | tonikitoo <tonikitoo@igalia.com> | 2016-08-08 10:52:51 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-08 10:52:51 -0700 |
commit | 33c4cdb4efbacb73151c982549151ea4e545eff8 (patch) | |
tree | f8ddbbc8ec7b14a80b01c1d6004cde446e4da056 /fpdfsdk/javascript | |
parent | e5aff74a43a2c3355a8b7699a47d0fb7f23b243e (diff) | |
download | pdfium-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.cpp | 13 | ||||
-rw-r--r-- | fpdfsdk/javascript/Document.h | 2 |
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); |