tizen beta release
[framework/web/webkit-efl.git] / DerivedSources / WebKitDOM_Element.cpp
1 /*
2     This file is part of the WebKit open source project.
3     This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5     Copyright (C) 2011 Samsung Electronics
6
7     This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Lesser General Public
9     License as published by the Free Software Foundation; either
10     version 2.1 of the License, or (at your option) any later version.
11
12     This library is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     Lesser General Public License for more details.
16
17     You should have received a copy of the GNU Lesser General Public
18     License along with this library; if not, write to the Free Software
19     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
20 */
21
22 #include "config.h"
23 #include "WebKitDOM_Element.h"
24 #include "WebKitDOM_Element_Private.h"
25
26 #include "Attr.h"
27 #include "CSSMutableStyleDeclaration.h"
28 #include "CSSStyleDeclaration.h"
29 #include "Element.h"
30 #include "EventListener.h"
31 #include "KURL.h"
32 #include "Node.h"
33 #include "NodeList.h"
34 #include "WebKitDOM_Attr.h"
35 #include "WebKitDOM_Attr_Private.h"
36 #include "WebKitDOM_CSSStyleDeclaration.h"
37 #include "WebKitDOM_CSSStyleDeclaration_Private.h"
38 #include "WebKitDOM_Element_Private.h"
39 #include "WebKitDOM_EventListener.h"
40 #include "WebKitDOM_EventListener_Private.h"
41 #include "WebKitDOM_NodeList.h"
42 #include "WebKitDOM_NodeList_Private.h"
43 #include "WebKitDOM_String.h"
44 #include "WebKitDOM_String_Private.h"
45 #include "wtf/text/AtomicString.h"
46 #include <wtf/text/CString.h>
47 #include <wtf/GetPtr.h>
48 #include <wtf/RefPtr.h>
49
50 void ewk_webkitdom_element_get_tag_name(WebKitDOM_Element* self, WebKitDOM_String* ret)
51 {
52     if (!self)
53         return;
54
55     WebCore::Element* coreObj = _to_webcore_element(self);
56     WTF::String result = coreObj->tagName();
57     _to_webkit_string(&result, ret);
58 }
59
60 void ewk_webkitdom_element_get_style(WebKitDOM_Element* self, WebKitDOM_CSSStyleDeclaration* ret)
61 {
62     if (!self)
63         return;
64
65     WebCore::Element* coreObj = _to_webcore_element(self);
66     RefPtr<WebCore::CSSStyleDeclaration> result = WTF::getPtr(coreObj->style());
67     _to_webkit_cssstyledeclaration(result.get(), ret);
68 }
69
70 int ewk_webkitdom_element_get_offset_left(WebKitDOM_Element* self)
71 {
72     if (!self)
73         return 0;
74
75     WebCore::Element* coreObj = _to_webcore_element(self);
76     return coreObj->offsetLeft();
77 }
78
79 int ewk_webkitdom_element_get_offset_top(WebKitDOM_Element* self)
80 {
81     if (!self)
82         return 0;
83
84     WebCore::Element* coreObj = _to_webcore_element(self);
85     return coreObj->offsetTop();
86 }
87
88 int ewk_webkitdom_element_get_offset_width(WebKitDOM_Element* self)
89 {
90     if (!self)
91         return 0;
92
93     WebCore::Element* coreObj = _to_webcore_element(self);
94     return coreObj->offsetWidth();
95 }
96
97 int ewk_webkitdom_element_get_offset_height(WebKitDOM_Element* self)
98 {
99     if (!self)
100         return 0;
101
102     WebCore::Element* coreObj = _to_webcore_element(self);
103     return coreObj->offsetHeight();
104 }
105
106 void ewk_webkitdom_element_get_offset_parent(WebKitDOM_Element* self, WebKitDOM_Element* ret)
107 {
108     if (!self)
109         return;
110
111     WebCore::Element* coreObj = _to_webcore_element(self);
112     RefPtr<WebCore::Element> result = WTF::getPtr(coreObj->offsetParent());
113     _to_webkit_element(result.get(), ret);
114 }
115
116 int ewk_webkitdom_element_get_client_left(WebKitDOM_Element* self)
117 {
118     if (!self)
119         return 0;
120
121     WebCore::Element* coreObj = _to_webcore_element(self);
122     return coreObj->clientLeft();
123 }
124
125 int ewk_webkitdom_element_get_client_top(WebKitDOM_Element* self)
126 {
127     if (!self)
128         return 0;
129
130     WebCore::Element* coreObj = _to_webcore_element(self);
131     return coreObj->clientTop();
132 }
133
134 int ewk_webkitdom_element_get_client_width(WebKitDOM_Element* self)
135 {
136     if (!self)
137         return 0;
138
139     WebCore::Element* coreObj = _to_webcore_element(self);
140     return coreObj->clientWidth();
141 }
142
143 int ewk_webkitdom_element_get_client_height(WebKitDOM_Element* self)
144 {
145     if (!self)
146         return 0;
147
148     WebCore::Element* coreObj = _to_webcore_element(self);
149     return coreObj->clientHeight();
150 }
151
152 int ewk_webkitdom_element_get_scroll_left(WebKitDOM_Element* self)
153 {
154     if (!self)
155         return 0;
156
157     WebCore::Element* coreObj = _to_webcore_element(self);
158     return coreObj->scrollLeft();
159 }
160
161 void ewk_webkitdom_element_set_scroll_left(WebKitDOM_Element* self, int newScrollLeft)
162 {
163     if (!self)
164         return;
165
166     WebCore::Element* coreObj = _to_webcore_element(self);
167     coreObj->setScrollLeft(newScrollLeft);
168 }
169
170 int ewk_webkitdom_element_get_scroll_top(WebKitDOM_Element* self)
171 {
172     if (!self)
173         return 0;
174
175     WebCore::Element* coreObj = _to_webcore_element(self);
176     return coreObj->scrollTop();
177 }
178
179 void ewk_webkitdom_element_set_scroll_top(WebKitDOM_Element* self, int newScrollTop)
180 {
181     if (!self)
182         return;
183
184     WebCore::Element* coreObj = _to_webcore_element(self);
185     coreObj->setScrollTop(newScrollTop);
186 }
187
188 int ewk_webkitdom_element_get_scroll_width(WebKitDOM_Element* self)
189 {
190     if (!self)
191         return 0;
192
193     WebCore::Element* coreObj = _to_webcore_element(self);
194     return coreObj->scrollWidth();
195 }
196
197 int ewk_webkitdom_element_get_scroll_height(WebKitDOM_Element* self)
198 {
199     if (!self)
200         return 0;
201
202     WebCore::Element* coreObj = _to_webcore_element(self);
203     return coreObj->scrollHeight();
204 }
205
206 void ewk_webkitdom_element_get_first_element_child(WebKitDOM_Element* self, WebKitDOM_Element* ret)
207 {
208     if (!self)
209         return;
210
211     WebCore::Element* coreObj = _to_webcore_element(self);
212     RefPtr<WebCore::Element> result = WTF::getPtr(coreObj->firstElementChild());
213     _to_webkit_element(result.get(), ret);
214 }
215
216 void ewk_webkitdom_element_get_last_element_child(WebKitDOM_Element* self, WebKitDOM_Element* ret)
217 {
218     if (!self)
219         return;
220
221     WebCore::Element* coreObj = _to_webcore_element(self);
222     RefPtr<WebCore::Element> result = WTF::getPtr(coreObj->lastElementChild());
223     _to_webkit_element(result.get(), ret);
224 }
225
226 void ewk_webkitdom_element_get_previous_element_sibling(WebKitDOM_Element* self, WebKitDOM_Element* ret)
227 {
228     if (!self)
229         return;
230
231     WebCore::Element* coreObj = _to_webcore_element(self);
232     RefPtr<WebCore::Element> result = WTF::getPtr(coreObj->previousElementSibling());
233     _to_webkit_element(result.get(), ret);
234 }
235
236 void ewk_webkitdom_element_get_next_element_sibling(WebKitDOM_Element* self, WebKitDOM_Element* ret)
237 {
238     if (!self)
239         return;
240
241     WebCore::Element* coreObj = _to_webcore_element(self);
242     RefPtr<WebCore::Element> result = WTF::getPtr(coreObj->nextElementSibling());
243     _to_webkit_element(result.get(), ret);
244 }
245
246 unsigned ewk_webkitdom_element_get_child_element_count(WebKitDOM_Element* self)
247 {
248     if (!self)
249         return unsigned();
250
251     WebCore::Element* coreObj = _to_webcore_element(self);
252     return coreObj->childElementCount();
253 }
254
255 void ewk_webkitdom_element_get_onabort(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
256 {
257     if (!self)
258         return;
259
260     WebCore::Element* coreObj = _to_webcore_element(self);
261     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onabort());
262     _to_webkit_eventlistener(result.get(), ret);
263 }
264
265 void ewk_webkitdom_element_set_onabort(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnabort)
266 {
267     if (!self)
268         return;
269
270     WebCore::Element* coreObj = _to_webcore_element(self);
271     coreObj->setOnabort(_to_webcore_eventlistener(newOnabort));
272 }
273
274 void ewk_webkitdom_element_get_onblur(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
275 {
276     if (!self)
277         return;
278
279     WebCore::Element* coreObj = _to_webcore_element(self);
280     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onblur());
281     _to_webkit_eventlistener(result.get(), ret);
282 }
283
284 void ewk_webkitdom_element_set_onblur(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnblur)
285 {
286     if (!self)
287         return;
288
289     WebCore::Element* coreObj = _to_webcore_element(self);
290     coreObj->setOnblur(_to_webcore_eventlistener(newOnblur));
291 }
292
293 void ewk_webkitdom_element_get_onchange(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
294 {
295     if (!self)
296         return;
297
298     WebCore::Element* coreObj = _to_webcore_element(self);
299     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onchange());
300     _to_webkit_eventlistener(result.get(), ret);
301 }
302
303 void ewk_webkitdom_element_set_onchange(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnchange)
304 {
305     if (!self)
306         return;
307
308     WebCore::Element* coreObj = _to_webcore_element(self);
309     coreObj->setOnchange(_to_webcore_eventlistener(newOnchange));
310 }
311
312 void ewk_webkitdom_element_get_onclick(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
313 {
314     if (!self)
315         return;
316
317     WebCore::Element* coreObj = _to_webcore_element(self);
318     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onclick());
319     _to_webkit_eventlistener(result.get(), ret);
320 }
321
322 void ewk_webkitdom_element_set_onclick(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnclick)
323 {
324     if (!self)
325         return;
326
327     WebCore::Element* coreObj = _to_webcore_element(self);
328     coreObj->setOnclick(_to_webcore_eventlistener(newOnclick));
329 }
330
331 void ewk_webkitdom_element_get_oncontextmenu(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
332 {
333     if (!self)
334         return;
335
336     WebCore::Element* coreObj = _to_webcore_element(self);
337     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->oncontextmenu());
338     _to_webkit_eventlistener(result.get(), ret);
339 }
340
341 void ewk_webkitdom_element_set_oncontextmenu(WebKitDOM_Element* self, WebKitDOM_EventListener* newOncontextmenu)
342 {
343     if (!self)
344         return;
345
346     WebCore::Element* coreObj = _to_webcore_element(self);
347     coreObj->setOncontextmenu(_to_webcore_eventlistener(newOncontextmenu));
348 }
349
350 void ewk_webkitdom_element_get_ondblclick(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
351 {
352     if (!self)
353         return;
354
355     WebCore::Element* coreObj = _to_webcore_element(self);
356     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondblclick());
357     _to_webkit_eventlistener(result.get(), ret);
358 }
359
360 void ewk_webkitdom_element_set_ondblclick(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndblclick)
361 {
362     if (!self)
363         return;
364
365     WebCore::Element* coreObj = _to_webcore_element(self);
366     coreObj->setOndblclick(_to_webcore_eventlistener(newOndblclick));
367 }
368
369 void ewk_webkitdom_element_get_ondrag(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
370 {
371     if (!self)
372         return;
373
374     WebCore::Element* coreObj = _to_webcore_element(self);
375     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondrag());
376     _to_webkit_eventlistener(result.get(), ret);
377 }
378
379 void ewk_webkitdom_element_set_ondrag(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndrag)
380 {
381     if (!self)
382         return;
383
384     WebCore::Element* coreObj = _to_webcore_element(self);
385     coreObj->setOndrag(_to_webcore_eventlistener(newOndrag));
386 }
387
388 void ewk_webkitdom_element_get_ondragend(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
389 {
390     if (!self)
391         return;
392
393     WebCore::Element* coreObj = _to_webcore_element(self);
394     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondragend());
395     _to_webkit_eventlistener(result.get(), ret);
396 }
397
398 void ewk_webkitdom_element_set_ondragend(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndragend)
399 {
400     if (!self)
401         return;
402
403     WebCore::Element* coreObj = _to_webcore_element(self);
404     coreObj->setOndragend(_to_webcore_eventlistener(newOndragend));
405 }
406
407 void ewk_webkitdom_element_get_ondragenter(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
408 {
409     if (!self)
410         return;
411
412     WebCore::Element* coreObj = _to_webcore_element(self);
413     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondragenter());
414     _to_webkit_eventlistener(result.get(), ret);
415 }
416
417 void ewk_webkitdom_element_set_ondragenter(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndragenter)
418 {
419     if (!self)
420         return;
421
422     WebCore::Element* coreObj = _to_webcore_element(self);
423     coreObj->setOndragenter(_to_webcore_eventlistener(newOndragenter));
424 }
425
426 void ewk_webkitdom_element_get_ondragleave(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
427 {
428     if (!self)
429         return;
430
431     WebCore::Element* coreObj = _to_webcore_element(self);
432     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondragleave());
433     _to_webkit_eventlistener(result.get(), ret);
434 }
435
436 void ewk_webkitdom_element_set_ondragleave(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndragleave)
437 {
438     if (!self)
439         return;
440
441     WebCore::Element* coreObj = _to_webcore_element(self);
442     coreObj->setOndragleave(_to_webcore_eventlistener(newOndragleave));
443 }
444
445 void ewk_webkitdom_element_get_ondragover(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
446 {
447     if (!self)
448         return;
449
450     WebCore::Element* coreObj = _to_webcore_element(self);
451     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondragover());
452     _to_webkit_eventlistener(result.get(), ret);
453 }
454
455 void ewk_webkitdom_element_set_ondragover(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndragover)
456 {
457     if (!self)
458         return;
459
460     WebCore::Element* coreObj = _to_webcore_element(self);
461     coreObj->setOndragover(_to_webcore_eventlistener(newOndragover));
462 }
463
464 void ewk_webkitdom_element_get_ondragstart(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
465 {
466     if (!self)
467         return;
468
469     WebCore::Element* coreObj = _to_webcore_element(self);
470     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondragstart());
471     _to_webkit_eventlistener(result.get(), ret);
472 }
473
474 void ewk_webkitdom_element_set_ondragstart(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndragstart)
475 {
476     if (!self)
477         return;
478
479     WebCore::Element* coreObj = _to_webcore_element(self);
480     coreObj->setOndragstart(_to_webcore_eventlistener(newOndragstart));
481 }
482
483 void ewk_webkitdom_element_get_ondrop(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
484 {
485     if (!self)
486         return;
487
488     WebCore::Element* coreObj = _to_webcore_element(self);
489     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ondrop());
490     _to_webkit_eventlistener(result.get(), ret);
491 }
492
493 void ewk_webkitdom_element_set_ondrop(WebKitDOM_Element* self, WebKitDOM_EventListener* newOndrop)
494 {
495     if (!self)
496         return;
497
498     WebCore::Element* coreObj = _to_webcore_element(self);
499     coreObj->setOndrop(_to_webcore_eventlistener(newOndrop));
500 }
501
502 void ewk_webkitdom_element_get_onerror(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
503 {
504     if (!self)
505         return;
506
507     WebCore::Element* coreObj = _to_webcore_element(self);
508     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onerror());
509     _to_webkit_eventlistener(result.get(), ret);
510 }
511
512 void ewk_webkitdom_element_set_onerror(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnerror)
513 {
514     if (!self)
515         return;
516
517     WebCore::Element* coreObj = _to_webcore_element(self);
518     coreObj->setOnerror(_to_webcore_eventlistener(newOnerror));
519 }
520
521 void ewk_webkitdom_element_get_onfocus(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
522 {
523     if (!self)
524         return;
525
526     WebCore::Element* coreObj = _to_webcore_element(self);
527     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onfocus());
528     _to_webkit_eventlistener(result.get(), ret);
529 }
530
531 void ewk_webkitdom_element_set_onfocus(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnfocus)
532 {
533     if (!self)
534         return;
535
536     WebCore::Element* coreObj = _to_webcore_element(self);
537     coreObj->setOnfocus(_to_webcore_eventlistener(newOnfocus));
538 }
539
540 void ewk_webkitdom_element_get_oninput(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
541 {
542     if (!self)
543         return;
544
545     WebCore::Element* coreObj = _to_webcore_element(self);
546     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->oninput());
547     _to_webkit_eventlistener(result.get(), ret);
548 }
549
550 void ewk_webkitdom_element_set_oninput(WebKitDOM_Element* self, WebKitDOM_EventListener* newOninput)
551 {
552     if (!self)
553         return;
554
555     WebCore::Element* coreObj = _to_webcore_element(self);
556     coreObj->setOninput(_to_webcore_eventlistener(newOninput));
557 }
558
559 void ewk_webkitdom_element_get_oninvalid(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
560 {
561     if (!self)
562         return;
563
564     WebCore::Element* coreObj = _to_webcore_element(self);
565     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->oninvalid());
566     _to_webkit_eventlistener(result.get(), ret);
567 }
568
569 void ewk_webkitdom_element_set_oninvalid(WebKitDOM_Element* self, WebKitDOM_EventListener* newOninvalid)
570 {
571     if (!self)
572         return;
573
574     WebCore::Element* coreObj = _to_webcore_element(self);
575     coreObj->setOninvalid(_to_webcore_eventlistener(newOninvalid));
576 }
577
578 void ewk_webkitdom_element_get_onkeydown(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
579 {
580     if (!self)
581         return;
582
583     WebCore::Element* coreObj = _to_webcore_element(self);
584     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onkeydown());
585     _to_webkit_eventlistener(result.get(), ret);
586 }
587
588 void ewk_webkitdom_element_set_onkeydown(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnkeydown)
589 {
590     if (!self)
591         return;
592
593     WebCore::Element* coreObj = _to_webcore_element(self);
594     coreObj->setOnkeydown(_to_webcore_eventlistener(newOnkeydown));
595 }
596
597 void ewk_webkitdom_element_get_onkeypress(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
598 {
599     if (!self)
600         return;
601
602     WebCore::Element* coreObj = _to_webcore_element(self);
603     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onkeypress());
604     _to_webkit_eventlistener(result.get(), ret);
605 }
606
607 void ewk_webkitdom_element_set_onkeypress(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnkeypress)
608 {
609     if (!self)
610         return;
611
612     WebCore::Element* coreObj = _to_webcore_element(self);
613     coreObj->setOnkeypress(_to_webcore_eventlistener(newOnkeypress));
614 }
615
616 void ewk_webkitdom_element_get_onkeyup(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
617 {
618     if (!self)
619         return;
620
621     WebCore::Element* coreObj = _to_webcore_element(self);
622     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onkeyup());
623     _to_webkit_eventlistener(result.get(), ret);
624 }
625
626 void ewk_webkitdom_element_set_onkeyup(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnkeyup)
627 {
628     if (!self)
629         return;
630
631     WebCore::Element* coreObj = _to_webcore_element(self);
632     coreObj->setOnkeyup(_to_webcore_eventlistener(newOnkeyup));
633 }
634
635 void ewk_webkitdom_element_get_onload(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
636 {
637     if (!self)
638         return;
639
640     WebCore::Element* coreObj = _to_webcore_element(self);
641     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onload());
642     _to_webkit_eventlistener(result.get(), ret);
643 }
644
645 void ewk_webkitdom_element_set_onload(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnload)
646 {
647     if (!self)
648         return;
649
650     WebCore::Element* coreObj = _to_webcore_element(self);
651     coreObj->setOnload(_to_webcore_eventlistener(newOnload));
652 }
653
654 void ewk_webkitdom_element_get_onmousedown(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
655 {
656     if (!self)
657         return;
658
659     WebCore::Element* coreObj = _to_webcore_element(self);
660     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onmousedown());
661     _to_webkit_eventlistener(result.get(), ret);
662 }
663
664 void ewk_webkitdom_element_set_onmousedown(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnmousedown)
665 {
666     if (!self)
667         return;
668
669     WebCore::Element* coreObj = _to_webcore_element(self);
670     coreObj->setOnmousedown(_to_webcore_eventlistener(newOnmousedown));
671 }
672
673 void ewk_webkitdom_element_get_onmousemove(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
674 {
675     if (!self)
676         return;
677
678     WebCore::Element* coreObj = _to_webcore_element(self);
679     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onmousemove());
680     _to_webkit_eventlistener(result.get(), ret);
681 }
682
683 void ewk_webkitdom_element_set_onmousemove(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnmousemove)
684 {
685     if (!self)
686         return;
687
688     WebCore::Element* coreObj = _to_webcore_element(self);
689     coreObj->setOnmousemove(_to_webcore_eventlistener(newOnmousemove));
690 }
691
692 void ewk_webkitdom_element_get_onmouseout(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
693 {
694     if (!self)
695         return;
696
697     WebCore::Element* coreObj = _to_webcore_element(self);
698     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onmouseout());
699     _to_webkit_eventlistener(result.get(), ret);
700 }
701
702 void ewk_webkitdom_element_set_onmouseout(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnmouseout)
703 {
704     if (!self)
705         return;
706
707     WebCore::Element* coreObj = _to_webcore_element(self);
708     coreObj->setOnmouseout(_to_webcore_eventlistener(newOnmouseout));
709 }
710
711 void ewk_webkitdom_element_get_onmouseover(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
712 {
713     if (!self)
714         return;
715
716     WebCore::Element* coreObj = _to_webcore_element(self);
717     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onmouseover());
718     _to_webkit_eventlistener(result.get(), ret);
719 }
720
721 void ewk_webkitdom_element_set_onmouseover(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnmouseover)
722 {
723     if (!self)
724         return;
725
726     WebCore::Element* coreObj = _to_webcore_element(self);
727     coreObj->setOnmouseover(_to_webcore_eventlistener(newOnmouseover));
728 }
729
730 void ewk_webkitdom_element_get_onmouseup(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
731 {
732     if (!self)
733         return;
734
735     WebCore::Element* coreObj = _to_webcore_element(self);
736     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onmouseup());
737     _to_webkit_eventlistener(result.get(), ret);
738 }
739
740 void ewk_webkitdom_element_set_onmouseup(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnmouseup)
741 {
742     if (!self)
743         return;
744
745     WebCore::Element* coreObj = _to_webcore_element(self);
746     coreObj->setOnmouseup(_to_webcore_eventlistener(newOnmouseup));
747 }
748
749 void ewk_webkitdom_element_get_onmousewheel(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
750 {
751     if (!self)
752         return;
753
754     WebCore::Element* coreObj = _to_webcore_element(self);
755     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onmousewheel());
756     _to_webkit_eventlistener(result.get(), ret);
757 }
758
759 void ewk_webkitdom_element_set_onmousewheel(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnmousewheel)
760 {
761     if (!self)
762         return;
763
764     WebCore::Element* coreObj = _to_webcore_element(self);
765     coreObj->setOnmousewheel(_to_webcore_eventlistener(newOnmousewheel));
766 }
767
768 void ewk_webkitdom_element_get_onscroll(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
769 {
770     if (!self)
771         return;
772
773     WebCore::Element* coreObj = _to_webcore_element(self);
774     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onscroll());
775     _to_webkit_eventlistener(result.get(), ret);
776 }
777
778 void ewk_webkitdom_element_set_onscroll(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnscroll)
779 {
780     if (!self)
781         return;
782
783     WebCore::Element* coreObj = _to_webcore_element(self);
784     coreObj->setOnscroll(_to_webcore_eventlistener(newOnscroll));
785 }
786
787 void ewk_webkitdom_element_get_onselect(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
788 {
789     if (!self)
790         return;
791
792     WebCore::Element* coreObj = _to_webcore_element(self);
793     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onselect());
794     _to_webkit_eventlistener(result.get(), ret);
795 }
796
797 void ewk_webkitdom_element_set_onselect(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnselect)
798 {
799     if (!self)
800         return;
801
802     WebCore::Element* coreObj = _to_webcore_element(self);
803     coreObj->setOnselect(_to_webcore_eventlistener(newOnselect));
804 }
805
806 void ewk_webkitdom_element_get_onsubmit(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
807 {
808     if (!self)
809         return;
810
811     WebCore::Element* coreObj = _to_webcore_element(self);
812     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onsubmit());
813     _to_webkit_eventlistener(result.get(), ret);
814 }
815
816 void ewk_webkitdom_element_set_onsubmit(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnsubmit)
817 {
818     if (!self)
819         return;
820
821     WebCore::Element* coreObj = _to_webcore_element(self);
822     coreObj->setOnsubmit(_to_webcore_eventlistener(newOnsubmit));
823 }
824
825 void ewk_webkitdom_element_get_onbeforecut(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
826 {
827     if (!self)
828         return;
829
830     WebCore::Element* coreObj = _to_webcore_element(self);
831     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onbeforecut());
832     _to_webkit_eventlistener(result.get(), ret);
833 }
834
835 void ewk_webkitdom_element_set_onbeforecut(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnbeforecut)
836 {
837     if (!self)
838         return;
839
840     WebCore::Element* coreObj = _to_webcore_element(self);
841     coreObj->setOnbeforecut(_to_webcore_eventlistener(newOnbeforecut));
842 }
843
844 void ewk_webkitdom_element_get_oncut(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
845 {
846     if (!self)
847         return;
848
849     WebCore::Element* coreObj = _to_webcore_element(self);
850     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->oncut());
851     _to_webkit_eventlistener(result.get(), ret);
852 }
853
854 void ewk_webkitdom_element_set_oncut(WebKitDOM_Element* self, WebKitDOM_EventListener* newOncut)
855 {
856     if (!self)
857         return;
858
859     WebCore::Element* coreObj = _to_webcore_element(self);
860     coreObj->setOncut(_to_webcore_eventlistener(newOncut));
861 }
862
863 void ewk_webkitdom_element_get_onbeforecopy(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
864 {
865     if (!self)
866         return;
867
868     WebCore::Element* coreObj = _to_webcore_element(self);
869     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onbeforecopy());
870     _to_webkit_eventlistener(result.get(), ret);
871 }
872
873 void ewk_webkitdom_element_set_onbeforecopy(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnbeforecopy)
874 {
875     if (!self)
876         return;
877
878     WebCore::Element* coreObj = _to_webcore_element(self);
879     coreObj->setOnbeforecopy(_to_webcore_eventlistener(newOnbeforecopy));
880 }
881
882 void ewk_webkitdom_element_get_oncopy(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
883 {
884     if (!self)
885         return;
886
887     WebCore::Element* coreObj = _to_webcore_element(self);
888     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->oncopy());
889     _to_webkit_eventlistener(result.get(), ret);
890 }
891
892 void ewk_webkitdom_element_set_oncopy(WebKitDOM_Element* self, WebKitDOM_EventListener* newOncopy)
893 {
894     if (!self)
895         return;
896
897     WebCore::Element* coreObj = _to_webcore_element(self);
898     coreObj->setOncopy(_to_webcore_eventlistener(newOncopy));
899 }
900
901 void ewk_webkitdom_element_get_onbeforepaste(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
902 {
903     if (!self)
904         return;
905
906     WebCore::Element* coreObj = _to_webcore_element(self);
907     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onbeforepaste());
908     _to_webkit_eventlistener(result.get(), ret);
909 }
910
911 void ewk_webkitdom_element_set_onbeforepaste(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnbeforepaste)
912 {
913     if (!self)
914         return;
915
916     WebCore::Element* coreObj = _to_webcore_element(self);
917     coreObj->setOnbeforepaste(_to_webcore_eventlistener(newOnbeforepaste));
918 }
919
920 void ewk_webkitdom_element_get_onpaste(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
921 {
922     if (!self)
923         return;
924
925     WebCore::Element* coreObj = _to_webcore_element(self);
926     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onpaste());
927     _to_webkit_eventlistener(result.get(), ret);
928 }
929
930 void ewk_webkitdom_element_set_onpaste(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnpaste)
931 {
932     if (!self)
933         return;
934
935     WebCore::Element* coreObj = _to_webcore_element(self);
936     coreObj->setOnpaste(_to_webcore_eventlistener(newOnpaste));
937 }
938
939 void ewk_webkitdom_element_get_onreset(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
940 {
941     if (!self)
942         return;
943
944     WebCore::Element* coreObj = _to_webcore_element(self);
945     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onreset());
946     _to_webkit_eventlistener(result.get(), ret);
947 }
948
949 void ewk_webkitdom_element_set_onreset(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnreset)
950 {
951     if (!self)
952         return;
953
954     WebCore::Element* coreObj = _to_webcore_element(self);
955     coreObj->setOnreset(_to_webcore_eventlistener(newOnreset));
956 }
957
958 void ewk_webkitdom_element_get_onsearch(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
959 {
960     if (!self)
961         return;
962
963     WebCore::Element* coreObj = _to_webcore_element(self);
964     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onsearch());
965     _to_webkit_eventlistener(result.get(), ret);
966 }
967
968 void ewk_webkitdom_element_set_onsearch(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnsearch)
969 {
970     if (!self)
971         return;
972
973     WebCore::Element* coreObj = _to_webcore_element(self);
974     coreObj->setOnsearch(_to_webcore_eventlistener(newOnsearch));
975 }
976
977 void ewk_webkitdom_element_get_onselectstart(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
978 {
979     if (!self)
980         return;
981
982     WebCore::Element* coreObj = _to_webcore_element(self);
983     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onselectstart());
984     _to_webkit_eventlistener(result.get(), ret);
985 }
986
987 void ewk_webkitdom_element_set_onselectstart(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnselectstart)
988 {
989     if (!self)
990         return;
991
992     WebCore::Element* coreObj = _to_webcore_element(self);
993     coreObj->setOnselectstart(_to_webcore_eventlistener(newOnselectstart));
994 }
995
996 /* #if (defined ENABLE_TOUCH_EVENTS  && ENABLE_TOUCH_EVENTS)
997 void ewk_webkitdom_element_get_ontouchstart(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
998 {
999     if (!self)
1000         return;
1001
1002     WebCore::Element* coreObj = _to_webcore_element(self);
1003     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ontouchstart());
1004     _to_webkit_eventlistener(result.get(), ret);
1005 }
1006
1007 void ewk_webkitdom_element_set_ontouchstart(WebKitDOM_Element* self, WebKitDOM_EventListener* newOntouchstart)
1008 {
1009     if (!self)
1010         return;
1011
1012     WebCore::Element* coreObj = _to_webcore_element(self);
1013     coreObj->setOntouchstart(_to_webcore_eventlistener(newOntouchstart));
1014 }
1015
1016 #endif */
1017 /* #if (defined ENABLE_TOUCH_EVENTS  && ENABLE_TOUCH_EVENTS)
1018 void ewk_webkitdom_element_get_ontouchmove(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
1019 {
1020     if (!self)
1021         return;
1022
1023     WebCore::Element* coreObj = _to_webcore_element(self);
1024     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ontouchmove());
1025     _to_webkit_eventlistener(result.get(), ret);
1026 }
1027
1028 void ewk_webkitdom_element_set_ontouchmove(WebKitDOM_Element* self, WebKitDOM_EventListener* newOntouchmove)
1029 {
1030     if (!self)
1031         return;
1032
1033     WebCore::Element* coreObj = _to_webcore_element(self);
1034     coreObj->setOntouchmove(_to_webcore_eventlistener(newOntouchmove));
1035 }
1036
1037 #endif */
1038 /* #if (defined ENABLE_TOUCH_EVENTS  && ENABLE_TOUCH_EVENTS)
1039 void ewk_webkitdom_element_get_ontouchend(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
1040 {
1041     if (!self)
1042         return;
1043
1044     WebCore::Element* coreObj = _to_webcore_element(self);
1045     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ontouchend());
1046     _to_webkit_eventlistener(result.get(), ret);
1047 }
1048
1049 void ewk_webkitdom_element_set_ontouchend(WebKitDOM_Element* self, WebKitDOM_EventListener* newOntouchend)
1050 {
1051     if (!self)
1052         return;
1053
1054     WebCore::Element* coreObj = _to_webcore_element(self);
1055     coreObj->setOntouchend(_to_webcore_eventlistener(newOntouchend));
1056 }
1057
1058 #endif */
1059 /* #if (defined ENABLE_TOUCH_EVENTS  && ENABLE_TOUCH_EVENTS)
1060 void ewk_webkitdom_element_get_ontouchcancel(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
1061 {
1062     if (!self)
1063         return;
1064
1065     WebCore::Element* coreObj = _to_webcore_element(self);
1066     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->ontouchcancel());
1067     _to_webkit_eventlistener(result.get(), ret);
1068 }
1069
1070 void ewk_webkitdom_element_set_ontouchcancel(WebKitDOM_Element* self, WebKitDOM_EventListener* newOntouchcancel)
1071 {
1072     if (!self)
1073         return;
1074
1075     WebCore::Element* coreObj = _to_webcore_element(self);
1076     coreObj->setOntouchcancel(_to_webcore_eventlistener(newOntouchcancel));
1077 }
1078
1079 #endif */
1080 /* #if (defined ENABLE_FULLSCREEN_API  && ENABLE_FULLSCREEN_API)
1081 void ewk_webkitdom_element_get_onwebkitfullscreenchange(WebKitDOM_Element* self, WebKitDOM_EventListener* ret)
1082 {
1083     if (!self)
1084         return;
1085
1086     WebCore::Element* coreObj = _to_webcore_element(self);
1087     RefPtr<WebCore::EventListener> result = WTF::getPtr(coreObj->onwebkitfullscreenchange());
1088     _to_webkit_eventlistener(result.get(), ret);
1089 }
1090
1091 void ewk_webkitdom_element_set_onwebkitfullscreenchange(WebKitDOM_Element* self, WebKitDOM_EventListener* newOnwebkitfullscreenchange)
1092 {
1093     if (!self)
1094         return;
1095
1096     WebCore::Element* coreObj = _to_webcore_element(self);
1097     coreObj->setOnwebkitfullscreenchange(_to_webcore_eventlistener(newOnwebkitfullscreenchange));
1098 }
1099
1100 #endif */
1101 void ewk_webkitdom_element_get_attribute(WebKitDOM_Element* self, WebKitDOM_String* name, WebKitDOM_String* ret)
1102 {
1103     if (!self)
1104         return;
1105
1106     WebCore::Element* coreObj = _to_webcore_element(self);
1107     WTF::String result = coreObj->getAttribute(_to_webcore_string_value(name));
1108     _to_webkit_string(&result, ret);
1109
1110 }
1111
1112 void ewk_webkitdom_element_set_attribute(WebKitDOM_Element* self, WebKitDOM_String* name, WebKitDOM_String* value)
1113 {
1114     if (!self)
1115         return;
1116
1117     WebCore::Element* coreObj = _to_webcore_element(self);
1118     WebCore::ExceptionCode ec = 0;
1119     coreObj->setAttribute(_to_webcore_string_value(name), _to_webcore_string_value(value), ec);
1120     // WebKitDOM_RaiseError(static_cast<WebKitDOM_ExceptionCode>(ec)); // TODO: Exceptions
1121 }
1122
1123 void ewk_webkitdom_element_remove_attribute(WebKitDOM_Element* self, WebKitDOM_String* name)
1124 {
1125     if (!self)
1126         return;
1127
1128     WebCore::Element* coreObj = _to_webcore_element(self);
1129     WebCore::ExceptionCode ec = 0;
1130     coreObj->removeAttribute(_to_webcore_string_value(name), ec);
1131     // WebKitDOM_RaiseError(static_cast<WebKitDOM_ExceptionCode>(ec)); // TODO: Exceptions
1132 }
1133
1134 void ewk_webkitdom_element_get_attribute_node(WebKitDOM_Element* self, WebKitDOM_String* name, WebKitDOM_Attr* ret)
1135 {
1136     if (!self)
1137         return;
1138
1139     WebCore::Element* coreObj = _to_webcore_element(self);
1140     RefPtr<WebCore::Attr> result = WTF::getPtr(coreObj->getAttributeNode(_to_webcore_string_value(name)));
1141     _to_webkit_attr(result.get(), ret);
1142
1143 }
1144
1145 void ewk_webkitdom_element_set_attribute_node(WebKitDOM_Element* self, WebKitDOM_Attr* newAttr, WebKitDOM_Attr* ret)
1146 {
1147     if (!self)
1148         return;
1149
1150     WebCore::Element* coreObj = _to_webcore_element(self);
1151 // TODO: exceptions
1152     WebCore::ExceptionCode ec = 0;
1153     RefPtr<WebCore::Attr> result = WTF::getPtr(coreObj->setAttributeNode(_to_webcore_attr(newAttr), ec));
1154     _to_webkit_attr(result.get(), ret);
1155
1156 }
1157
1158 void ewk_webkitdom_element_remove_attribute_node(WebKitDOM_Element* self, WebKitDOM_Attr* oldAttr, WebKitDOM_Attr* ret)
1159 {
1160     if (!self)
1161         return;
1162
1163     WebCore::Element* coreObj = _to_webcore_element(self);
1164 // TODO: exceptions
1165     WebCore::ExceptionCode ec = 0;
1166     RefPtr<WebCore::Attr> result = WTF::getPtr(coreObj->removeAttributeNode(_to_webcore_attr(oldAttr), ec));
1167     _to_webkit_attr(result.get(), ret);
1168
1169 }
1170
1171 void ewk_webkitdom_element_get_elements_by_tag_name(WebKitDOM_Element* self, WebKitDOM_String* name, WebKitDOM_NodeList* ret)
1172 {
1173     if (!self)
1174         return;
1175
1176     WebCore::Element* coreObj = _to_webcore_element(self);
1177     RefPtr<WebCore::NodeList> result = WTF::getPtr(coreObj->getElementsByTagName(_to_webcore_string_value(name)));
1178     _to_webkit_nodelist(result.get(), ret);
1179
1180 }
1181
1182 void ewk_webkitdom_element_get_attribute_ns(WebKitDOM_Element* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* localName, WebKitDOM_String* ret)
1183 {
1184     if (!self)
1185         return;
1186
1187     WebCore::Element* coreObj = _to_webcore_element(self);
1188     WTF::String result = coreObj->getAttributeNS(_to_webcore_string_value(namespaceURI), _to_webcore_string_value(localName));
1189     _to_webkit_string(&result, ret);
1190
1191 }
1192
1193 void ewk_webkitdom_element_set_attribute_ns(WebKitDOM_Element* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* qualifiedName, WebKitDOM_String* value)
1194 {
1195     if (!self)
1196         return;
1197
1198     WebCore::Element* coreObj = _to_webcore_element(self);
1199     WebCore::ExceptionCode ec = 0;
1200     coreObj->setAttributeNS(_to_webcore_string_value(namespaceURI), _to_webcore_string_value(qualifiedName), _to_webcore_string_value(value), ec);
1201     // WebKitDOM_RaiseError(static_cast<WebKitDOM_ExceptionCode>(ec)); // TODO: Exceptions
1202 }
1203
1204 void ewk_webkitdom_element_remove_attribute_ns(WebKitDOM_Element* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* localName)
1205 {
1206     if (!self)
1207         return;
1208
1209     WebCore::Element* coreObj = _to_webcore_element(self);
1210     WebCore::ExceptionCode ec = 0;
1211     coreObj->removeAttributeNS(_to_webcore_string_value(namespaceURI), _to_webcore_string_value(localName), ec);
1212     // WebKitDOM_RaiseError(static_cast<WebKitDOM_ExceptionCode>(ec)); // TODO: Exceptions
1213 }
1214
1215 void ewk_webkitdom_element_get_elements_by_tag_name_ns(WebKitDOM_Element* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* localName, WebKitDOM_NodeList* ret)
1216 {
1217     if (!self)
1218         return;
1219
1220     WebCore::Element* coreObj = _to_webcore_element(self);
1221     RefPtr<WebCore::NodeList> result = WTF::getPtr(coreObj->getElementsByTagNameNS(_to_webcore_string_value(namespaceURI), _to_webcore_string_value(localName)));
1222     _to_webkit_nodelist(result.get(), ret);
1223
1224 }
1225
1226 void ewk_webkitdom_element_get_attribute_node_ns(WebKitDOM_Element* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* localName, WebKitDOM_Attr* ret)
1227 {
1228     if (!self)
1229         return;
1230
1231     WebCore::Element* coreObj = _to_webcore_element(self);
1232     RefPtr<WebCore::Attr> result = WTF::getPtr(coreObj->getAttributeNodeNS(_to_webcore_string_value(namespaceURI), _to_webcore_string_value(localName)));
1233     _to_webkit_attr(result.get(), ret);
1234
1235 }
1236
1237 void ewk_webkitdom_element_set_attribute_node_ns(WebKitDOM_Element* self, WebKitDOM_Attr* newAttr, WebKitDOM_Attr* ret)
1238 {
1239     if (!self)
1240         return;
1241
1242     WebCore::Element* coreObj = _to_webcore_element(self);
1243 // TODO: exceptions
1244     WebCore::ExceptionCode ec = 0;
1245     RefPtr<WebCore::Attr> result = WTF::getPtr(coreObj->setAttributeNodeNS(_to_webcore_attr(newAttr), ec));
1246     _to_webkit_attr(result.get(), ret);
1247
1248 }
1249
1250 Eina_Bool ewk_webkitdom_element_has_attribute(WebKitDOM_Element* self, WebKitDOM_String* name)
1251 {
1252     if (!self)
1253         return EINA_FALSE;
1254
1255     WebCore::Element* coreObj = _to_webcore_element(self);
1256     return coreObj->hasAttribute(_to_webcore_string_value(name));
1257 }
1258
1259 Eina_Bool ewk_webkitdom_element_has_attribute_ns(WebKitDOM_Element* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* localName)
1260 {
1261     if (!self)
1262         return EINA_FALSE;
1263
1264     WebCore::Element* coreObj = _to_webcore_element(self);
1265     return coreObj->hasAttributeNS(_to_webcore_string_value(namespaceURI), _to_webcore_string_value(localName));
1266 }
1267
1268 void ewk_webkitdom_element_focus(WebKitDOM_Element* self)
1269 {
1270     if (!self)
1271         return;
1272
1273     WebCore::Element* coreObj = _to_webcore_element(self);
1274     coreObj->focus();
1275 }
1276
1277 void ewk_webkitdom_element_blur(WebKitDOM_Element* self)
1278 {
1279     if (!self)
1280         return;
1281
1282     WebCore::Element* coreObj = _to_webcore_element(self);
1283     coreObj->blur();
1284 }
1285
1286 void ewk_webkitdom_element_scroll_into_view(WebKitDOM_Element* self, Eina_Bool alignWithTop)
1287 {
1288     if (!self)
1289         return;
1290
1291     WebCore::Element* coreObj = _to_webcore_element(self);
1292     coreObj->scrollIntoView(alignWithTop);
1293 }
1294
1295 void ewk_webkitdom_element_scroll_into_view_if_needed(WebKitDOM_Element* self, Eina_Bool centerIfNeeded)
1296 {
1297     if (!self)
1298         return;
1299
1300     WebCore::Element* coreObj = _to_webcore_element(self);
1301     coreObj->scrollIntoViewIfNeeded(centerIfNeeded);
1302 }
1303
1304 void ewk_webkitdom_element_scroll_by_lines(WebKitDOM_Element* self, int lines)
1305 {
1306     if (!self)
1307         return;
1308
1309     WebCore::Element* coreObj = _to_webcore_element(self);
1310     coreObj->scrollByLines(lines);
1311 }
1312
1313 void ewk_webkitdom_element_scroll_by_pages(WebKitDOM_Element* self, int pages)
1314 {
1315     if (!self)
1316         return;
1317
1318     WebCore::Element* coreObj = _to_webcore_element(self);
1319     coreObj->scrollByPages(pages);
1320 }
1321
1322 void ewk_webkitdom_element_get_elements_by_class_name(WebKitDOM_Element* self, WebKitDOM_String* name, WebKitDOM_NodeList* ret)
1323 {
1324     if (!self)
1325         return;
1326
1327     WebCore::Element* coreObj = _to_webcore_element(self);
1328     RefPtr<WebCore::NodeList> result = WTF::getPtr(coreObj->getElementsByClassName(_to_webcore_string_value(name)));
1329     _to_webkit_nodelist(result.get(), ret);
1330
1331 }
1332
1333 void ewk_webkitdom_element_query_selector(WebKitDOM_Element* self, WebKitDOM_String* selectors, WebKitDOM_Element* ret)
1334 {
1335     if (!self)
1336         return;
1337
1338     WebCore::Element* coreObj = _to_webcore_element(self);
1339 // TODO: exceptions
1340     WebCore::ExceptionCode ec = 0;
1341     RefPtr<WebCore::Element> result = WTF::getPtr(coreObj->querySelector(_to_webcore_string_value(selectors), ec));
1342     _to_webkit_element(result.get(), ret);
1343
1344 }
1345
1346 void ewk_webkitdom_element_query_selector_all(WebKitDOM_Element* self, WebKitDOM_String* selectors, WebKitDOM_NodeList* ret)
1347 {
1348     if (!self)
1349         return;
1350
1351     WebCore::Element* coreObj = _to_webcore_element(self);
1352 // TODO: exceptions
1353     WebCore::ExceptionCode ec = 0;
1354     RefPtr<WebCore::NodeList> result = WTF::getPtr(coreObj->querySelectorAll(_to_webcore_string_value(selectors), ec));
1355     _to_webkit_nodelist(result.get(), ret);
1356
1357 }
1358
1359 Eina_Bool ewk_webkitdom_element_webkit_matches_selector(WebKitDOM_Element* self, WebKitDOM_String* selectors)
1360 {
1361     if (!self)
1362         return EINA_FALSE;
1363
1364     WebCore::Element* coreObj = _to_webcore_element(self);
1365 // TODO: exceptions
1366     WebCore::ExceptionCode ec = 0;
1367     return coreObj->webkitMatchesSelector(_to_webcore_string_value(selectors), ec);
1368 }
1369
1370
1371 void ewk_webkitdom_element_deinit(const WebKitDOM_Object* objPtr)
1372 {
1373     if( WEBKITDOM_ISNULL(objPtr) )
1374        return;
1375     ((WebCore::Element*)(objPtr->p_coreObject))->deref();
1376     (((WebKitDOM_Object*)(objPtr))->p_coreObject) = 0;
1377 }
1378
1379 void _copy_webkit_element(WebKitDOM_Element* kitObjSrc, WebKitDOM_Element* ret)
1380 {
1381     if (WEBKITDOM_COREOBJ(kitObjSrc) == WEBKITDOM_COREOBJ(ret))
1382         return;
1383     WebCore::Element* tmpPtr = _to_webcore_element(ret);
1384     if (tmpPtr)
1385         tmpPtr->deref();
1386     if (!WEBKITDOM_ISNULL(kitObjSrc))
1387         _to_webcore_element(kitObjSrc)->ref();
1388     ((WebKitDOM_Object*)ret)->p_coreObject = WEBKITDOM_COREOBJ(kitObjSrc);
1389 }
1390
1391 WebCore::Element* _to_webcore_element(const WebKitDOM_Element* kitObj)
1392 {
1393     return (WebCore::Element*)WEBKITDOM_COREOBJ(kitObj);
1394 }
1395
1396 WebKitDOM_Element* _to_webkit_element(WebCore::Element* coreObj, WebKitDOM_Element* ret)
1397 {
1398     WebCore::Element* tmpPtr = _to_webcore_element(ret);
1399     if (tmpPtr && tmpPtr != coreObj)
1400         tmpPtr->deref();
1401     if (coreObj)
1402         coreObj->ref();
1403     ((WebKitDOM_Object*)ret)->p_coreObject = coreObj;
1404     return ret;
1405 }
1406