/
pictureinpicture.go
410 lines (361 loc) · 11.8 KB
/
pictureinpicture.go
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
// Code generated by webidl-bind. DO NOT EDIT.
// +build !js
package pictureinpicture
import js "github.com/gowebapi/webapi/core/js"
import (
"github.com/gowebapi/webapi/core"
"github.com/gowebapi/webapi/dom/domcore"
"github.com/gowebapi/webapi/javascript"
)
// using following types:
// domcore.Event
// domcore.EventHandler
// domcore.EventTarget
// javascript.PromiseFinally
// source idl files:
// picture-in-picture.idl
// promises.idl
// transform files:
// picture-in-picture.go.md
// promises.go.md
// workaround for compiler error
func unused(value interface{}) {
// TODO remove this method
}
type Union struct {
Value js.Value
}
func (u *Union) JSValue() js.Value {
return u.Value
}
func UnionFromJS(value js.Value) *Union {
return &Union{Value: value}
}
// callback: PromiseTemplateOnFulfilled
type PromisePictureInPictureWindowOnFulfilledFunc func(value *PictureInPictureWindow)
// PromisePictureInPictureWindowOnFulfilled is a javascript function type.
//
// Call Release() when done to release resouces
// allocated to this type.
type PromisePictureInPictureWindowOnFulfilled js.Func
func PromisePictureInPictureWindowOnFulfilledToJS(callback PromisePictureInPictureWindowOnFulfilledFunc) *PromisePictureInPictureWindowOnFulfilled {
if callback == nil {
return nil
}
ret := PromisePictureInPictureWindowOnFulfilled(js.FuncOf(func(this js.Value, args []js.Value) interface{} {
var (
_p0 *PictureInPictureWindow // javascript: PictureInPictureWindow value
)
_p0 = PictureInPictureWindowFromJS(args[0])
callback(_p0)
// returning no return value
return nil
}))
return &ret
}
func PromisePictureInPictureWindowOnFulfilledFromJS(_value js.Value) PromisePictureInPictureWindowOnFulfilledFunc {
return func(value *PictureInPictureWindow) {
var (
_args [1]interface{}
_end int
)
_p0 := value.JSValue()
_args[0] = _p0
_end++
_value.Invoke(_args[0:_end]...)
return
}
}
// callback: PromiseTemplateOnRejected
type PromisePictureInPictureWindowOnRejectedFunc func(reason js.Value)
// PromisePictureInPictureWindowOnRejected is a javascript function type.
//
// Call Release() when done to release resouces
// allocated to this type.
type PromisePictureInPictureWindowOnRejected js.Func
func PromisePictureInPictureWindowOnRejectedToJS(callback PromisePictureInPictureWindowOnRejectedFunc) *PromisePictureInPictureWindowOnRejected {
if callback == nil {
return nil
}
ret := PromisePictureInPictureWindowOnRejected(js.FuncOf(func(this js.Value, args []js.Value) interface{} {
var (
_p0 js.Value // javascript: any reason
)
_p0 = args[0]
callback(_p0)
// returning no return value
return nil
}))
return &ret
}
func PromisePictureInPictureWindowOnRejectedFromJS(_value js.Value) PromisePictureInPictureWindowOnRejectedFunc {
return func(reason js.Value) {
var (
_args [1]interface{}
_end int
)
_p0 := reason
_args[0] = _p0
_end++
_value.Invoke(_args[0:_end]...)
return
}
}
// dictionary: EnterPictureInPictureEventInit
type EnterPictureInPictureEventInit struct {
Bubbles bool
Cancelable bool
Composed bool
PictureInPictureWindow *PictureInPictureWindow
}
// JSValue is allocating a new javascript object and copy
// all values
func (_this *EnterPictureInPictureEventInit) JSValue() js.Value {
out := js.Global().Get("Object").New()
value0 := _this.Bubbles
out.Set("bubbles", value0)
value1 := _this.Cancelable
out.Set("cancelable", value1)
value2 := _this.Composed
out.Set("composed", value2)
value3 := _this.PictureInPictureWindow.JSValue()
out.Set("pictureInPictureWindow", value3)
return out
}
// EnterPictureInPictureEventInitFromJS is allocating a new
// EnterPictureInPictureEventInit object and copy all values in the value javascript object.
func EnterPictureInPictureEventInitFromJS(value js.Value) *EnterPictureInPictureEventInit {
var out EnterPictureInPictureEventInit
var (
value0 bool // javascript: boolean {bubbles Bubbles bubbles}
value1 bool // javascript: boolean {cancelable Cancelable cancelable}
value2 bool // javascript: boolean {composed Composed composed}
value3 *PictureInPictureWindow // javascript: PictureInPictureWindow {pictureInPictureWindow PictureInPictureWindow pictureInPictureWindow}
)
value0 = (value.Get("bubbles")).Bool()
out.Bubbles = value0
value1 = (value.Get("cancelable")).Bool()
out.Cancelable = value1
value2 = (value.Get("composed")).Bool()
out.Composed = value2
value3 = PictureInPictureWindowFromJS(value.Get("pictureInPictureWindow"))
out.PictureInPictureWindow = value3
return &out
}
// class: EnterPictureInPictureEvent
type EnterPictureInPictureEvent struct {
domcore.Event
}
// EnterPictureInPictureEventFromJS is casting a js.Value into EnterPictureInPictureEvent.
func EnterPictureInPictureEventFromJS(value js.Value) *EnterPictureInPictureEvent {
if typ := value.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
return nil
}
ret := &EnterPictureInPictureEvent{}
ret.Value_JS = value
return ret
}
// EnterPictureInPictureEventFromJS is casting from something that holds a js.Value into EnterPictureInPictureEvent.
func EnterPictureInPictureEventFromWrapper(input core.Wrapper) *EnterPictureInPictureEvent {
return EnterPictureInPictureEventFromJS(input.JSValue())
}
func NewEnterPictureInPictureEvent(_type string, eventInitDict *EnterPictureInPictureEventInit) (_result *EnterPictureInPictureEvent) {
_klass := js.Global().Get("EnterPictureInPictureEvent")
var (
_args [2]interface{}
_end int
)
_p0 := _type
_args[0] = _p0
_end++
_p1 := eventInitDict.JSValue()
_args[1] = _p1
_end++
_returned := _klass.New(_args[0:_end]...)
var (
_converted *EnterPictureInPictureEvent // javascript: EnterPictureInPictureEvent _what_return_name
)
_converted = EnterPictureInPictureEventFromJS(_returned)
_result = _converted
return
}
// PictureInPictureWindow returning attribute 'pictureInPictureWindow' with
// type PictureInPictureWindow (idl: PictureInPictureWindow).
func (_this *EnterPictureInPictureEvent) PictureInPictureWindow() *PictureInPictureWindow {
var ret *PictureInPictureWindow
value := _this.Value_JS.Get("pictureInPictureWindow")
ret = PictureInPictureWindowFromJS(value)
return ret
}
// class: PictureInPictureWindow
type PictureInPictureWindow struct {
domcore.EventTarget
}
// PictureInPictureWindowFromJS is casting a js.Value into PictureInPictureWindow.
func PictureInPictureWindowFromJS(value js.Value) *PictureInPictureWindow {
if typ := value.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
return nil
}
ret := &PictureInPictureWindow{}
ret.Value_JS = value
return ret
}
// PictureInPictureWindowFromJS is casting from something that holds a js.Value into PictureInPictureWindow.
func PictureInPictureWindowFromWrapper(input core.Wrapper) *PictureInPictureWindow {
return PictureInPictureWindowFromJS(input.JSValue())
}
// Width returning attribute 'width' with
// type int (idl: long).
func (_this *PictureInPictureWindow) Width() int {
var ret int
value := _this.Value_JS.Get("width")
ret = (value).Int()
return ret
}
// Height returning attribute 'height' with
// type int (idl: long).
func (_this *PictureInPictureWindow) Height() int {
var ret int
value := _this.Value_JS.Get("height")
ret = (value).Int()
return ret
}
// OnResize returning attribute 'onresize' with
// type domcore.EventHandler (idl: EventHandlerNonNull).
func (_this *PictureInPictureWindow) OnResize() domcore.EventHandlerFunc {
var ret domcore.EventHandlerFunc
value := _this.Value_JS.Get("onresize")
if value.Type() != js.TypeNull && value.Type() != js.TypeUndefined {
ret = domcore.EventHandlerFromJS(value)
}
return ret
}
// event attribute: domcore.Event
func eventFuncPictureInPictureWindow_domcore_Event(listener func(event *domcore.Event, target *PictureInPictureWindow)) js.Func {
fn := func(this js.Value, args []js.Value) interface{} {
var ret *domcore.Event
value := args[0]
incoming := value.Get("target")
ret = domcore.EventFromJS(value)
src := PictureInPictureWindowFromJS(incoming)
listener(ret, src)
return js.Undefined()
}
return js.FuncOf(fn)
}
// AddResize is adding doing AddEventListener for 'Resize' on target.
// This method is returning allocated javascript function that need to be released.
func (_this *PictureInPictureWindow) AddEventResize(listener func(event *domcore.Event, currentTarget *PictureInPictureWindow)) js.Func {
cb := eventFuncPictureInPictureWindow_domcore_Event(listener)
_this.Value_JS.Call("addEventListener", "resize", cb)
return cb
}
// SetOnResize is assigning a function to 'onresize'. This
// This method is returning allocated javascript function that need to be released.
func (_this *PictureInPictureWindow) SetOnResize(listener func(event *domcore.Event, currentTarget *PictureInPictureWindow)) js.Func {
cb := eventFuncPictureInPictureWindow_domcore_Event(listener)
_this.Value_JS.Set("onresize", cb)
return cb
}
// class: Promise
type PromisePictureInPictureWindow struct {
// Value_JS holds a reference to a javascript value
Value_JS js.Value
}
// JSValue returns the js.Value or js.Null() if _this is nil
func (_this *PromisePictureInPictureWindow) JSValue() js.Value {
if _this == nil {
return js.Null()
}
return _this.Value_JS
}
// PromisePictureInPictureWindowFromJS is casting a js.Value into PromisePictureInPictureWindow.
func PromisePictureInPictureWindowFromJS(value js.Value) *PromisePictureInPictureWindow {
if typ := value.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
return nil
}
ret := &PromisePictureInPictureWindow{}
ret.Value_JS = value
return ret
}
// PromisePictureInPictureWindowFromJS is casting from something that holds a js.Value into PromisePictureInPictureWindow.
func PromisePictureInPictureWindowFromWrapper(input core.Wrapper) *PromisePictureInPictureWindow {
return PromisePictureInPictureWindowFromJS(input.JSValue())
}
func (_this *PromisePictureInPictureWindow) Then(onFulfilled *PromisePictureInPictureWindowOnFulfilled, onRejected *PromisePictureInPictureWindowOnRejected) (_result *PromisePictureInPictureWindow) {
var (
_args [2]interface{}
_end int
)
var __callback0 js.Value
if onFulfilled != nil {
__callback0 = (*onFulfilled).Value
} else {
__callback0 = js.Null()
}
_p0 := __callback0
_args[0] = _p0
_end++
if onRejected != nil {
var __callback1 js.Value
if onRejected != nil {
__callback1 = (*onRejected).Value
} else {
__callback1 = js.Null()
}
_p1 := __callback1
_args[1] = _p1
_end++
}
_returned := _this.Value_JS.Call("then", _args[0:_end]...)
var (
_converted *PromisePictureInPictureWindow // javascript: Promise _what_return_name
)
_converted = PromisePictureInPictureWindowFromJS(_returned)
_result = _converted
return
}
func (_this *PromisePictureInPictureWindow) Catch(onRejected *PromisePictureInPictureWindowOnRejected) (_result *PromisePictureInPictureWindow) {
var (
_args [1]interface{}
_end int
)
var __callback0 js.Value
if onRejected != nil {
__callback0 = (*onRejected).Value
} else {
__callback0 = js.Null()
}
_p0 := __callback0
_args[0] = _p0
_end++
_returned := _this.Value_JS.Call("catch", _args[0:_end]...)
var (
_converted *PromisePictureInPictureWindow // javascript: Promise _what_return_name
)
_converted = PromisePictureInPictureWindowFromJS(_returned)
_result = _converted
return
}
func (_this *PromisePictureInPictureWindow) Finally(onFinally *javascript.PromiseFinally) (_result *PromisePictureInPictureWindow) {
var (
_args [1]interface{}
_end int
)
var __callback0 js.Value
if onFinally != nil {
__callback0 = (*onFinally).Value
} else {
__callback0 = js.Null()
}
_p0 := __callback0
_args[0] = _p0
_end++
_returned := _this.Value_JS.Call("finally", _args[0:_end]...)
var (
_converted *PromisePictureInPictureWindow // javascript: Promise _what_return_name
)
_converted = PromisePictureInPictureWindowFromJS(_returned)
_result = _converted
return
}