package ezjs_extension

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file tabs_utils.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
open Ezjs_min

class type mutedInfo = object
  method extensionId : js_string t optdef prop
  method muted : bool t prop
  method reason : js_string t optdef prop
end

class type tab = object
  method active : bool t prop
  method attention : bool t optdef prop
  method audible : bool t optdef prop
  method autoDiscardable : bool t optdef prop
  method cookieStoreId : js_string t optdef prop
  method discarded : bool t optdef prop
  method favIconUrl : js_string t optdef prop
  method height : int optdef prop
  method hidden : bool t prop
  method highlighted : bool t prop
  method id : int optdef prop
  method incognito : bool t prop
  method index : int prop
  method isArticle : bool t prop
  method isInReaderMode : bool t prop
  method lastAccessed : float t prop
  method mutedInfo : mutedInfo t optdef prop
  method openerTabId : int optdef prop
  method pinned : bool t prop
  method selected : bool t prop
  method sessionId : js_string t optdef prop
  method status : js_string t optdef prop
  method successorId : int optdef prop
  method title : js_string t optdef prop
  method url : js_string t optdef prop
  method width : int optdef prop
  method windowId : int prop
end

class type queryInfo = object
  method active : bool t optdef prop
  method audible : bool t optdef prop
  method autoDiscardable : bool t optdef prop
  method currentWindow : bool t optdef prop
  method discarded : bool t optdef prop
  method highlighted : bool t optdef prop
  method index : int optdef prop
  method lastFocusedWindow : bool t optdef prop
  method muted : bool t optdef prop
  method pinned : bool t optdef prop
  method status : js_string t optdef prop
  method title : js_string t optdef prop
  method url : js_string t optdef prop
  method windowId : int optdef prop
  method windowType : js_string t optdef prop
end

class type updateProperties = object
  method active : bool t optdef prop
  method autoDiscardable : bool t optdef prop
  method highlighted : bool t optdef prop
  method muted : bool t optdef prop
  method openerTabId : int optdef prop
  method pinned : bool t optdef prop
  method selected : bool t optdef prop
  method url : js_string t optdef prop
end

class type createProperties = object
  method active : bool t optdef prop
  method index : int optdef prop
  method openerTabId : int optdef prop
  method pinned : bool t optdef prop
  method selected : bool t optdef prop
  method url : js_string t optdef prop
  method windowId : int optdef prop
end

class type imageDetails = object
  method format : js_string t optdef prop
  method quality : int optdef prop
end

class type details = object
  method allFrames : bool t optdef prop
  method code : js_string t optdef prop
  method cssOrigin : js_string t optdef prop
  method file : js_string t optdef prop
  method frameId : int optdef prop
  method matchAboutBlank : bool t optdef prop
  method runAt : js_string t optdef prop
end

class type moveProperties = object
  method windowId : int optdef prop
  method index : int prop
end

class type pageSettings = object
  method edgeBottom : int optdef prop
  method edgeLeft : int optdef prop
  method edgeRight : int optdef prop
  method edgeTop : int optdef prop
  method footerCenter : js_string t optdef prop
  method footerLeft : js_string t optdef prop
  method footerRight : js_string t optdef prop
  method headerCenter : js_string t optdef prop
  method headerLeft : js_string t optdef prop
  method headerRight : js_string t optdef prop
  method marginBottom : int optdef prop
  method marginLeft : int optdef prop
  method marginRight : int optdef prop
  method marginTop : int optdef prop
  method orientation : int optdef prop
  method paperHeight : int optdef prop
  method paperSizeUnit : int optdef prop
  method paperWIdth : int optdef prop
  method scaling : int optdef prop
  method showBackgroundColors : bool t optdef prop
  method showBackgroundImages : bool t optdef prop
  method shrinkToFit : bool t optdef prop
end

class type zoomSettings = object
  method defaultZoomFactor : int optdef prop
  method mode : js_string t optdef prop
  method scope : js_string t optdef prop
end

class type highlightInfo = object
  method windowId : int optdef prop
  method tabs : int optdef prop
  method tabs_arr : int js_array t optdef prop
  method populate : bool optdef prop
end

class type reloadProperties = object
  method bypassCache: bool t optdef prop
end

class type moveInSuccessionOptions = object
  method append: bool t optdef prop
  method insert: bool t optdef prop
end

let make_script_details
    ?allFrames ?code ?cssOrigin ?file ?frameId ?matchAboutBlank ?runAt () =
  let details : details t = Unsafe.obj [||] in
  details##.allFrames := optdef bool allFrames;
  details##.code := optdef string code;
  details##.cssOrigin := optdef string cssOrigin;
  details##.file := optdef string file;
  details##.frameId := Optdef.option frameId;
  details##.matchAboutBlank := optdef bool matchAboutBlank;
  details##.runAt := optdef string runAt;
  details

let make_query
    ?active ?audible ?autoDiscardable ?currentWindow ?discarded ?highlighted
    ?index ?lastFocusedWindow ?muted ?pinned ?status ?title ?url ?windowId
    ?windowType () =
  let query : queryInfo t = Unsafe.obj [||] in
  query##.active := optdef bool active;
  query##.audible := optdef bool audible;
  query##.autoDiscardable := optdef bool autoDiscardable;
  query##.currentWindow := optdef bool currentWindow;
  query##.discarded := optdef bool discarded;
  query##.highlighted := optdef bool highlighted;
  query##.index := Optdef.option index;
  query##.lastFocusedWindow := optdef bool lastFocusedWindow;
  query##.muted := optdef bool muted;
  query##.pinned := optdef bool pinned;
  query##.status := optdef string status;
  query##.title := optdef string title;
  query##.url := optdef string url;
  query##.windowId := Optdef.option windowId;
  query##.windowType := optdef string windowType;
  query
OCaml

Innovation. Community. Security.