summaryrefslogtreecommitdiff
path: root/fxjs/xfa/cjx_object.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-12-13 18:29:02 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-12-13 18:29:02 +0000
commit2614250d4f11ed02033a7da095a1694ece12ab78 (patch)
treecc41c5770c17ea47537856991fa44cd1e2acfeb8 /fxjs/xfa/cjx_object.h
parent14768f3264a4cff8ca0096a27e41f1861b2c422b (diff)
downloadpdfium-2614250d4f11ed02033a7da095a1694ece12ab78.tar.xz
Methods are on CJX_Object not CJX_Node now
This CL converts all of the JSNode() to JSObject() calls as all of the original CJX_Node methods have been moved to CJX_Object. This fixes potential bad casts from things like CJX_Content which do not inhert from CJX_Node. Bug: pdfium:793372 Change-Id: I6c7f63a78f3d47bb6bad74faed3fd8c535bf095e Reviewed-on: https://pdfium-review.googlesource.com/21090 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fxjs/xfa/cjx_object.h')
-rw-r--r--fxjs/xfa/cjx_object.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h
index cb1fef62da..b704037e4f 100644
--- a/fxjs/xfa/cjx_object.h
+++ b/fxjs/xfa/cjx_object.h
@@ -23,6 +23,7 @@ class CFXJSE_Value;
class CJS_V8;
class CXFA_CalcData;
class CXFA_Document;
+class CXFA_LayoutItem;
class CXFA_Object;
struct XFA_MAPMODULEDATA;
@@ -58,6 +59,12 @@ class CJX_Object {
}
CXFA_WidgetData* GetWidgetData() const { return widget_data_.get(); }
+ void SetCalcRecursionCount(size_t count) { calc_recursion_count_ = count; }
+ size_t GetCalcRecursionCount() const { return calc_recursion_count_; }
+
+ void SetLayoutItem(CXFA_LayoutItem* item) { layout_item_ = item; }
+ CXFA_LayoutItem* GetLayoutItem() const { return layout_item_.Get(); }
+
bool HasMethod(const WideString& func) const;
CJS_Return RunMethod(const WideString& func,
const std::vector<v8::Local<v8::Value>>& params);
@@ -353,11 +360,13 @@ class CJX_Object {
void RemoveMapModuleKey(void* pKey);
void MoveBufferMapData(CXFA_Object* pDstModule);
- std::unique_ptr<CXFA_WidgetData> widget_data_;
UnownedPtr<CXFA_Object> object_;
+ UnownedPtr<CXFA_LayoutItem> layout_item_;
+ std::unique_ptr<CXFA_WidgetData> widget_data_;
std::unique_ptr<XFA_MAPMODULEDATA> map_module_data_;
std::unique_ptr<CXFA_CalcData> calc_data_;
std::map<ByteString, CJX_MethodCall> method_specs_;
+ size_t calc_recursion_count_ = 0;
};
#endif // FXJS_XFA_CJX_OBJECT_H_