summaryrefslogtreecommitdiff
path: root/fxjs/xfa/cjx_object.h
diff options
context:
space:
mode:
authorPeter Collingbourne <pcc@google.com>2018-06-14 18:56:08 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-14 18:56:08 +0000
commitbb3d6313f278feee76f5fba17feff3aee65fb928 (patch)
tree3e7803327967b320fee588e31f51c6983efa6da4 /fxjs/xfa/cjx_object.h
parent27cf78d88fdb44bd246cd17bcc712225388e9134 (diff)
downloadpdfium-bb3d6313f278feee76f5fba17feff3aee65fb928.tar.xz
Move definition of XFA_SCRIPTATTRIBUTEINFO into cjx_object.h.
This allows compilers targeting the MS ABI to select the correct inheritance model for the member function pointer type XFA_ATTRIBUTE_CALLBACK using the complete type of CJX_Object. It will allow us to enable the new Clang flag -fcomplete-member-pointers globally. Bug: chromium:847724 Change-Id: I90cedde8c5355e5eb896a93f0e43e6a1e1d09dbc Reviewed-on: https://pdfium-review.googlesource.com/35190 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fxjs/xfa/cjx_object.h')
-rw-r--r--fxjs/xfa/cjx_object.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h
index 1c5e40514e..44df6c4c5a 100644
--- a/fxjs/xfa/cjx_object.h
+++ b/fxjs/xfa/cjx_object.h
@@ -22,6 +22,7 @@
class CFXJSE_Value;
class CFX_V8;
+class CJX_Object;
class CXFA_CalcData;
class CXFA_Document;
class CXFA_LayoutItem;
@@ -285,4 +286,16 @@ class CJX_Object {
size_t calc_recursion_count_ = 0;
};
+typedef void (CJX_Object::*XFA_ATTRIBUTE_CALLBACK)(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_Attribute eAttribute);
+
+struct XFA_SCRIPTATTRIBUTEINFO {
+ uint32_t uHash;
+ const wchar_t* pName;
+ XFA_ATTRIBUTE_CALLBACK callback;
+ XFA_Attribute attribute;
+ XFA_ScriptType eValueType;
+};
+
#endif // FXJS_XFA_CJX_OBJECT_H_