Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM CSPDictionaries.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #ifndef mozilla_dom_CSPDictionariesBinding_h
4 : #define mozilla_dom_CSPDictionariesBinding_h
5 :
6 : #include "js/RootingAPI.h"
7 : #include "jspubtd.h"
8 : #include "mozilla/ErrorResult.h"
9 : #include "mozilla/dom/BindingDeclarations.h"
10 : #include "mozilla/dom/Nullable.h"
11 :
12 : namespace mozilla {
13 : namespace dom {
14 :
15 : struct CSP;
16 : struct CSPAtoms;
17 : struct CSPPoliciesAtoms;
18 : struct NativePropertyHooks;
19 : class ProtoAndIfaceCache;
20 :
21 : } // namespace dom
22 : } // namespace mozilla
23 :
24 : namespace mozilla {
25 : namespace dom {
26 :
27 0 : struct CSP : public DictionaryBase
28 : {
29 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mBase_uri;
30 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mBlock_all_mixed_content;
31 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mChild_src;
32 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mConnect_src;
33 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mDefault_src;
34 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mFont_src;
35 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mForm_action;
36 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mFrame_ancestors;
37 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mFrame_src;
38 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mImg_src;
39 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mManifest_src;
40 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mMedia_src;
41 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mObject_src;
42 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mReferrer;
43 : MOZ_INIT_OUTSIDE_CTOR bool mReport_only;
44 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mReport_uri;
45 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mRequire_sri_for;
46 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mSandbox;
47 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mScript_src;
48 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mStyle_src;
49 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<nsString>> mUpgrade_insecure_requests;
50 :
51 : CSP();
52 :
53 : explicit inline CSP(const FastDictionaryInitializer& )
54 : {
55 : // Do nothing here; this is used by our "Fast" subclass
56 : }
57 :
58 0 : explicit inline CSP(const CSP& aOther)
59 0 : {
60 0 : *this = aOther;
61 0 : }
62 :
63 : bool
64 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
65 :
66 : bool
67 : Init(const nsAString& aJSON);
68 :
69 : bool
70 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
71 :
72 : bool
73 : ToJSON(nsAString& aJSON) const;
74 :
75 : void
76 : TraceDictionary(JSTracer* trc);
77 :
78 : CSP&
79 : operator=(const CSP& aOther);
80 :
81 : private:
82 : static bool
83 : InitIds(JSContext* cx, CSPAtoms* atomsCache);
84 : };
85 :
86 : namespace binding_detail {
87 : struct FastCSP : public CSP
88 : {
89 : inline FastCSP()
90 : : CSP(FastDictionaryInitializer())
91 : {
92 : // Doesn't matter what int we pass to the parent constructor
93 : }
94 : };
95 : } // namespace binding_detail
96 :
97 :
98 0 : struct CSPPolicies : public DictionaryBase
99 : {
100 : MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<CSP>> mCsp_policies;
101 :
102 : CSPPolicies();
103 :
104 : explicit inline CSPPolicies(const FastDictionaryInitializer& )
105 : {
106 : // Do nothing here; this is used by our "Fast" subclass
107 : }
108 :
109 : explicit inline CSPPolicies(const CSPPolicies& aOther)
110 : {
111 : *this = aOther;
112 : }
113 :
114 : bool
115 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
116 :
117 : bool
118 : Init(const nsAString& aJSON);
119 :
120 : bool
121 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
122 :
123 : bool
124 : ToJSON(nsAString& aJSON) const;
125 :
126 : void
127 : TraceDictionary(JSTracer* trc);
128 :
129 : CSPPolicies&
130 : operator=(const CSPPolicies& aOther);
131 :
132 : private:
133 : static bool
134 : InitIds(JSContext* cx, CSPPoliciesAtoms* atomsCache);
135 : };
136 :
137 : namespace binding_detail {
138 : struct FastCSPPolicies : public CSPPolicies
139 : {
140 : inline FastCSPPolicies()
141 : : CSPPolicies(FastDictionaryInitializer())
142 : {
143 : // Doesn't matter what int we pass to the parent constructor
144 : }
145 : };
146 : } // namespace binding_detail
147 :
148 :
149 : } // namespace dom
150 : } // namespace mozilla
151 :
152 : #endif // mozilla_dom_CSPDictionariesBinding_h
|