View Javadoc
1   /*
2    * Copyright (c) 2002-2017 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * http://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package com.gargoylesoftware.htmlunit.javascript.host.svg;
16  
17  import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.CHROME;
18  import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.EDGE;
19  import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF;
20  import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF45;
21  import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF52;
22  import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.IE;
23  
24  import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass;
25  import com.gargoylesoftware.htmlunit.javascript.configuration.JsxConstructor;
26  import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter;
27  import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter;
28  import com.gargoylesoftware.htmlunit.javascript.host.Element;
29  import com.gargoylesoftware.htmlunit.javascript.host.css.CSSStyleDeclaration;
30  import com.gargoylesoftware.htmlunit.svg.SvgElement;
31  
32  import net.sourceforge.htmlunit.corejs.javascript.Function;
33  
34  /**
35   * A JavaScript object for {@code SVGElement}.
36   *
37   * @author Ahmed Ashour
38   */
39  @JsxClass(domClass = SvgElement.class)
40  public class SVGElement extends Element {
41  
42      /**
43       * Creates an instance.
44       */
45      @JsxConstructor({CHROME, FF, EDGE})
46      public SVGElement() {
47      }
48  
49      /**
50       * Returns the bounding box, in current user space, of the geometry of all contained graphics elements.
51       * @return the bounding box
52       */
53      protected SVGRect getBBox() {
54          final SVGRect rect = new SVGRect();
55          rect.setParentScope(getParentScope());
56          rect.setPrototype(getPrototype(rect.getClass()));
57          return rect;
58      }
59  
60      /**
61       * {@inheritDoc}
62       */
63      @Override
64      @JsxGetter
65      public CSSStyleDeclaration getStyle() {
66          return super.getStyle();
67      }
68  
69      /**
70       * {@inheritDoc}
71       */
72      @Override
73      @JsxSetter
74      public void setStyle(final String style) {
75          super.setStyle(style);
76      }
77  
78      /**
79       * {@inheritDoc}
80       */
81      @Override
82      @JsxGetter(IE)
83      public String getId() {
84          return super.getId();
85      }
86  
87      /**
88       * {@inheritDoc}
89       */
90      @Override
91      @JsxSetter(IE)
92      public void setId(final String newId) {
93          super.setId(newId);
94      }
95  
96      /**
97       * Returns the {@code onfocus} event handler.
98       * @return the {@code onfocus} event handler
99       */
100     @JsxGetter({CHROME, FF})
101     public Function getOnfocus() {
102         return getEventHandler("focus");
103     }
104 
105     /**
106      * Sets the {@code onfocus} event handler.
107      * @param focus the {@code onfocus} event handler
108      */
109     @JsxSetter({CHROME, FF})
110     public void setOnfocus(final Object focus) {
111         setEventHandler("focus", focus);
112     }
113 
114     /**
115      * Returns the {@code ondragend} event handler.
116      * @return the {@code ondragend} event handler
117      */
118     @JsxGetter({CHROME, FF})
119     public Function getOndragend() {
120         return getEventHandler("dragend");
121     }
122 
123     /**
124      * Sets the {@code ondragend} event handler.
125      * @param dragend the {@code ondragend} event handler
126      */
127     @JsxSetter({CHROME, FF})
128     public void setOndragend(final Object dragend) {
129         setEventHandler("dragend", dragend);
130     }
131 
132     /**
133      * Returns the {@code oninvalid} event handler.
134      * @return the {@code oninvalid} event handler
135      */
136     @JsxGetter({CHROME, FF})
137     public Function getOninvalid() {
138         return getEventHandler("invalid");
139     }
140 
141     /**
142      * Sets the {@code oninvalid} event handler.
143      * @param invalid the {@code oninvalid} event handler
144      */
145     @JsxSetter({CHROME, FF})
146     public void setOninvalid(final Object invalid) {
147         setEventHandler("invalid", invalid);
148     }
149 
150     /**
151      * {@inheritDoc}
152      */
153     @Override
154     @JsxGetter(CHROME)
155     public Function getOnpointercancel() {
156         return getEventHandler("pointercancel");
157     }
158 
159     /**
160      * {@inheritDoc}
161      */
162     @Override
163     @JsxSetter(CHROME)
164     public void setOnpointercancel(final Object pointercancel) {
165         setEventHandler("pointercancel", pointercancel);
166     }
167 
168     /**
169      * {@inheritDoc}
170      */
171     @Override
172     @JsxGetter(CHROME)
173     public Function getOnpointerout() {
174         return getEventHandler("pointerout");
175     }
176 
177     /**
178      * {@inheritDoc}
179      */
180     @Override
181     @JsxSetter(CHROME)
182     public void setOnpointerout(final Object pointerout) {
183         setEventHandler("pointerout", pointerout);
184     }
185 
186     /**
187      * Returns the {@code onratechange} event handler.
188      * @return the {@code onratechange} event handler
189      */
190     @JsxGetter({CHROME, FF})
191     public Function getOnratechange() {
192         return getEventHandler("ratechange");
193     }
194 
195     /**
196      * Sets the {@code onratechange} event handler.
197      * @param ratechange the {@code onratechange} event handler
198      */
199     @JsxSetter({CHROME, FF})
200     public void setOnratechange(final Object ratechange) {
201         setEventHandler("ratechange", ratechange);
202     }
203 
204     /**
205      * Returns the {@code onresize} event handler.
206      * @return the {@code onresize} event handler
207      */
208     @JsxGetter({CHROME, FF})
209     public Function getOnresize() {
210         return getEventHandler("resize");
211     }
212 
213     /**
214      * Sets the {@code onresize} event handler.
215      * @param resize the {@code onresize} event handler
216      */
217     @JsxSetter({CHROME, FF})
218     public void setOnresize(final Object resize) {
219         setEventHandler("resize", resize);
220     }
221 
222     /**
223      * Returns the {@code oncanplaythrough} event handler.
224      * @return the {@code oncanplaythrough} event handler
225      */
226     @JsxGetter({CHROME, FF})
227     public Function getOncanplaythrough() {
228         return getEventHandler("canplaythrough");
229     }
230 
231     /**
232      * Sets the {@code oncanplaythrough} event handler.
233      * @param canplaythrough the {@code oncanplaythrough} event handler
234      */
235     @JsxSetter({CHROME, FF})
236     public void setOncanplaythrough(final Object canplaythrough) {
237         setEventHandler("canplaythrough", canplaythrough);
238     }
239 
240     /**
241      * Returns the {@code oncancel} event handler.
242      * @return the {@code oncancel} event handler
243      */
244     @JsxGetter(CHROME)
245     public Function getOncancel() {
246         return getEventHandler("cancel");
247     }
248 
249     /**
250      * Sets the {@code oncancel} event handler.
251      * @param cancel the {@code oncancel} event handler
252      */
253     @JsxSetter(CHROME)
254     public void setOncancel(final Object cancel) {
255         setEventHandler("cancel", cancel);
256     }
257 
258     /**
259      * {@inheritDoc}
260      */
261     @Override
262     @JsxGetter(CHROME)
263     public Function getOnpointerenter() {
264         return getEventHandler("pointerenter");
265     }
266 
267     /**
268      * {@inheritDoc}
269      */
270     @Override
271     @JsxSetter(CHROME)
272     public void setOnpointerenter(final Object pointerenter) {
273         setEventHandler("pointerenter", pointerenter);
274     }
275 
276     /**
277      * Returns the {@code onselect} event handler.
278      * @return the {@code onselect} event handler
279      */
280     @JsxGetter({CHROME, FF})
281     public Function getOnselect() {
282         return getEventHandler("select");
283     }
284 
285     /**
286      * Sets the {@code onselect} event handler.
287      * @param select the {@code onselect} event handler
288      */
289     @JsxSetter({CHROME, FF})
290     public void setOnselect(final Object select) {
291         setEventHandler("select", select);
292     }
293 
294     /**
295      * Returns the {@code onauxclick} event handler.
296      * @return the {@code onauxclick} event handler
297      */
298     @JsxGetter(CHROME)
299     public Function getOnauxclick() {
300         return getEventHandler("auxclick");
301     }
302 
303     /**
304      * Sets the {@code onauxclick} event handler.
305      * @param auxclick the {@code onauxclick} event handler
306      */
307     @JsxSetter(CHROME)
308     public void setOnauxclick(final Object auxclick) {
309         setEventHandler("auxclick", auxclick);
310     }
311 
312     /**
313      * Returns the {@code onpause} event handler.
314      * @return the {@code onpause} event handler
315      */
316     @JsxGetter({CHROME, FF})
317     public Function getOnpause() {
318         return getEventHandler("pause");
319     }
320 
321     /**
322      * Sets the {@code onpause} event handler.
323      * @param pause the {@code onpause} event handler
324      */
325     @JsxSetter({CHROME, FF})
326     public void setOnpause(final Object pause) {
327         setEventHandler("pause", pause);
328     }
329 
330     /**
331      * Returns the {@code onloadstart} event handler.
332      * @return the {@code onloadstart} event handler
333      */
334     @JsxGetter({CHROME, FF})
335     public Function getOnloadstart() {
336         return getEventHandler("loadstart");
337     }
338 
339     /**
340      * Sets the {@code onloadstart} event handler.
341      * @param loadstart the {@code onloadstart} event handler
342      */
343     @JsxSetter({CHROME, FF})
344     public void setOnloadstart(final Object loadstart) {
345         setEventHandler("loadstart", loadstart);
346     }
347 
348     /**
349      * Returns the {@code onprogress} event handler.
350      * @return the {@code onprogress} event handler
351      */
352     @JsxGetter({CHROME, FF})
353     public Function getOnprogress() {
354         return getEventHandler("progress");
355     }
356 
357     /**
358      * Sets the {@code onprogress} event handler.
359      * @param progress the {@code onprogress} event handler
360      */
361     @JsxSetter({CHROME, FF})
362     public void setOnprogress(final Object progress) {
363         setEventHandler("progress", progress);
364     }
365 
366     /**
367      * {@inheritDoc}
368      */
369     @Override
370     @JsxGetter(CHROME)
371     public Function getOnpointerup() {
372         return getEventHandler("pointerup");
373     }
374 
375     /**
376      * {@inheritDoc}
377      */
378     @Override
379     @JsxSetter(CHROME)
380     public void setOnpointerup(final Object pointerup) {
381         setEventHandler("pointerup", pointerup);
382     }
383 
384     /**
385      * Returns the {@code onscroll} event handler.
386      * @return the {@code onscroll} event handler
387      */
388     @JsxGetter({CHROME, FF})
389     public Function getOnscroll() {
390         return getEventHandler("scroll");
391     }
392 
393     /**
394      * Sets the {@code onscroll} event handler.
395      * @param scroll the {@code onscroll} event handler
396      */
397     @JsxSetter({CHROME, FF})
398     public void setOnscroll(final Object scroll) {
399         setEventHandler("scroll", scroll);
400     }
401 
402     /**
403      * Returns the {@code onkeydown} event handler.
404      * @return the {@code onkeydown} event handler
405      */
406     @JsxGetter({CHROME, FF})
407     public Function getOnkeydown() {
408         return getEventHandler("keydown");
409     }
410 
411     /**
412      * Sets the {@code onkeydown} event handler.
413      * @param keydown the {@code onkeydown} event handler
414      */
415     @JsxSetter({CHROME, FF})
416     public void setOnkeydown(final Object keydown) {
417         setEventHandler("keydown", keydown);
418     }
419 
420     /**
421      * {@inheritDoc}
422      */
423     @Override
424     @JsxGetter(CHROME)
425     public Function getOnpointerleave() {
426         return getEventHandler("pointerleave");
427     }
428 
429     /**
430      * {@inheritDoc}
431      */
432     @Override
433     @JsxSetter(CHROME)
434     public void setOnpointerleave(final Object pointerleave) {
435         setEventHandler("pointerleave", pointerleave);
436     }
437 
438     /**
439      * Returns the {@code onmozpointerlockchange} event handler.
440      * @return the {@code onmozpointerlockchange} event handler
441      */
442     @JsxGetter(FF45)
443     public Function getOnmozpointerlockchange() {
444         return getEventHandler("mozpointerlockchange");
445     }
446 
447     /**
448      * Sets the {@code onmozpointerlockchange} event handler.
449      * @param mozpointerlockchange the {@code onmozpointerlockchange} event handler
450      */
451     @JsxSetter(FF45)
452     public void setOnmozpointerlockchange(final Object mozpointerlockchange) {
453         setEventHandler("mozpointerlockchange", mozpointerlockchange);
454     }
455 
456     /**
457      * Returns the {@code onclick} event handler.
458      * @return the {@code onclick} event handler
459      */
460     @JsxGetter({CHROME, FF})
461     public Function getOnclick() {
462         return getEventHandler("click");
463     }
464 
465     /**
466      * Sets the {@code onclick} event handler.
467      * @param click the {@code onclick} event handler
468      */
469     @JsxSetter({CHROME, FF})
470     public void setOnclick(final Object click) {
471         setEventHandler("click", click);
472     }
473 
474     /**
475      * Returns the {@code onkeyup} event handler.
476      * @return the {@code onkeyup} event handler
477      */
478     @JsxGetter({CHROME, FF})
479     public Function getOnkeyup() {
480         return getEventHandler("keyup");
481     }
482 
483     /**
484      * Sets the {@code onkeyup} event handler.
485      * @param keyup the {@code onkeyup} event handler
486      */
487     @JsxSetter({CHROME, FF})
488     public void setOnkeyup(final Object keyup) {
489         setEventHandler("keyup", keyup);
490     }
491 
492     /**
493      * Returns the {@code onchange} event handler.
494      * @return the {@code onchange} event handler
495      */
496     @JsxGetter({CHROME, FF})
497     public Function getOnchange() {
498         return getEventHandler("change");
499     }
500 
501     /**
502      * Sets the {@code onchange} event handler.
503      * @param change the {@code onchange} event handler
504      */
505     @JsxSetter({CHROME, FF})
506     public void setOnchange(final Object change) {
507         setEventHandler("change", change);
508     }
509 
510     /**
511      * Returns the {@code onreset} event handler.
512      * @return the {@code onreset} event handler
513      */
514     @JsxGetter({CHROME, FF})
515     public Function getOnreset() {
516         return getEventHandler("reset");
517     }
518 
519     /**
520      * Sets the {@code onreset} event handler.
521      * @param reset the {@code onreset} event handler
522      */
523     @JsxSetter({CHROME, FF})
524     public void setOnreset(final Object reset) {
525         setEventHandler("reset", reset);
526     }
527 
528     /**
529      * Returns the {@code onkeypress} event handler.
530      * @return the {@code onkeypress} event handler
531      */
532     @JsxGetter({CHROME, FF})
533     public Function getOnkeypress() {
534         return getEventHandler("keypress");
535     }
536 
537     /**
538      * Sets the {@code onkeypress} event handler.
539      * @param keypress the {@code onkeypress} event handler
540      */
541     @JsxSetter({CHROME, FF})
542     public void setOnkeypress(final Object keypress) {
543         setEventHandler("keypress", keypress);
544     }
545 
546     /**
547      * Returns the {@code ontimeupdate} event handler.
548      * @return the {@code ontimeupdate} event handler
549      */
550     @JsxGetter({CHROME, FF})
551     public Function getOntimeupdate() {
552         return getEventHandler("timeupdate");
553     }
554 
555     /**
556      * Sets the {@code ontimeupdate} event handler.
557      * @param timeupdate the {@code ontimeupdate} event handler
558      */
559     @JsxSetter({CHROME, FF})
560     public void setOntimeupdate(final Object timeupdate) {
561         setEventHandler("timeupdate", timeupdate);
562     }
563 
564     /**
565      * Returns the {@code ondblclick} event handler.
566      * @return the {@code ondblclick} event handler
567      */
568     @JsxGetter({CHROME, FF})
569     public Function getOndblclick() {
570         return getEventHandler("dblclick");
571     }
572 
573     /**
574      * Sets the {@code ondblclick} event handler.
575      * @param dblclick the {@code ondblclick} event handler
576      */
577     @JsxSetter({CHROME, FF})
578     public void setOndblclick(final Object dblclick) {
579         setEventHandler("dblclick", dblclick);
580     }
581 
582     /**
583      * Returns the {@code ondrag} event handler.
584      * @return the {@code ondrag} event handler
585      */
586     @JsxGetter({CHROME, FF})
587     public Function getOndrag() {
588         return getEventHandler("drag");
589     }
590 
591     /**
592      * Sets the {@code ondrag} event handler.
593      * @param drag the {@code ondrag} event handler
594      */
595     @JsxSetter({CHROME, FF})
596     public void setOndrag(final Object drag) {
597         setEventHandler("drag", drag);
598     }
599 
600     /**
601      * Returns the {@code onseeked} event handler.
602      * @return the {@code onseeked} event handler
603      */
604     @JsxGetter({CHROME, FF})
605     public Function getOnseeked() {
606         return getEventHandler("seeked");
607     }
608 
609     /**
610      * Sets the {@code onseeked} event handler.
611      * @param seeked the {@code onseeked} event handler
612      */
613     @JsxSetter({CHROME, FF})
614     public void setOnseeked(final Object seeked) {
615         setEventHandler("seeked", seeked);
616     }
617 
618     /**
619      * Returns the {@code onabort} event handler.
620      * @return the {@code onabort} event handler
621      */
622     @JsxGetter({CHROME, FF})
623     public Function getOnabort() {
624         return getEventHandler("abort");
625     }
626 
627     /**
628      * Sets the {@code onabort} event handler.
629      * @param abort the {@code onabort} event handler
630      */
631     @JsxSetter({CHROME, FF})
632     public void setOnabort(final Object abort) {
633         setEventHandler("abort", abort);
634     }
635 
636     /**
637      * Returns the {@code onloadedmetadata} event handler.
638      * @return the {@code onloadedmetadata} event handler
639      */
640     @JsxGetter({CHROME, FF})
641     public Function getOnloadedmetadata() {
642         return getEventHandler("loadedmetadata");
643     }
644 
645     /**
646      * Sets the {@code onloadedmetadata} event handler.
647      * @param loadedmetadata the {@code onloadedmetadata} event handler
648      */
649     @JsxSetter({CHROME, FF})
650     public void setOnloadedmetadata(final Object loadedmetadata) {
651         setEventHandler("loadedmetadata", loadedmetadata);
652     }
653 
654     /**
655      * Returns the {@code ontoggle} event handler.
656      * @return the {@code ontoggle} event handler
657      */
658     @JsxGetter({CHROME, FF52})
659     public Function getOntoggle() {
660         return getEventHandler("toggle");
661     }
662 
663     /**
664      * Sets the {@code ontoggle} event handler.
665      * @param toggle the {@code ontoggle} event handler
666      */
667     @JsxSetter({CHROME, FF52})
668     public void setOntoggle(final Object toggle) {
669         setEventHandler("toggle", toggle);
670     }
671 
672     /**
673      * Returns the {@code onplay} event handler.
674      * @return the {@code onplay} event handler
675      */
676     @JsxGetter({CHROME, FF})
677     public Function getOnplay() {
678         return getEventHandler("play");
679     }
680 
681     /**
682      * Sets the {@code onplay} event handler.
683      * @param play the {@code onplay} event handler
684      */
685     @JsxSetter({CHROME, FF})
686     public void setOnplay(final Object play) {
687         setEventHandler("play", play);
688     }
689 
690     /**
691      * Returns the {@code oncontextmenu} event handler.
692      * @return the {@code oncontextmenu} event handler
693      */
694     @JsxGetter({CHROME, FF})
695     public Function getOncontextmenu() {
696         return getEventHandler("contextmenu");
697     }
698 
699     /**
700      * Sets the {@code oncontextmenu} event handler.
701      * @param contextmenu the {@code oncontextmenu} event handler
702      */
703     @JsxSetter({CHROME, FF})
704     public void setOncontextmenu(final Object contextmenu) {
705         setEventHandler("contextmenu", contextmenu);
706     }
707 
708     /**
709      * Returns the {@code onmousemove} event handler.
710      * @return the {@code onmousemove} event handler
711      */
712     @JsxGetter({CHROME, FF})
713     public Function getOnmousemove() {
714         return getEventHandler("mousemove");
715     }
716 
717     /**
718      * Sets the {@code onmousemove} event handler.
719      * @param mousemove the {@code onmousemove} event handler
720      */
721     @JsxSetter({CHROME, FF})
722     public void setOnmousemove(final Object mousemove) {
723         setEventHandler("mousemove", mousemove);
724     }
725 
726     /**
727      * Returns the {@code onerror} event handler.
728      * @return the {@code onerror} event handler
729      */
730     @JsxGetter({CHROME, FF})
731     public Function getOnerror() {
732         return getEventHandler("error");
733     }
734 
735     /**
736      * Sets the {@code onerror} event handler.
737      * @param error the {@code onerror} event handler
738      */
739     @JsxSetter({CHROME, FF})
740     public void setOnerror(final Object error) {
741         setEventHandler("error", error);
742     }
743 
744     /**
745      * Returns the {@code onmouseup} event handler.
746      * @return the {@code onmouseup} event handler
747      */
748     @JsxGetter({CHROME, FF})
749     public Function getOnmouseup() {
750         return getEventHandler("mouseup");
751     }
752 
753     /**
754      * Sets the {@code onmouseup} event handler.
755      * @param mouseup the {@code onmouseup} event handler
756      */
757     @JsxSetter({CHROME, FF})
758     public void setOnmouseup(final Object mouseup) {
759         setEventHandler("mouseup", mouseup);
760     }
761 
762     /**
763      * Returns the {@code ondragover} event handler.
764      * @return the {@code ondragover} event handler
765      */
766     @JsxGetter({CHROME, FF})
767     public Function getOndragover() {
768         return getEventHandler("dragover");
769     }
770 
771     /**
772      * Sets the {@code ondragover} event handler.
773      * @param dragover the {@code ondragover} event handler
774      */
775     @JsxSetter({CHROME, FF})
776     public void setOndragover(final Object dragover) {
777         setEventHandler("dragover", dragover);
778     }
779 
780     /**
781      * {@inheritDoc}
782      */
783     @Override
784     @JsxGetter(CHROME)
785     public Function getOnpointermove() {
786         return getEventHandler("pointermove");
787     }
788 
789     /**
790      * {@inheritDoc}
791      */
792     @Override
793     @JsxSetter(CHROME)
794     public void setOnpointermove(final Object pointermove) {
795         setEventHandler("pointermove", pointermove);
796     }
797 
798     /**
799      * {@inheritDoc}
800      */
801     @Override
802     @JsxGetter(FF)
803     public Function getOncut() {
804         return getEventHandler("cut");
805     }
806 
807     /**
808      * {@inheritDoc}
809      */
810     @Override
811     @JsxSetter(FF)
812     public void setOncut(final Object cut) {
813         setEventHandler("cut", cut);
814     }
815 
816     /**
817      * Returns the {@code onmouseover} event handler.
818      * @return the {@code onmouseover} event handler
819      */
820     @JsxGetter({CHROME, FF})
821     public Function getOnmouseover() {
822         return getEventHandler("mouseover");
823     }
824 
825     /**
826      * Sets the {@code onmouseover} event handler.
827      * @param mouseover the {@code onmouseover} event handler
828      */
829     @JsxSetter({CHROME, FF})
830     public void setOnmouseover(final Object mouseover) {
831         setEventHandler("mouseover", mouseover);
832     }
833 
834     /**
835      * Returns the {@code oninput} event handler.
836      * @return the {@code oninput} event handler
837      */
838     @JsxGetter({CHROME, FF})
839     public Function getOninput() {
840         return getEventHandler("input");
841     }
842 
843     /**
844      * Sets the {@code oninput} event handler.
845      * @param input the {@code oninput} event handler
846      */
847     @JsxSetter({CHROME, FF})
848     public void setOninput(final Object input) {
849         setEventHandler("input", input);
850     }
851 
852     /**
853      * Returns the {@code onmozpointerlockerror} event handler.
854      * @return the {@code onmozpointerlockerror} event handler
855      */
856     @JsxGetter(FF45)
857     public Function getOnmozpointerlockerror() {
858         return getEventHandler("mozpointerlockerror");
859     }
860 
861     /**
862      * Sets the {@code onmozpointerlockerror} event handler.
863      * @param mozpointerlockerror the {@code onmozpointerlockerror} event handler
864      */
865     @JsxSetter(FF45)
866     public void setOnmozpointerlockerror(final Object mozpointerlockerror) {
867         setEventHandler("mozpointerlockerror", mozpointerlockerror);
868     }
869 
870     /**
871      * {@inheritDoc}
872      */
873     @Override
874     @JsxGetter(CHROME)
875     public Function getOnlostpointercapture() {
876         return getEventHandler("lostpointercapture");
877     }
878 
879     /**
880      * {@inheritDoc}
881      */
882     @Override
883     @JsxSetter(CHROME)
884     public void setOnlostpointercapture(final Object lostpointercapture) {
885         setEventHandler("lostpointercapture", lostpointercapture);
886     }
887 
888     /**
889      * Returns the {@code onstalled} event handler.
890      * @return the {@code onstalled} event handler
891      */
892     @JsxGetter({CHROME, FF})
893     public Function getOnstalled() {
894         return getEventHandler("stalled");
895     }
896 
897     /**
898      * Sets the {@code onstalled} event handler.
899      * @param stalled the {@code onstalled} event handler
900      */
901     @JsxSetter({CHROME, FF})
902     public void setOnstalled(final Object stalled) {
903         setEventHandler("stalled", stalled);
904     }
905 
906     /**
907      * {@inheritDoc}
908      */
909     @Override
910     @JsxGetter(CHROME)
911     public Function getOnpointerover() {
912         return getEventHandler("pointerover");
913     }
914 
915     /**
916      * {@inheritDoc}
917      */
918     @Override
919     @JsxSetter(CHROME)
920     public void setOnpointerover(final Object pointerover) {
921         setEventHandler("pointerover", pointerover);
922     }
923 
924     /**
925      * Returns the {@code onclose} event handler.
926      * @return the {@code onclose} event handler
927      */
928     @JsxGetter(CHROME)
929     public Function getOnclose() {
930         return getEventHandler("close");
931     }
932 
933     /**
934      * Sets the {@code onclose} event handler.
935      * @param close the {@code onclose} event handler
936      */
937     @JsxSetter(CHROME)
938     public void setOnclose(final Object close) {
939         setEventHandler("close", close);
940     }
941 
942     /**
943      * Returns the {@code ondragenter} event handler.
944      * @return the {@code ondragenter} event handler
945      */
946     @JsxGetter({CHROME, FF})
947     public Function getOndragenter() {
948         return getEventHandler("dragenter");
949     }
950 
951     /**
952      * Sets the {@code ondragenter} event handler.
953      * @param dragenter the {@code ondragenter} event handler
954      */
955     @JsxSetter({CHROME, FF})
956     public void setOndragenter(final Object dragenter) {
957         setEventHandler("dragenter", dragenter);
958     }
959 
960     /**
961      * Returns the {@code onmozfullscreenerror} event handler.
962      * @return the {@code onmozfullscreenerror} event handler
963      */
964     @JsxGetter(FF)
965     public Function getOnmozfullscreenerror() {
966         return getEventHandler("mozfullscreenerror");
967     }
968 
969     /**
970      * Sets the {@code onmozfullscreenerror} event handler.
971      * @param mozfullscreenerror the {@code onmozfullscreenerror} event handler
972      */
973     @JsxSetter(FF)
974     public void setOnmozfullscreenerror(final Object mozfullscreenerror) {
975         setEventHandler("mozfullscreenerror", mozfullscreenerror);
976     }
977 
978     /**
979      * Returns the {@code onsubmit} event handler.
980      * @return the {@code onsubmit} event handler
981      */
982     @JsxGetter({CHROME, FF})
983     public Function getOnsubmit() {
984         return getEventHandler("submit");
985     }
986 
987     /**
988      * Sets the {@code onsubmit} event handler.
989      * @param submit the {@code onsubmit} event handler
990      */
991     @JsxSetter({CHROME, FF})
992     public void setOnsubmit(final Object submit) {
993         setEventHandler("submit", submit);
994     }
995 
996     /**
997      * Returns the {@code onmouseleave} event handler.
998      * @return the {@code onmouseleave} event handler
999      */
1000     @JsxGetter({CHROME, FF})
1001     public Function getOnmouseleave() {
1002         return getEventHandler("mouseleave");
1003     }
1004 
1005     /**
1006      * Sets the {@code onmouseleave} event handler.
1007      * @param mouseleave the {@code onmouseleave} event handler
1008      */
1009     @JsxSetter({CHROME, FF})
1010     public void setOnmouseleave(final Object mouseleave) {
1011         setEventHandler("mouseleave", mouseleave);
1012     }
1013 
1014     /**
1015      * Returns the {@code onmouseenter} event handler.
1016      * @return the {@code onmouseenter} event handler
1017      */
1018     @JsxGetter({CHROME, FF})
1019     public Function getOnmouseenter() {
1020         return getEventHandler("mouseenter");
1021     }
1022 
1023     /**
1024      * Sets the {@code onmouseenter} event handler.
1025      * @param mouseenter the {@code onmouseenter} event handler
1026      */
1027     @JsxSetter({CHROME, FF})
1028     public void setOnmouseenter(final Object mouseenter) {
1029         setEventHandler("mouseenter", mouseenter);
1030     }
1031 
1032     /**
1033      * Returns the {@code ondragleave} event handler.
1034      * @return the {@code ondragleave} event handler
1035      */
1036     @JsxGetter({CHROME, FF})
1037     public Function getOndragleave() {
1038         return getEventHandler("dragleave");
1039     }
1040 
1041     /**
1042      * Sets the {@code ondragleave} event handler.
1043      * @param dragleave the {@code ondragleave} event handler
1044      */
1045     @JsxSetter({CHROME, FF})
1046     public void setOndragleave(final Object dragleave) {
1047         setEventHandler("dragleave", dragleave);
1048     }
1049 
1050     /**
1051      * Returns the {@code onmousewheel} event handler.
1052      * @return the {@code onmousewheel} event handler
1053      */
1054     @JsxGetter(CHROME)
1055     public Function getOnmousewheel() {
1056         return getEventHandler("mousewheel");
1057     }
1058 
1059     /**
1060      * Sets the {@code onmousewheel} event handler.
1061      * @param mousewheel the {@code onmousewheel} event handler
1062      */
1063     @JsxSetter(CHROME)
1064     public void setOnmousewheel(final Object mousewheel) {
1065         setEventHandler("mousewheel", mousewheel);
1066     }
1067 
1068     /**
1069      * {@inheritDoc}
1070      */
1071     @Override
1072     @JsxGetter(CHROME)
1073     public Function getOnpointerdown() {
1074         return getEventHandler("pointerdown");
1075     }
1076 
1077     /**
1078      * {@inheritDoc}
1079      */
1080     @Override
1081     @JsxSetter(CHROME)
1082     public void setOnpointerdown(final Object pointerdown) {
1083         setEventHandler("pointerdown", pointerdown);
1084     }
1085 
1086     /**
1087      * Returns the {@code onseeking} event handler.
1088      * @return the {@code onseeking} event handler
1089      */
1090     @JsxGetter({CHROME, FF})
1091     public Function getOnseeking() {
1092         return getEventHandler("seeking");
1093     }
1094 
1095     /**
1096      * Sets the {@code onseeking} event handler.
1097      * @param seeking the {@code onseeking} event handler
1098      */
1099     @JsxSetter({CHROME, FF})
1100     public void setOnseeking(final Object seeking) {
1101         setEventHandler("seeking", seeking);
1102     }
1103 
1104     /**
1105      * Returns the {@code onblur} event handler.
1106      * @return the {@code onblur} event handler
1107      */
1108     @JsxGetter({CHROME, FF})
1109     public Function getOnblur() {
1110         return getEventHandler("blur");
1111     }
1112 
1113     /**
1114      * Sets the {@code onblur} event handler.
1115      * @param blur the {@code onblur} event handler
1116      */
1117     @JsxSetter({CHROME, FF})
1118     public void setOnblur(final Object blur) {
1119         setEventHandler("blur", blur);
1120     }
1121 
1122     /**
1123      * Returns the {@code oncuechange} event handler.
1124      * @return the {@code oncuechange} event handler
1125      */
1126     @JsxGetter(CHROME)
1127     public Function getOncuechange() {
1128         return getEventHandler("cuechange");
1129     }
1130 
1131     /**
1132      * Sets the {@code oncuechange} event handler.
1133      * @param cuechange the {@code oncuechange} event handler
1134      */
1135     @JsxSetter(CHROME)
1136     public void setOncuechange(final Object cuechange) {
1137         setEventHandler("cuechange", cuechange);
1138     }
1139 
1140     /**
1141      * Returns the {@code ondrop} event handler.
1142      * @return the {@code ondrop} event handler
1143      */
1144     @JsxGetter({CHROME, FF})
1145     public Function getOndrop() {
1146         return getEventHandler("drop");
1147     }
1148 
1149     /**
1150      * Sets the {@code ondrop} event handler.
1151      * @param drop the {@code ondrop} event handler
1152      */
1153     @JsxSetter({CHROME, FF})
1154     public void setOndrop(final Object drop) {
1155         setEventHandler("drop", drop);
1156     }
1157 
1158     /**
1159      * Returns the {@code ondragstart} event handler.
1160      * @return the {@code ondragstart} event handler
1161      */
1162     @JsxGetter({CHROME, FF})
1163     public Function getOndragstart() {
1164         return getEventHandler("dragstart");
1165     }
1166 
1167     /**
1168      * Sets the {@code ondragstart} event handler.
1169      * @param dragstart the {@code ondragstart} event handler
1170      */
1171     @JsxSetter({CHROME, FF})
1172     public void setOndragstart(final Object dragstart) {
1173         setEventHandler("dragstart", dragstart);
1174     }
1175 
1176     /**
1177      * Returns the {@code onmozfullscreenchange} event handler.
1178      * @return the {@code onmozfullscreenchange} event handler
1179      */
1180     @JsxGetter(FF)
1181     public Function getOnmozfullscreenchange() {
1182         return getEventHandler("mozfullscreenchange");
1183     }
1184 
1185     /**
1186      * Sets the {@code onmozfullscreenchange} event handler.
1187      * @param mozfullscreenchange the {@code onmozfullscreenchange} event handler
1188      */
1189     @JsxSetter(FF)
1190     public void setOnmozfullscreenchange(final Object mozfullscreenchange) {
1191         setEventHandler("mozfullscreenchange", mozfullscreenchange);
1192     }
1193 
1194     /**
1195      * Returns the {@code ondurationchange} event handler.
1196      * @return the {@code ondurationchange} event handler
1197      */
1198     @JsxGetter({CHROME, FF})
1199     public Function getOndurationchange() {
1200         return getEventHandler("durationchange");
1201     }
1202 
1203     /**
1204      * Sets the {@code ondurationchange} event handler.
1205      * @param durationchange the {@code ondurationchange} event handler
1206      */
1207     @JsxSetter({CHROME, FF})
1208     public void setOndurationchange(final Object durationchange) {
1209         setEventHandler("durationchange", durationchange);
1210     }
1211 
1212     /**
1213      * Returns the {@code onplaying} event handler.
1214      * @return the {@code onplaying} event handler
1215      */
1216     @JsxGetter({CHROME, FF})
1217     public Function getOnplaying() {
1218         return getEventHandler("playing");
1219     }
1220 
1221     /**
1222      * Sets the {@code onplaying} event handler.
1223      * @param playing the {@code onplaying} event handler
1224      */
1225     @JsxSetter({CHROME, FF})
1226     public void setOnplaying(final Object playing) {
1227         setEventHandler("playing", playing);
1228     }
1229 
1230     /**
1231      * Returns the {@code onload} event handler.
1232      * @return the {@code onload} event handler
1233      */
1234     @JsxGetter({CHROME, FF})
1235     public Function getOnload() {
1236         return getEventHandler("load");
1237     }
1238 
1239     /**
1240      * Sets the {@code onload} event handler.
1241      * @param load the {@code onload} event handler
1242      */
1243     @JsxSetter({CHROME, FF})
1244     public void setOnload(final Object load) {
1245         setEventHandler("load", load);
1246     }
1247 
1248     /**
1249      * Returns the {@code onended} event handler.
1250      * @return the {@code onended} event handler
1251      */
1252     @JsxGetter({CHROME, FF})
1253     public Function getOnended() {
1254         return getEventHandler("ended");
1255     }
1256 
1257     /**
1258      * Sets the {@code onended} event handler.
1259      * @param ended the {@code onended} event handler
1260      */
1261     @JsxSetter({CHROME, FF})
1262     public void setOnended(final Object ended) {
1263         setEventHandler("ended", ended);
1264     }
1265 
1266     /**
1267      * Returns the {@code onloadeddata} event handler.
1268      * @return the {@code onloadeddata} event handler
1269      */
1270     @JsxGetter({CHROME, FF})
1271     public Function getOnloadeddata() {
1272         return getEventHandler("loadeddata");
1273     }
1274 
1275     /**
1276      * Sets the {@code onloadeddata} event handler.
1277      * @param loadeddata the {@code onloadeddata} event handler
1278      */
1279     @JsxSetter({CHROME, FF})
1280     public void setOnloadeddata(final Object loadeddata) {
1281         setEventHandler("loadeddata", loadeddata);
1282     }
1283 
1284     /**
1285      * Returns the {@code onshow} event handler.
1286      * @return the {@code onshow} event handler
1287      */
1288     @JsxGetter({CHROME, FF})
1289     public Function getOnshow() {
1290         return getEventHandler("show");
1291     }
1292 
1293     /**
1294      * Sets the {@code onshow} event handler.
1295      * @param show the {@code onshow} event handler
1296      */
1297     @JsxSetter({CHROME, FF})
1298     public void setOnshow(final Object show) {
1299         setEventHandler("show", show);
1300     }
1301 
1302     /**
1303      * {@inheritDoc}
1304      */
1305     @Override
1306     @JsxGetter(FF)
1307     public Function getOncopy() {
1308         return getEventHandler("copy");
1309     }
1310 
1311     /**
1312      * {@inheritDoc}
1313      */
1314     @Override
1315     @JsxSetter(FF)
1316     public void setOncopy(final Object copy) {
1317         setEventHandler("copy", copy);
1318     }
1319 
1320     /**
1321      * {@inheritDoc}
1322      */
1323     @Override
1324     @JsxGetter(FF)
1325     public Function getOnpaste() {
1326         return getEventHandler("paste");
1327     }
1328 
1329     /**
1330      * {@inheritDoc}
1331      */
1332     @Override
1333     @JsxSetter(FF)
1334     public void setOnpaste(final Object paste) {
1335         setEventHandler("paste", paste);
1336     }
1337 
1338     /**
1339      * Returns the {@code onmouseout} event handler.
1340      * @return the {@code onmouseout} event handler
1341      */
1342     @JsxGetter({CHROME, FF})
1343     public Function getOnmouseout() {
1344         return getEventHandler("mouseout");
1345     }
1346 
1347     /**
1348      * Sets the {@code onmouseout} event handler.
1349      * @param mouseout the {@code onmouseout} event handler
1350      */
1351     @JsxSetter({CHROME, FF})
1352     public void setOnmouseout(final Object mouseout) {
1353         setEventHandler("mouseout", mouseout);
1354     }
1355 
1356     /**
1357      * Returns the {@code onsuspend} event handler.
1358      * @return the {@code onsuspend} event handler
1359      */
1360     @JsxGetter({CHROME, FF})
1361     public Function getOnsuspend() {
1362         return getEventHandler("suspend");
1363     }
1364 
1365     /**
1366      * Sets the {@code onsuspend} event handler.
1367      * @param suspend the {@code onsuspend} event handler
1368      */
1369     @JsxSetter({CHROME, FF})
1370     public void setOnsuspend(final Object suspend) {
1371         setEventHandler("suspend", suspend);
1372     }
1373 
1374     /**
1375      * Returns the {@code onvolumechange} event handler.
1376      * @return the {@code onvolumechange} event handler
1377      */
1378     @JsxGetter({CHROME, FF})
1379     public Function getOnvolumechange() {
1380         return getEventHandler("volumechange");
1381     }
1382 
1383     /**
1384      * Sets the {@code onvolumechange} event handler.
1385      * @param volumechange the {@code onvolumechange} event handler
1386      */
1387     @JsxSetter({CHROME, FF})
1388     public void setOnvolumechange(final Object volumechange) {
1389         setEventHandler("volumechange", volumechange);
1390     }
1391 
1392     /**
1393      * Returns the {@code onwaiting} event handler.
1394      * @return the {@code onwaiting} event handler
1395      */
1396     @JsxGetter({CHROME, FF})
1397     public Function getOnwaiting() {
1398         return getEventHandler("waiting");
1399     }
1400 
1401     /**
1402      * Sets the {@code onwaiting} event handler.
1403      * @param waiting the {@code onwaiting} event handler
1404      */
1405     @JsxSetter({CHROME, FF})
1406     public void setOnwaiting(final Object waiting) {
1407         setEventHandler("waiting", waiting);
1408     }
1409 
1410     /**
1411      * Returns the {@code oncanplay} event handler.
1412      * @return the {@code oncanplay} event handler
1413      */
1414     @JsxGetter({CHROME, FF})
1415     public Function getOncanplay() {
1416         return getEventHandler("canplay");
1417     }
1418 
1419     /**
1420      * Sets the {@code oncanplay} event handler.
1421      * @param canplay the {@code oncanplay} event handler
1422      */
1423     @JsxSetter({CHROME, FF})
1424     public void setOncanplay(final Object canplay) {
1425         setEventHandler("canplay", canplay);
1426     }
1427 
1428     /**
1429      * Returns the {@code onmousedown} event handler.
1430      * @return the {@code onmousedown} event handler
1431      */
1432     @JsxGetter({CHROME, FF})
1433     public Function getOnmousedown() {
1434         return getEventHandler("mousedown");
1435     }
1436 
1437     /**
1438      * Sets the {@code onmousedown} event handler.
1439      * @param mousedown the {@code onmousedown} event handler
1440      */
1441     @JsxSetter({CHROME, FF})
1442     public void setOnmousedown(final Object mousedown) {
1443         setEventHandler("mousedown", mousedown);
1444     }
1445 
1446     /**
1447      * Returns the {@code onemptied} event handler.
1448      * @return the {@code onemptied} event handler
1449      */
1450     @JsxGetter({CHROME, FF})
1451     public Function getOnemptied() {
1452         return getEventHandler("emptied");
1453     }
1454 
1455     /**
1456      * Sets the {@code onemptied} event handler.
1457      * @param emptied the {@code onemptied} event handler
1458      */
1459     @JsxSetter({CHROME, FF})
1460     public void setOnemptied(final Object emptied) {
1461         setEventHandler("emptied", emptied);
1462     }
1463 
1464     /**
1465      * {@inheritDoc}
1466      */
1467     @Override
1468     @JsxGetter(CHROME)
1469     public Function getOngotpointercapture() {
1470         return getEventHandler("gotpointercapture");
1471     }
1472 
1473     /**
1474      * {@inheritDoc}
1475      */
1476     @Override
1477     @JsxSetter(CHROME)
1478     public void setOngotpointercapture(final Object gotpointercapture) {
1479         setEventHandler("gotpointercapture", gotpointercapture);
1480     }
1481 
1482     /**
1483      * Returns the {@code onanimationiteration} event handler.
1484      * @return the {@code onanimationiteration} event handler
1485      */
1486     @JsxGetter(FF52)
1487     public Function getOnanimationiteration() {
1488         return getEventHandler("animationiteration");
1489     }
1490 
1491     /**
1492      * Sets the {@code onanimationiteration} event handler.
1493      * @param animationiteration the {@code onanimationiteration} event handler
1494      */
1495     @JsxSetter(FF52)
1496     public void setOnanimationiteration(final Object animationiteration) {
1497         setEventHandler("animationiteration", animationiteration);
1498     }
1499 
1500     /**
1501      * Returns the {@code onwebkittransitionend} event handler.
1502      * @return the {@code onwebkittransitionend} event handler
1503      */
1504     @JsxGetter(FF52)
1505     public Function getOnwebkittransitionend() {
1506         return getEventHandler("webkittransitionend");
1507     }
1508 
1509     /**
1510      * Sets the {@code onwebkittransitionend} event handler.
1511      * @param webkittransitionend the {@code onwebkittransitionend} event handler
1512      */
1513     @JsxSetter(FF52)
1514     public void setOnwebkittransitionend(final Object webkittransitionend) {
1515         setEventHandler("webkittransitionend", webkittransitionend);
1516     }
1517 
1518     /**
1519      * Returns the {@code onanimationstart} event handler.
1520      * @return the {@code onanimationstart} event handler
1521      */
1522     @JsxGetter(FF52)
1523     public Function getOnanimationstart() {
1524         return getEventHandler("animationstart");
1525     }
1526 
1527     /**
1528      * Sets the {@code onanimationstart} event handler.
1529      * @param animationstart the {@code onanimationstart} event handler
1530      */
1531     @JsxSetter(FF52)
1532     public void setOnanimationstart(final Object animationstart) {
1533         setEventHandler("animationstart", animationstart);
1534     }
1535 
1536     /**
1537      * Returns the {@code onwebkitanimationstart} event handler.
1538      * @return the {@code onwebkitanimationstart} event handler
1539      */
1540     @JsxGetter(FF52)
1541     public Function getOnwebkitanimationstart() {
1542         return getEventHandler("webkitanimationstart");
1543     }
1544 
1545     /**
1546      * Sets the {@code onwebkitanimationstart} event handler.
1547      * @param webkitanimationstart the {@code onwebkitanimationstart} event handler
1548      */
1549     @JsxSetter(FF52)
1550     public void setOnwebkitanimationstart(final Object webkitanimationstart) {
1551         setEventHandler("webkitanimationstart", webkitanimationstart);
1552     }
1553 
1554     /**
1555      * Returns the {@code onwebkitanimationiteration} event handler.
1556      * @return the {@code onwebkitanimationiteration} event handler
1557      */
1558     @JsxGetter(FF52)
1559     public Function getOnwebkitanimationiteration() {
1560         return getEventHandler("webkitanimationiteration");
1561     }
1562 
1563     /**
1564      * Sets the {@code onwebkitanimationiteration} event handler.
1565      * @param webkitanimationiteration the {@code onwebkitanimationiteration} event handler
1566      */
1567     @JsxSetter(FF52)
1568     public void setOnwebkitanimationiteration(final Object webkitanimationiteration) {
1569         setEventHandler("webkitanimationiteration", webkitanimationiteration);
1570     }
1571 
1572     /**
1573      * Returns the {@code onanimationend} event handler.
1574      * @return the {@code onanimationend} event handler
1575      */
1576     @JsxGetter(FF52)
1577     public Function getOnanimationend() {
1578         return getEventHandler("animationend");
1579     }
1580 
1581     /**
1582      * Sets the {@code onanimationend} event handler.
1583      * @param animationend the {@code onanimationend} event handler
1584      */
1585     @JsxSetter(FF52)
1586     public void setOnanimationend(final Object animationend) {
1587         setEventHandler("animationend", animationend);
1588     }
1589 
1590     /**
1591      * Returns the {@code onwebkitanimationend} event handler.
1592      * @return the {@code onwebkitanimationend} event handler
1593      */
1594     @JsxGetter(FF52)
1595     public Function getOnwebkitanimationend() {
1596         return getEventHandler("webkitanimationend");
1597     }
1598 
1599     /**
1600      * Sets the {@code onwebkitanimationend} event handler.
1601      * @param webkitanimationend the {@code onwebkitanimationend} event handler
1602      */
1603     @JsxSetter(FF52)
1604     public void setOnwebkitanimationend(final Object webkitanimationend) {
1605         setEventHandler("webkitanimationend", webkitanimationend);
1606     }
1607 
1608     /**
1609      * Returns the {@code ontransitionend} event handler.
1610      * @return the {@code ontransitionend} event handler
1611      */
1612     @JsxGetter(FF52)
1613     public Function getOntransitionend() {
1614         return getEventHandler("transitionend");
1615     }
1616 
1617     /**
1618      * Sets the {@code ontransitionend} event handler.
1619      * @param transitionend the {@code ontransitionend} event handler
1620      */
1621     @JsxSetter(FF52)
1622     public void setOntransitionend(final Object transitionend) {
1623         setEventHandler("transitionend", transitionend);
1624     }
1625 
1626     /**
1627      * {@inheritDoc}
1628      */
1629     @Override
1630     @JsxGetter(FF52)
1631     public Function getOnselectstart() {
1632         return getEventHandler("selectstart");
1633     }
1634 
1635     /**
1636      * {@inheritDoc}
1637      */
1638     @Override
1639     @JsxSetter(FF52)
1640     public void setOnselectstart(final Object selectstart) {
1641         setEventHandler("selectstart", selectstart);
1642     }
1643 
1644     /**
1645      * Returns the {@code onloadend} event handler.
1646      * @return the {@code onloadend} event handler
1647      */
1648     @JsxGetter(FF52)
1649     public Function getOnloadend() {
1650         return getEventHandler("loadend");
1651     }
1652 
1653     /**
1654      * Sets the {@code onloadend} event handler.
1655      * @param loadend the {@code onloadend} event handler
1656      */
1657     @JsxSetter(FF52)
1658     public void setOnloadend(final Object loadend) {
1659         setEventHandler("loadend", loadend);
1660     }
1661 
1662     /**
1663      * Returns the {@code ondragexit} event handler.
1664      * @return the {@code ondragexit} event handler
1665      */
1666     @JsxGetter(FF52)
1667     public Function getOndragexit() {
1668         return getEventHandler("dragexit");
1669     }
1670 
1671     /**
1672      * Sets the {@code ondragexit} event handler.
1673      * @param dragexit the {@code ondragexit} event handler
1674      */
1675     @JsxSetter(FF52)
1676     public void setOndragexit(final Object dragexit) {
1677         setEventHandler("dragexit", dragexit);
1678     }
1679 
1680 }