1/*
2 * This file is part of the WebKit open source project.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20#include "config.h"
21#include "WebKitDOMHTMLAnchorElement.h"
22
23#include <WebCore/CSSImportRule.h>
24#include "DOMObjectCache.h"
25#include <WebCore/DOMException.h>
26#include <WebCore/Document.h>
27#include "GObjectEventListener.h"
28#include <WebCore/HTMLNames.h>
29#include <WebCore/JSExecState.h>
30#include "WebKitDOMDOMTokenListPrivate.h"
31#include "WebKitDOMEventPrivate.h"
32#include "WebKitDOMEventTarget.h"
33#include "WebKitDOMHTMLAnchorElementPrivate.h"
34#include "WebKitDOMNodePrivate.h"
35#include "WebKitDOMPrivate.h"
36#include "ConvertToUTF8String.h"
37#include <wtf/GetPtr.h>
38#include <wtf/RefPtr.h>
39
40G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
41
42namespace WebKit {
43
44WebKitDOMHTMLAnchorElement* kit(WebCore::HTMLAnchorElement* obj)
45{
46 return WEBKIT_DOM_HTML_ANCHOR_ELEMENT(kit(static_cast<WebCore::Node*>(obj)));
47}
48
49WebCore::HTMLAnchorElement* core(WebKitDOMHTMLAnchorElement* request)
50{
51 return request ? static_cast<WebCore::HTMLAnchorElement*>(WEBKIT_DOM_OBJECT(request)->coreObject) : 0;
52}
53
54WebKitDOMHTMLAnchorElement* wrapHTMLAnchorElement(WebCore::HTMLAnchorElement* coreObject)
55{
56 ASSERT(coreObject);
57 return WEBKIT_DOM_HTML_ANCHOR_ELEMENT(g_object_new(WEBKIT_DOM_TYPE_HTML_ANCHOR_ELEMENT, "core-object", coreObject, nullptr));
58}
59
60} // namespace WebKit
61
62static gboolean webkit_dom_html_anchor_element_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error)
63{
64 WebCore::Event* coreEvent = WebKit::core(event);
65 if (!coreEvent)
66 return false;
67 WebCore::HTMLAnchorElement* coreTarget = static_cast<WebCore::HTMLAnchorElement*>(WEBKIT_DOM_OBJECT(target)->coreObject);
68
69 auto result = coreTarget->dispatchEventForBindings(*coreEvent);
70 if (result.hasException()) {
71 auto description = WebCore::DOMException::description(result.releaseException().code());
72 g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), description.legacyCode, description.name);
73 return false;
74 }
75 return result.releaseReturnValue();
76}
77
78static gboolean webkit_dom_html_anchor_element_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GClosure* handler, gboolean useCapture)
79{
80 WebCore::HTMLAnchorElement* coreTarget = static_cast<WebCore::HTMLAnchorElement*>(WEBKIT_DOM_OBJECT(target)->coreObject);
81 return WebKit::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, useCapture);
82}
83
84static gboolean webkit_dom_html_anchor_element_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GClosure* handler, gboolean useCapture)
85{
86 WebCore::HTMLAnchorElement* coreTarget = static_cast<WebCore::HTMLAnchorElement*>(WEBKIT_DOM_OBJECT(target)->coreObject);
87 return WebKit::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, useCapture);
88}
89
90static void webkit_dom_html_anchor_element_dom_event_target_init(WebKitDOMEventTargetIface* iface)
91{
92 iface->dispatch_event = webkit_dom_html_anchor_element_dispatch_event;
93 iface->add_event_listener = webkit_dom_html_anchor_element_add_event_listener;
94 iface->remove_event_listener = webkit_dom_html_anchor_element_remove_event_listener;
95}
96
97G_DEFINE_TYPE_WITH_CODE(WebKitDOMHTMLAnchorElement, webkit_dom_html_anchor_element, WEBKIT_DOM_TYPE_HTML_ELEMENT, G_IMPLEMENT_INTERFACE(WEBKIT_DOM_TYPE_EVENT_TARGET, webkit_dom_html_anchor_element_dom_event_target_init))
98
99enum {
100 DOM_HTML_ANCHOR_ELEMENT_PROP_0,
101 DOM_HTML_ANCHOR_ELEMENT_PROP_CHARSET,
102 DOM_HTML_ANCHOR_ELEMENT_PROP_COORDS,
103 DOM_HTML_ANCHOR_ELEMENT_PROP_HREFLANG,
104 DOM_HTML_ANCHOR_ELEMENT_PROP_NAME,
105 DOM_HTML_ANCHOR_ELEMENT_PROP_REL,
106 DOM_HTML_ANCHOR_ELEMENT_PROP_REV,
107 DOM_HTML_ANCHOR_ELEMENT_PROP_SHAPE,
108 DOM_HTML_ANCHOR_ELEMENT_PROP_TARGET,
109 DOM_HTML_ANCHOR_ELEMENT_PROP_TYPE,
110 DOM_HTML_ANCHOR_ELEMENT_PROP_TEXT,
111 DOM_HTML_ANCHOR_ELEMENT_PROP_HREF,
112 DOM_HTML_ANCHOR_ELEMENT_PROP_PROTOCOL,
113 DOM_HTML_ANCHOR_ELEMENT_PROP_HOST,
114 DOM_HTML_ANCHOR_ELEMENT_PROP_HOSTNAME,
115 DOM_HTML_ANCHOR_ELEMENT_PROP_PORT,
116 DOM_HTML_ANCHOR_ELEMENT_PROP_PATHNAME,
117 DOM_HTML_ANCHOR_ELEMENT_PROP_SEARCH,
118 DOM_HTML_ANCHOR_ELEMENT_PROP_HASH,
119};
120
121static void webkit_dom_html_anchor_element_set_property(GObject* object, guint propertyId, const GValue* value, GParamSpec* pspec)
122{
123 WebKitDOMHTMLAnchorElement* self = WEBKIT_DOM_HTML_ANCHOR_ELEMENT(object);
124
125 switch (propertyId) {
126 case DOM_HTML_ANCHOR_ELEMENT_PROP_CHARSET:
127 webkit_dom_html_anchor_element_set_charset(self, g_value_get_string(value));
128 break;
129 case DOM_HTML_ANCHOR_ELEMENT_PROP_COORDS:
130 webkit_dom_html_anchor_element_set_coords(self, g_value_get_string(value));
131 break;
132 case DOM_HTML_ANCHOR_ELEMENT_PROP_HREFLANG:
133 webkit_dom_html_anchor_element_set_hreflang(self, g_value_get_string(value));
134 break;
135 case DOM_HTML_ANCHOR_ELEMENT_PROP_NAME:
136 webkit_dom_html_anchor_element_set_name(self, g_value_get_string(value));
137 break;
138 case DOM_HTML_ANCHOR_ELEMENT_PROP_REL:
139 webkit_dom_html_anchor_element_set_rel(self, g_value_get_string(value));
140 break;
141 case DOM_HTML_ANCHOR_ELEMENT_PROP_REV:
142 webkit_dom_html_anchor_element_set_rev(self, g_value_get_string(value));
143 break;
144 case DOM_HTML_ANCHOR_ELEMENT_PROP_SHAPE:
145 webkit_dom_html_anchor_element_set_shape(self, g_value_get_string(value));
146 break;
147 case DOM_HTML_ANCHOR_ELEMENT_PROP_TARGET:
148 webkit_dom_html_anchor_element_set_target(self, g_value_get_string(value));
149 break;
150 case DOM_HTML_ANCHOR_ELEMENT_PROP_TYPE:
151 webkit_dom_html_anchor_element_set_type_attr(self, g_value_get_string(value));
152 break;
153 case DOM_HTML_ANCHOR_ELEMENT_PROP_TEXT:
154 webkit_dom_html_anchor_element_set_text(self, g_value_get_string(value));
155 break;
156 case DOM_HTML_ANCHOR_ELEMENT_PROP_HREF:
157 webkit_dom_html_anchor_element_set_href(self, g_value_get_string(value));
158 break;
159 case DOM_HTML_ANCHOR_ELEMENT_PROP_PROTOCOL:
160 webkit_dom_html_anchor_element_set_protocol(self, g_value_get_string(value));
161 break;
162 case DOM_HTML_ANCHOR_ELEMENT_PROP_HOST:
163 webkit_dom_html_anchor_element_set_host(self, g_value_get_string(value));
164 break;
165 case DOM_HTML_ANCHOR_ELEMENT_PROP_HOSTNAME:
166 webkit_dom_html_anchor_element_set_hostname(self, g_value_get_string(value));
167 break;
168 case DOM_HTML_ANCHOR_ELEMENT_PROP_PORT:
169 webkit_dom_html_anchor_element_set_port(self, g_value_get_string(value));
170 break;
171 case DOM_HTML_ANCHOR_ELEMENT_PROP_PATHNAME:
172 webkit_dom_html_anchor_element_set_pathname(self, g_value_get_string(value));
173 break;
174 case DOM_HTML_ANCHOR_ELEMENT_PROP_SEARCH:
175 webkit_dom_html_anchor_element_set_search(self, g_value_get_string(value));
176 break;
177 case DOM_HTML_ANCHOR_ELEMENT_PROP_HASH:
178 webkit_dom_html_anchor_element_set_hash(self, g_value_get_string(value));
179 break;
180 default:
181 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
182 break;
183 }
184}
185
186static void webkit_dom_html_anchor_element_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* pspec)
187{
188 WebKitDOMHTMLAnchorElement* self = WEBKIT_DOM_HTML_ANCHOR_ELEMENT(object);
189
190 switch (propertyId) {
191 case DOM_HTML_ANCHOR_ELEMENT_PROP_CHARSET:
192 g_value_take_string(value, webkit_dom_html_anchor_element_get_charset(self));
193 break;
194 case DOM_HTML_ANCHOR_ELEMENT_PROP_COORDS:
195 g_value_take_string(value, webkit_dom_html_anchor_element_get_coords(self));
196 break;
197 case DOM_HTML_ANCHOR_ELEMENT_PROP_HREFLANG:
198 g_value_take_string(value, webkit_dom_html_anchor_element_get_hreflang(self));
199 break;
200 case DOM_HTML_ANCHOR_ELEMENT_PROP_NAME:
201 g_value_take_string(value, webkit_dom_html_anchor_element_get_name(self));
202 break;
203 case DOM_HTML_ANCHOR_ELEMENT_PROP_REL:
204 g_value_take_string(value, webkit_dom_html_anchor_element_get_rel(self));
205 break;
206 case DOM_HTML_ANCHOR_ELEMENT_PROP_REV:
207 g_value_take_string(value, webkit_dom_html_anchor_element_get_rev(self));
208 break;
209 case DOM_HTML_ANCHOR_ELEMENT_PROP_SHAPE:
210 g_value_take_string(value, webkit_dom_html_anchor_element_get_shape(self));
211 break;
212 case DOM_HTML_ANCHOR_ELEMENT_PROP_TARGET:
213 g_value_take_string(value, webkit_dom_html_anchor_element_get_target(self));
214 break;
215 case DOM_HTML_ANCHOR_ELEMENT_PROP_TYPE:
216 g_value_take_string(value, webkit_dom_html_anchor_element_get_type_attr(self));
217 break;
218 case DOM_HTML_ANCHOR_ELEMENT_PROP_TEXT:
219 g_value_take_string(value, webkit_dom_html_anchor_element_get_text(self));
220 break;
221 case DOM_HTML_ANCHOR_ELEMENT_PROP_HREF:
222 g_value_take_string(value, webkit_dom_html_anchor_element_get_href(self));
223 break;
224 case DOM_HTML_ANCHOR_ELEMENT_PROP_PROTOCOL:
225 g_value_take_string(value, webkit_dom_html_anchor_element_get_protocol(self));
226 break;
227 case DOM_HTML_ANCHOR_ELEMENT_PROP_HOST:
228 g_value_take_string(value, webkit_dom_html_anchor_element_get_host(self));
229 break;
230 case DOM_HTML_ANCHOR_ELEMENT_PROP_HOSTNAME:
231 g_value_take_string(value, webkit_dom_html_anchor_element_get_hostname(self));
232 break;
233 case DOM_HTML_ANCHOR_ELEMENT_PROP_PORT:
234 g_value_take_string(value, webkit_dom_html_anchor_element_get_port(self));
235 break;
236 case DOM_HTML_ANCHOR_ELEMENT_PROP_PATHNAME:
237 g_value_take_string(value, webkit_dom_html_anchor_element_get_pathname(self));
238 break;
239 case DOM_HTML_ANCHOR_ELEMENT_PROP_SEARCH:
240 g_value_take_string(value, webkit_dom_html_anchor_element_get_search(self));
241 break;
242 case DOM_HTML_ANCHOR_ELEMENT_PROP_HASH:
243 g_value_take_string(value, webkit_dom_html_anchor_element_get_hash(self));
244 break;
245 default:
246 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
247 break;
248 }
249}
250
251static void webkit_dom_html_anchor_element_class_init(WebKitDOMHTMLAnchorElementClass* requestClass)
252{
253 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass);
254 gobjectClass->set_property = webkit_dom_html_anchor_element_set_property;
255 gobjectClass->get_property = webkit_dom_html_anchor_element_get_property;
256
257 g_object_class_install_property(
258 gobjectClass,
259 DOM_HTML_ANCHOR_ELEMENT_PROP_CHARSET,
260 g_param_spec_string(
261 "charset",
262 "HTMLAnchorElement:charset",
263 "read-write gchar* HTMLAnchorElement:charset",
264 "",
265 WEBKIT_PARAM_READWRITE));
266
267 g_object_class_install_property(
268 gobjectClass,
269 DOM_HTML_ANCHOR_ELEMENT_PROP_COORDS,
270 g_param_spec_string(
271 "coords",
272 "HTMLAnchorElement:coords",
273 "read-write gchar* HTMLAnchorElement:coords",
274 "",
275 WEBKIT_PARAM_READWRITE));
276
277 g_object_class_install_property(
278 gobjectClass,
279 DOM_HTML_ANCHOR_ELEMENT_PROP_HREFLANG,
280 g_param_spec_string(
281 "hreflang",
282 "HTMLAnchorElement:hreflang",
283 "read-write gchar* HTMLAnchorElement:hreflang",
284 "",
285 WEBKIT_PARAM_READWRITE));
286
287 g_object_class_install_property(
288 gobjectClass,
289 DOM_HTML_ANCHOR_ELEMENT_PROP_NAME,
290 g_param_spec_string(
291 "name",
292 "HTMLAnchorElement:name",
293 "read-write gchar* HTMLAnchorElement:name",
294 "",
295 WEBKIT_PARAM_READWRITE));
296
297 g_object_class_install_property(
298 gobjectClass,
299 DOM_HTML_ANCHOR_ELEMENT_PROP_REL,
300 g_param_spec_string(
301 "rel",
302 "HTMLAnchorElement:rel",
303 "read-write gchar* HTMLAnchorElement:rel",
304 "",
305 WEBKIT_PARAM_READWRITE));
306
307 g_object_class_install_property(
308 gobjectClass,
309 DOM_HTML_ANCHOR_ELEMENT_PROP_REV,
310 g_param_spec_string(
311 "rev",
312 "HTMLAnchorElement:rev",
313 "read-write gchar* HTMLAnchorElement:rev",
314 "",
315 WEBKIT_PARAM_READWRITE));
316
317 g_object_class_install_property(
318 gobjectClass,
319 DOM_HTML_ANCHOR_ELEMENT_PROP_SHAPE,
320 g_param_spec_string(
321 "shape",
322 "HTMLAnchorElement:shape",
323 "read-write gchar* HTMLAnchorElement:shape",
324 "",
325 WEBKIT_PARAM_READWRITE));
326
327 g_object_class_install_property(
328 gobjectClass,
329 DOM_HTML_ANCHOR_ELEMENT_PROP_TARGET,
330 g_param_spec_string(
331 "target",
332 "HTMLAnchorElement:target",
333 "read-write gchar* HTMLAnchorElement:target",
334 "",
335 WEBKIT_PARAM_READWRITE));
336
337 g_object_class_install_property(
338 gobjectClass,
339 DOM_HTML_ANCHOR_ELEMENT_PROP_TYPE,
340 g_param_spec_string(
341 "type",
342 "HTMLAnchorElement:type",
343 "read-write gchar* HTMLAnchorElement:type",
344 "",
345 WEBKIT_PARAM_READWRITE));
346
347 g_object_class_install_property(
348 gobjectClass,
349 DOM_HTML_ANCHOR_ELEMENT_PROP_TEXT,
350 g_param_spec_string(
351 "text",
352 "HTMLAnchorElement:text",
353 "read-write gchar* HTMLAnchorElement:text",
354 "",
355 WEBKIT_PARAM_READWRITE));
356
357 g_object_class_install_property(
358 gobjectClass,
359 DOM_HTML_ANCHOR_ELEMENT_PROP_HREF,
360 g_param_spec_string(
361 "href",
362 "HTMLAnchorElement:href",
363 "read-write gchar* HTMLAnchorElement:href",
364 "",
365 WEBKIT_PARAM_READWRITE));
366
367 g_object_class_install_property(
368 gobjectClass,
369 DOM_HTML_ANCHOR_ELEMENT_PROP_PROTOCOL,
370 g_param_spec_string(
371 "protocol",
372 "HTMLAnchorElement:protocol",
373 "read-write gchar* HTMLAnchorElement:protocol",
374 "",
375 WEBKIT_PARAM_READWRITE));
376
377 g_object_class_install_property(
378 gobjectClass,
379 DOM_HTML_ANCHOR_ELEMENT_PROP_HOST,
380 g_param_spec_string(
381 "host",
382 "HTMLAnchorElement:host",
383 "read-write gchar* HTMLAnchorElement:host",
384 "",
385 WEBKIT_PARAM_READWRITE));
386
387 g_object_class_install_property(
388 gobjectClass,
389 DOM_HTML_ANCHOR_ELEMENT_PROP_HOSTNAME,
390 g_param_spec_string(
391 "hostname",
392 "HTMLAnchorElement:hostname",
393 "read-write gchar* HTMLAnchorElement:hostname",
394 "",
395 WEBKIT_PARAM_READWRITE));
396
397 g_object_class_install_property(
398 gobjectClass,
399 DOM_HTML_ANCHOR_ELEMENT_PROP_PORT,
400 g_param_spec_string(
401 "port",
402 "HTMLAnchorElement:port",
403 "read-write gchar* HTMLAnchorElement:port",
404 "",
405 WEBKIT_PARAM_READWRITE));
406
407 g_object_class_install_property(
408 gobjectClass,
409 DOM_HTML_ANCHOR_ELEMENT_PROP_PATHNAME,
410 g_param_spec_string(
411 "pathname",
412 "HTMLAnchorElement:pathname",
413 "read-write gchar* HTMLAnchorElement:pathname",
414 "",
415 WEBKIT_PARAM_READWRITE));
416
417 g_object_class_install_property(
418 gobjectClass,
419 DOM_HTML_ANCHOR_ELEMENT_PROP_SEARCH,
420 g_param_spec_string(
421 "search",
422 "HTMLAnchorElement:search",
423 "read-write gchar* HTMLAnchorElement:search",
424 "",
425 WEBKIT_PARAM_READWRITE));
426
427 g_object_class_install_property(
428 gobjectClass,
429 DOM_HTML_ANCHOR_ELEMENT_PROP_HASH,
430 g_param_spec_string(
431 "hash",
432 "HTMLAnchorElement:hash",
433 "read-write gchar* HTMLAnchorElement:hash",
434 "",
435 WEBKIT_PARAM_READWRITE));
436
437}
438
439static void webkit_dom_html_anchor_element_init(WebKitDOMHTMLAnchorElement* request)
440{
441 UNUSED_PARAM(request);
442}
443
444gchar* webkit_dom_html_anchor_element_get_charset(WebKitDOMHTMLAnchorElement* self)
445{
446 WebCore::JSMainThreadNullState state;
447 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
448 WebCore::HTMLAnchorElement* item = WebKit::core(self);
449 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::charsetAttr));
450 return result;
451}
452
453void webkit_dom_html_anchor_element_set_charset(WebKitDOMHTMLAnchorElement* self, const gchar* value)
454{
455 WebCore::JSMainThreadNullState state;
456 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
457 g_return_if_fail(value);
458 WebCore::HTMLAnchorElement* item = WebKit::core(self);
459 WTF::String convertedValue = WTF::String::fromUTF8(value);
460 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::charsetAttr, convertedValue);
461}
462
463gchar* webkit_dom_html_anchor_element_get_coords(WebKitDOMHTMLAnchorElement* self)
464{
465 WebCore::JSMainThreadNullState state;
466 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
467 WebCore::HTMLAnchorElement* item = WebKit::core(self);
468 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::coordsAttr));
469 return result;
470}
471
472void webkit_dom_html_anchor_element_set_coords(WebKitDOMHTMLAnchorElement* self, const gchar* value)
473{
474 WebCore::JSMainThreadNullState state;
475 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
476 g_return_if_fail(value);
477 WebCore::HTMLAnchorElement* item = WebKit::core(self);
478 WTF::String convertedValue = WTF::String::fromUTF8(value);
479 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::coordsAttr, convertedValue);
480}
481
482gchar* webkit_dom_html_anchor_element_get_hreflang(WebKitDOMHTMLAnchorElement* self)
483{
484 WebCore::JSMainThreadNullState state;
485 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
486 WebCore::HTMLAnchorElement* item = WebKit::core(self);
487 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::hreflangAttr));
488 return result;
489}
490
491void webkit_dom_html_anchor_element_set_hreflang(WebKitDOMHTMLAnchorElement* self, const gchar* value)
492{
493 WebCore::JSMainThreadNullState state;
494 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
495 g_return_if_fail(value);
496 WebCore::HTMLAnchorElement* item = WebKit::core(self);
497 WTF::String convertedValue = WTF::String::fromUTF8(value);
498 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::hreflangAttr, convertedValue);
499}
500
501gchar* webkit_dom_html_anchor_element_get_name(WebKitDOMHTMLAnchorElement* self)
502{
503 WebCore::JSMainThreadNullState state;
504 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
505 WebCore::HTMLAnchorElement* item = WebKit::core(self);
506 gchar* result = convertToUTF8String(item->getNameAttribute());
507 return result;
508}
509
510void webkit_dom_html_anchor_element_set_name(WebKitDOMHTMLAnchorElement* self, const gchar* value)
511{
512 WebCore::JSMainThreadNullState state;
513 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
514 g_return_if_fail(value);
515 WebCore::HTMLAnchorElement* item = WebKit::core(self);
516 WTF::String convertedValue = WTF::String::fromUTF8(value);
517 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::nameAttr, convertedValue);
518}
519
520gchar* webkit_dom_html_anchor_element_get_rel(WebKitDOMHTMLAnchorElement* self)
521{
522 WebCore::JSMainThreadNullState state;
523 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
524 WebCore::HTMLAnchorElement* item = WebKit::core(self);
525 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::relAttr));
526 return result;
527}
528
529void webkit_dom_html_anchor_element_set_rel(WebKitDOMHTMLAnchorElement* self, const gchar* value)
530{
531 WebCore::JSMainThreadNullState state;
532 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
533 g_return_if_fail(value);
534 WebCore::HTMLAnchorElement* item = WebKit::core(self);
535 WTF::String convertedValue = WTF::String::fromUTF8(value);
536 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::relAttr, convertedValue);
537}
538
539gchar* webkit_dom_html_anchor_element_get_rev(WebKitDOMHTMLAnchorElement* self)
540{
541 WebCore::JSMainThreadNullState state;
542 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
543 WebCore::HTMLAnchorElement* item = WebKit::core(self);
544 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::revAttr));
545 return result;
546}
547
548void webkit_dom_html_anchor_element_set_rev(WebKitDOMHTMLAnchorElement* self, const gchar* value)
549{
550 WebCore::JSMainThreadNullState state;
551 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
552 g_return_if_fail(value);
553 WebCore::HTMLAnchorElement* item = WebKit::core(self);
554 WTF::String convertedValue = WTF::String::fromUTF8(value);
555 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::revAttr, convertedValue);
556}
557
558gchar* webkit_dom_html_anchor_element_get_shape(WebKitDOMHTMLAnchorElement* self)
559{
560 WebCore::JSMainThreadNullState state;
561 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
562 WebCore::HTMLAnchorElement* item = WebKit::core(self);
563 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::shapeAttr));
564 return result;
565}
566
567void webkit_dom_html_anchor_element_set_shape(WebKitDOMHTMLAnchorElement* self, const gchar* value)
568{
569 WebCore::JSMainThreadNullState state;
570 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
571 g_return_if_fail(value);
572 WebCore::HTMLAnchorElement* item = WebKit::core(self);
573 WTF::String convertedValue = WTF::String::fromUTF8(value);
574 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::shapeAttr, convertedValue);
575}
576
577gchar* webkit_dom_html_anchor_element_get_target(WebKitDOMHTMLAnchorElement* self)
578{
579 WebCore::JSMainThreadNullState state;
580 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
581 WebCore::HTMLAnchorElement* item = WebKit::core(self);
582 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::targetAttr));
583 return result;
584}
585
586void webkit_dom_html_anchor_element_set_target(WebKitDOMHTMLAnchorElement* self, const gchar* value)
587{
588 WebCore::JSMainThreadNullState state;
589 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
590 g_return_if_fail(value);
591 WebCore::HTMLAnchorElement* item = WebKit::core(self);
592 WTF::String convertedValue = WTF::String::fromUTF8(value);
593 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::targetAttr, convertedValue);
594}
595
596gchar* webkit_dom_html_anchor_element_get_type_attr(WebKitDOMHTMLAnchorElement* self)
597{
598 WebCore::JSMainThreadNullState state;
599 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
600 WebCore::HTMLAnchorElement* item = WebKit::core(self);
601 gchar* result = convertToUTF8String(item->attributeWithoutSynchronization(WebCore::HTMLNames::typeAttr));
602 return result;
603}
604
605void webkit_dom_html_anchor_element_set_type_attr(WebKitDOMHTMLAnchorElement* self, const gchar* value)
606{
607 WebCore::JSMainThreadNullState state;
608 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
609 g_return_if_fail(value);
610 WebCore::HTMLAnchorElement* item = WebKit::core(self);
611 WTF::String convertedValue = WTF::String::fromUTF8(value);
612 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::typeAttr, convertedValue);
613}
614
615gchar* webkit_dom_html_anchor_element_get_text(WebKitDOMHTMLAnchorElement* self)
616{
617 WebCore::JSMainThreadNullState state;
618 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
619 WebCore::HTMLAnchorElement* item = WebKit::core(self);
620 gchar* result = convertToUTF8String(item->text());
621 return result;
622}
623
624void webkit_dom_html_anchor_element_set_text(WebKitDOMHTMLAnchorElement* self, const gchar* value)
625{
626 WebCore::JSMainThreadNullState state;
627 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
628 g_return_if_fail(value);
629 WebCore::HTMLAnchorElement* item = WebKit::core(self);
630 WTF::String convertedValue = WTF::String::fromUTF8(value);
631 item->setText(convertedValue);
632}
633
634gchar* webkit_dom_html_anchor_element_get_href(WebKitDOMHTMLAnchorElement* self)
635{
636 WebCore::JSMainThreadNullState state;
637 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
638 WebCore::HTMLAnchorElement* item = WebKit::core(self);
639 gchar* result = convertToUTF8String(item->getURLAttribute(WebCore::HTMLNames::hrefAttr));
640 return result;
641}
642
643void webkit_dom_html_anchor_element_set_href(WebKitDOMHTMLAnchorElement* self, const gchar* value)
644{
645 WebCore::JSMainThreadNullState state;
646 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
647 g_return_if_fail(value);
648 WebCore::HTMLAnchorElement* item = WebKit::core(self);
649 WTF::String convertedValue = WTF::String::fromUTF8(value);
650 item->setAttributeWithoutSynchronization(WebCore::HTMLNames::hrefAttr, convertedValue);
651}
652
653gchar* webkit_dom_html_anchor_element_get_protocol(WebKitDOMHTMLAnchorElement* self)
654{
655 WebCore::JSMainThreadNullState state;
656 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
657 WebCore::HTMLAnchorElement* item = WebKit::core(self);
658 gchar* result = convertToUTF8String(item->protocol());
659 return result;
660}
661
662void webkit_dom_html_anchor_element_set_protocol(WebKitDOMHTMLAnchorElement* self, const gchar* value)
663{
664 WebCore::JSMainThreadNullState state;
665 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
666 g_return_if_fail(value);
667 WebCore::HTMLAnchorElement* item = WebKit::core(self);
668 WTF::String convertedValue = WTF::String::fromUTF8(value);
669 item->setProtocol(convertedValue);
670}
671
672gchar* webkit_dom_html_anchor_element_get_host(WebKitDOMHTMLAnchorElement* self)
673{
674 WebCore::JSMainThreadNullState state;
675 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
676 WebCore::HTMLAnchorElement* item = WebKit::core(self);
677 gchar* result = convertToUTF8String(item->host());
678 return result;
679}
680
681void webkit_dom_html_anchor_element_set_host(WebKitDOMHTMLAnchorElement* self, const gchar* value)
682{
683 WebCore::JSMainThreadNullState state;
684 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
685 g_return_if_fail(value);
686 WebCore::HTMLAnchorElement* item = WebKit::core(self);
687 WTF::String convertedValue = WTF::String::fromUTF8(value);
688 item->setHost(convertedValue);
689}
690
691gchar* webkit_dom_html_anchor_element_get_hostname(WebKitDOMHTMLAnchorElement* self)
692{
693 WebCore::JSMainThreadNullState state;
694 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
695 WebCore::HTMLAnchorElement* item = WebKit::core(self);
696 gchar* result = convertToUTF8String(item->hostname());
697 return result;
698}
699
700void webkit_dom_html_anchor_element_set_hostname(WebKitDOMHTMLAnchorElement* self, const gchar* value)
701{
702 WebCore::JSMainThreadNullState state;
703 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
704 g_return_if_fail(value);
705 WebCore::HTMLAnchorElement* item = WebKit::core(self);
706 WTF::String convertedValue = WTF::String::fromUTF8(value);
707 item->setHostname(convertedValue);
708}
709
710gchar* webkit_dom_html_anchor_element_get_port(WebKitDOMHTMLAnchorElement* self)
711{
712 WebCore::JSMainThreadNullState state;
713 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
714 WebCore::HTMLAnchorElement* item = WebKit::core(self);
715 gchar* result = convertToUTF8String(item->port());
716 return result;
717}
718
719void webkit_dom_html_anchor_element_set_port(WebKitDOMHTMLAnchorElement* self, const gchar* value)
720{
721 WebCore::JSMainThreadNullState state;
722 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
723 g_return_if_fail(value);
724 WebCore::HTMLAnchorElement* item = WebKit::core(self);
725 WTF::String convertedValue = WTF::String::fromUTF8(value);
726 item->setPort(convertedValue);
727}
728
729gchar* webkit_dom_html_anchor_element_get_pathname(WebKitDOMHTMLAnchorElement* self)
730{
731 WebCore::JSMainThreadNullState state;
732 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
733 WebCore::HTMLAnchorElement* item = WebKit::core(self);
734 gchar* result = convertToUTF8String(item->pathname());
735 return result;
736}
737
738void webkit_dom_html_anchor_element_set_pathname(WebKitDOMHTMLAnchorElement* self, const gchar* value)
739{
740 WebCore::JSMainThreadNullState state;
741 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
742 g_return_if_fail(value);
743 WebCore::HTMLAnchorElement* item = WebKit::core(self);
744 WTF::String convertedValue = WTF::String::fromUTF8(value);
745 item->setPathname(convertedValue);
746}
747
748gchar* webkit_dom_html_anchor_element_get_search(WebKitDOMHTMLAnchorElement* self)
749{
750 WebCore::JSMainThreadNullState state;
751 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
752 WebCore::HTMLAnchorElement* item = WebKit::core(self);
753 gchar* result = convertToUTF8String(item->search());
754 return result;
755}
756
757void webkit_dom_html_anchor_element_set_search(WebKitDOMHTMLAnchorElement* self, const gchar* value)
758{
759 WebCore::JSMainThreadNullState state;
760 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
761 g_return_if_fail(value);
762 WebCore::HTMLAnchorElement* item = WebKit::core(self);
763 WTF::String convertedValue = WTF::String::fromUTF8(value);
764 item->setSearch(convertedValue);
765}
766
767gchar* webkit_dom_html_anchor_element_get_hash(WebKitDOMHTMLAnchorElement* self)
768{
769 WebCore::JSMainThreadNullState state;
770 g_return_val_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self), 0);
771 WebCore::HTMLAnchorElement* item = WebKit::core(self);
772 gchar* result = convertToUTF8String(item->hash());
773 return result;
774}
775
776void webkit_dom_html_anchor_element_set_hash(WebKitDOMHTMLAnchorElement* self, const gchar* value)
777{
778 WebCore::JSMainThreadNullState state;
779 g_return_if_fail(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(self));
780 g_return_if_fail(value);
781 WebCore::HTMLAnchorElement* item = WebKit::core(self);
782 WTF::String convertedValue = WTF::String::fromUTF8(value);
783 item->setHash(convertedValue);
784}
785
786G_GNUC_END_IGNORE_DEPRECATIONS;
787