tizen beta release
[profile/ivi/webkit-efl.git] / DerivedSources / WebCore / JSHTMLAnchorElement.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     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20
21 #include "config.h"
22 #include "JSHTMLAnchorElement.h"
23
24 #include "ExceptionCode.h"
25 #include "HTMLAnchorElement.h"
26 #include "HTMLNames.h"
27 #include "JSDOMBinding.h"
28 #include "KURL.h"
29 #include <runtime/Error.h>
30 #include <runtime/JSString.h>
31 #include <wtf/GetPtr.h>
32
33 using namespace JSC;
34
35 namespace WebCore {
36
37 ASSERT_CLASS_FITS_IN_CELL(JSHTMLAnchorElement);
38
39 /* Hash table */
40 #if ENABLE(JIT)
41 #define THUNK_GENERATOR(generator) , generator
42 #else
43 #define THUNK_GENERATOR(generator)
44 #endif
45 #if ENABLE(DFG_JIT)
46 #define INTRINSIC(intrinsic) , intrinsic
47 #else
48 #define INTRINSIC(intrinsic)
49 #endif
50
51 static const HashTableValue JSHTMLAnchorElementTableValues[] =
52 {
53     { "charset", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementCharset), (intptr_t)setJSHTMLAnchorElementCharset THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
54     { "coords", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementCoords), (intptr_t)setJSHTMLAnchorElementCoords THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
55 #if ENABLE(DOWNLOAD_ATTRIBUTE)
56     { "download", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementDownload), (intptr_t)setJSHTMLAnchorElementDownload THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
57 #endif
58     { "href", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementHref), (intptr_t)setJSHTMLAnchorElementHref THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
59     { "hreflang", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementHreflang), (intptr_t)setJSHTMLAnchorElementHreflang THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
60     { "name", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementName), (intptr_t)setJSHTMLAnchorElementName THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
61     { "ping", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementPing), (intptr_t)setJSHTMLAnchorElementPing THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
62     { "rel", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementRel), (intptr_t)setJSHTMLAnchorElementRel THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
63     { "rev", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementRev), (intptr_t)setJSHTMLAnchorElementRev THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
64     { "shape", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementShape), (intptr_t)setJSHTMLAnchorElementShape THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
65     { "target", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementTarget), (intptr_t)setJSHTMLAnchorElementTarget THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
66     { "type", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementType), (intptr_t)setJSHTMLAnchorElementType THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
67     { "hash", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementHash), (intptr_t)setJSHTMLAnchorElementHash THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
68     { "host", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementHost), (intptr_t)setJSHTMLAnchorElementHost THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
69     { "hostname", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementHostname), (intptr_t)setJSHTMLAnchorElementHostname THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
70     { "pathname", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementPathname), (intptr_t)setJSHTMLAnchorElementPathname THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
71     { "port", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementPort), (intptr_t)setJSHTMLAnchorElementPort THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
72     { "protocol", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementProtocol), (intptr_t)setJSHTMLAnchorElementProtocol THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
73     { "search", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementSearch), (intptr_t)setJSHTMLAnchorElementSearch THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
74     { "origin", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementOrigin), (intptr_t)0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
75     { "text", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementText), (intptr_t)0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
76     { "constructor", DontEnum | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsHTMLAnchorElementConstructor), (intptr_t)0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
77     { 0, 0, 0, 0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) }
78 };
79
80 #undef THUNK_GENERATOR
81 static const HashTable JSHTMLAnchorElementTable = { 68, 63, JSHTMLAnchorElementTableValues, 0 };
82 /* Hash table for constructor */
83 #if ENABLE(JIT)
84 #define THUNK_GENERATOR(generator) , generator
85 #else
86 #define THUNK_GENERATOR(generator)
87 #endif
88 #if ENABLE(DFG_JIT)
89 #define INTRINSIC(intrinsic) , intrinsic
90 #else
91 #define INTRINSIC(intrinsic)
92 #endif
93
94 static const HashTableValue JSHTMLAnchorElementConstructorTableValues[] =
95 {
96     { 0, 0, 0, 0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) }
97 };
98
99 #undef THUNK_GENERATOR
100 static const HashTable JSHTMLAnchorElementConstructorTable = { 1, 0, JSHTMLAnchorElementConstructorTableValues, 0 };
101 const ClassInfo JSHTMLAnchorElementConstructor::s_info = { "HTMLAnchorElementConstructor", &DOMConstructorObject::s_info, &JSHTMLAnchorElementConstructorTable, 0, CREATE_METHOD_TABLE(JSHTMLAnchorElementConstructor) };
102
103 JSHTMLAnchorElementConstructor::JSHTMLAnchorElementConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
104     : DOMConstructorObject(structure, globalObject)
105 {
106 }
107
108 void JSHTMLAnchorElementConstructor::finishCreation(ExecState* exec, JSDOMGlobalObject* globalObject)
109 {
110     Base::finishCreation(exec->globalData());
111     ASSERT(inherits(&s_info));
112     putDirect(exec->globalData(), exec->propertyNames().prototype, JSHTMLAnchorElementPrototype::self(exec, globalObject), DontDelete | ReadOnly);
113 }
114
115 bool JSHTMLAnchorElementConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
116 {
117     return getStaticValueSlot<JSHTMLAnchorElementConstructor, JSDOMWrapper>(exec, &JSHTMLAnchorElementConstructorTable, static_cast<JSHTMLAnchorElementConstructor*>(cell), propertyName, slot);
118 }
119
120 bool JSHTMLAnchorElementConstructor::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
121 {
122     return getStaticValueDescriptor<JSHTMLAnchorElementConstructor, JSDOMWrapper>(exec, &JSHTMLAnchorElementConstructorTable, static_cast<JSHTMLAnchorElementConstructor*>(object), propertyName, descriptor);
123 }
124
125 /* Hash table for prototype */
126 #if ENABLE(JIT)
127 #define THUNK_GENERATOR(generator) , generator
128 #else
129 #define THUNK_GENERATOR(generator)
130 #endif
131 #if ENABLE(DFG_JIT)
132 #define INTRINSIC(intrinsic) , intrinsic
133 #else
134 #define INTRINSIC(intrinsic)
135 #endif
136
137 static const HashTableValue JSHTMLAnchorElementPrototypeTableValues[] =
138 {
139     { "toString", DontDelete | DontEnum | Function, (intptr_t)static_cast<NativeFunction>(jsHTMLAnchorElementPrototypeFunctionToString), (intptr_t)0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) },
140     { 0, 0, 0, 0 THUNK_GENERATOR(0) INTRINSIC(DFG::NoIntrinsic) }
141 };
142
143 #undef THUNK_GENERATOR
144 static const HashTable JSHTMLAnchorElementPrototypeTable = { 2, 1, JSHTMLAnchorElementPrototypeTableValues, 0 };
145 const ClassInfo JSHTMLAnchorElementPrototype::s_info = { "HTMLAnchorElementPrototype", &JSC::JSNonFinalObject::s_info, &JSHTMLAnchorElementPrototypeTable, 0, CREATE_METHOD_TABLE(JSHTMLAnchorElementPrototype) };
146
147 JSObject* JSHTMLAnchorElementPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
148 {
149     return getDOMPrototype<JSHTMLAnchorElement>(exec, globalObject);
150 }
151
152 bool JSHTMLAnchorElementPrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
153 {
154     JSHTMLAnchorElementPrototype* thisObject = jsCast<JSHTMLAnchorElementPrototype*>(cell);
155     return getStaticFunctionSlot<JSObject>(exec, &JSHTMLAnchorElementPrototypeTable, thisObject, propertyName, slot);
156 }
157
158 bool JSHTMLAnchorElementPrototype::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
159 {
160     JSHTMLAnchorElementPrototype* thisObject = jsCast<JSHTMLAnchorElementPrototype*>(object);
161     return getStaticFunctionDescriptor<JSObject>(exec, &JSHTMLAnchorElementPrototypeTable, thisObject, propertyName, descriptor);
162 }
163
164 const ClassInfo JSHTMLAnchorElement::s_info = { "HTMLAnchorElement", &JSHTMLElement::s_info, &JSHTMLAnchorElementTable, 0 , CREATE_METHOD_TABLE(JSHTMLAnchorElement) };
165
166 JSHTMLAnchorElement::JSHTMLAnchorElement(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAnchorElement> impl)
167     : JSHTMLElement(structure, globalObject, impl)
168 {
169 }
170
171 void JSHTMLAnchorElement::finishCreation(JSGlobalData& globalData)
172 {
173     Base::finishCreation(globalData);
174     ASSERT(inherits(&s_info));
175 }
176
177 JSObject* JSHTMLAnchorElement::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
178 {
179     return JSHTMLAnchorElementPrototype::create(exec->globalData(), globalObject, JSHTMLAnchorElementPrototype::createStructure(exec->globalData(), globalObject, JSHTMLElementPrototype::self(exec, globalObject)));
180 }
181
182 bool JSHTMLAnchorElement::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
183 {
184     JSHTMLAnchorElement* thisObject = jsCast<JSHTMLAnchorElement*>(cell);
185     ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
186     return getStaticValueSlot<JSHTMLAnchorElement, Base>(exec, &JSHTMLAnchorElementTable, thisObject, propertyName, slot);
187 }
188
189 bool JSHTMLAnchorElement::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
190 {
191     JSHTMLAnchorElement* thisObject = jsCast<JSHTMLAnchorElement*>(object);
192     ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
193     return getStaticValueDescriptor<JSHTMLAnchorElement, Base>(exec, &JSHTMLAnchorElementTable, thisObject, propertyName, descriptor);
194 }
195
196 JSValue jsHTMLAnchorElementCharset(ExecState* exec, JSValue slotBase, const Identifier&)
197 {
198     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
199     UNUSED_PARAM(exec);
200     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
201     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::charsetAttr));
202     return result;
203 }
204
205
206 JSValue jsHTMLAnchorElementCoords(ExecState* exec, JSValue slotBase, const Identifier&)
207 {
208     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
209     UNUSED_PARAM(exec);
210     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
211     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::coordsAttr));
212     return result;
213 }
214
215
216 #if ENABLE(DOWNLOAD_ATTRIBUTE)
217 JSValue jsHTMLAnchorElementDownload(ExecState* exec, JSValue slotBase, const Identifier&)
218 {
219     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
220     UNUSED_PARAM(exec);
221     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
222     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::downloadAttr));
223     return result;
224 }
225
226 #endif
227
228 JSValue jsHTMLAnchorElementHref(ExecState* exec, JSValue slotBase, const Identifier&)
229 {
230     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
231     UNUSED_PARAM(exec);
232     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
233     JSValue result = jsString(exec, imp->getURLAttribute(WebCore::HTMLNames::hrefAttr));
234     return result;
235 }
236
237
238 JSValue jsHTMLAnchorElementHreflang(ExecState* exec, JSValue slotBase, const Identifier&)
239 {
240     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
241     UNUSED_PARAM(exec);
242     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
243     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::hreflangAttr));
244     return result;
245 }
246
247
248 JSValue jsHTMLAnchorElementName(ExecState* exec, JSValue slotBase, const Identifier&)
249 {
250     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
251     UNUSED_PARAM(exec);
252     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
253     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::nameAttr));
254     return result;
255 }
256
257
258 JSValue jsHTMLAnchorElementPing(ExecState* exec, JSValue slotBase, const Identifier&)
259 {
260     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
261     UNUSED_PARAM(exec);
262     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
263     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::pingAttr));
264     return result;
265 }
266
267
268 JSValue jsHTMLAnchorElementRel(ExecState* exec, JSValue slotBase, const Identifier&)
269 {
270     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
271     UNUSED_PARAM(exec);
272     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
273     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::relAttr));
274     return result;
275 }
276
277
278 JSValue jsHTMLAnchorElementRev(ExecState* exec, JSValue slotBase, const Identifier&)
279 {
280     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
281     UNUSED_PARAM(exec);
282     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
283     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::revAttr));
284     return result;
285 }
286
287
288 JSValue jsHTMLAnchorElementShape(ExecState* exec, JSValue slotBase, const Identifier&)
289 {
290     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
291     UNUSED_PARAM(exec);
292     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
293     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::shapeAttr));
294     return result;
295 }
296
297
298 JSValue jsHTMLAnchorElementTarget(ExecState* exec, JSValue slotBase, const Identifier&)
299 {
300     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
301     UNUSED_PARAM(exec);
302     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
303     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::targetAttr));
304     return result;
305 }
306
307
308 JSValue jsHTMLAnchorElementType(ExecState* exec, JSValue slotBase, const Identifier&)
309 {
310     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
311     UNUSED_PARAM(exec);
312     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
313     JSValue result = jsString(exec, imp->getAttribute(WebCore::HTMLNames::typeAttr));
314     return result;
315 }
316
317
318 JSValue jsHTMLAnchorElementHash(ExecState* exec, JSValue slotBase, const Identifier&)
319 {
320     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
321     UNUSED_PARAM(exec);
322     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
323     JSValue result = jsString(exec, imp->hash());
324     return result;
325 }
326
327
328 JSValue jsHTMLAnchorElementHost(ExecState* exec, JSValue slotBase, const Identifier&)
329 {
330     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
331     UNUSED_PARAM(exec);
332     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
333     JSValue result = jsString(exec, imp->host());
334     return result;
335 }
336
337
338 JSValue jsHTMLAnchorElementHostname(ExecState* exec, JSValue slotBase, const Identifier&)
339 {
340     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
341     UNUSED_PARAM(exec);
342     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
343     JSValue result = jsString(exec, imp->hostname());
344     return result;
345 }
346
347
348 JSValue jsHTMLAnchorElementPathname(ExecState* exec, JSValue slotBase, const Identifier&)
349 {
350     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
351     UNUSED_PARAM(exec);
352     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
353     JSValue result = jsString(exec, imp->pathname());
354     return result;
355 }
356
357
358 JSValue jsHTMLAnchorElementPort(ExecState* exec, JSValue slotBase, const Identifier&)
359 {
360     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
361     UNUSED_PARAM(exec);
362     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
363     JSValue result = jsString(exec, imp->port());
364     return result;
365 }
366
367
368 JSValue jsHTMLAnchorElementProtocol(ExecState* exec, JSValue slotBase, const Identifier&)
369 {
370     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
371     UNUSED_PARAM(exec);
372     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
373     JSValue result = jsString(exec, imp->protocol());
374     return result;
375 }
376
377
378 JSValue jsHTMLAnchorElementSearch(ExecState* exec, JSValue slotBase, const Identifier&)
379 {
380     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
381     UNUSED_PARAM(exec);
382     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
383     JSValue result = jsString(exec, imp->search());
384     return result;
385 }
386
387
388 JSValue jsHTMLAnchorElementOrigin(ExecState* exec, JSValue slotBase, const Identifier&)
389 {
390     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
391     UNUSED_PARAM(exec);
392     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
393     JSValue result = jsString(exec, imp->origin());
394     return result;
395 }
396
397
398 JSValue jsHTMLAnchorElementText(ExecState* exec, JSValue slotBase, const Identifier&)
399 {
400     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
401     UNUSED_PARAM(exec);
402     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
403     JSValue result = jsString(exec, imp->text());
404     return result;
405 }
406
407
408 JSValue jsHTMLAnchorElementConstructor(ExecState* exec, JSValue slotBase, const Identifier&)
409 {
410     JSHTMLAnchorElement* domObject = static_cast<JSHTMLAnchorElement*>(asObject(slotBase));
411     return JSHTMLAnchorElement::getConstructor(exec, domObject->globalObject());
412 }
413
414 void JSHTMLAnchorElement::put(JSCell* cell, ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
415 {
416     JSHTMLAnchorElement* thisObject = jsCast<JSHTMLAnchorElement*>(cell);
417     ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
418     lookupPut<JSHTMLAnchorElement, Base>(exec, propertyName, value, &JSHTMLAnchorElementTable, thisObject, slot);
419 }
420
421 void setJSHTMLAnchorElementCharset(ExecState* exec, JSObject* thisObject, JSValue value)
422 {
423     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
424     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
425     imp->setAttribute(WebCore::HTMLNames::charsetAttr, valueToStringWithNullCheck(exec, value));
426 }
427
428
429 void setJSHTMLAnchorElementCoords(ExecState* exec, JSObject* thisObject, JSValue value)
430 {
431     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
432     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
433     imp->setAttribute(WebCore::HTMLNames::coordsAttr, valueToStringWithNullCheck(exec, value));
434 }
435
436
437 #if ENABLE(DOWNLOAD_ATTRIBUTE)
438 void setJSHTMLAnchorElementDownload(ExecState* exec, JSObject* thisObject, JSValue value)
439 {
440     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
441     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
442     imp->setAttribute(WebCore::HTMLNames::downloadAttr, valueToStringWithNullCheck(exec, value));
443 }
444
445 #endif
446
447 void setJSHTMLAnchorElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
448 {
449     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
450     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
451     imp->setAttribute(WebCore::HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
452 }
453
454
455 void setJSHTMLAnchorElementHreflang(ExecState* exec, JSObject* thisObject, JSValue value)
456 {
457     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
458     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
459     imp->setAttribute(WebCore::HTMLNames::hreflangAttr, valueToStringWithNullCheck(exec, value));
460 }
461
462
463 void setJSHTMLAnchorElementName(ExecState* exec, JSObject* thisObject, JSValue value)
464 {
465     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
466     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
467     imp->setAttribute(WebCore::HTMLNames::nameAttr, valueToStringWithNullCheck(exec, value));
468 }
469
470
471 void setJSHTMLAnchorElementPing(ExecState* exec, JSObject* thisObject, JSValue value)
472 {
473     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
474     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
475     imp->setAttribute(WebCore::HTMLNames::pingAttr, valueToStringWithNullCheck(exec, value));
476 }
477
478
479 void setJSHTMLAnchorElementRel(ExecState* exec, JSObject* thisObject, JSValue value)
480 {
481     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
482     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
483     imp->setAttribute(WebCore::HTMLNames::relAttr, valueToStringWithNullCheck(exec, value));
484 }
485
486
487 void setJSHTMLAnchorElementRev(ExecState* exec, JSObject* thisObject, JSValue value)
488 {
489     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
490     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
491     imp->setAttribute(WebCore::HTMLNames::revAttr, valueToStringWithNullCheck(exec, value));
492 }
493
494
495 void setJSHTMLAnchorElementShape(ExecState* exec, JSObject* thisObject, JSValue value)
496 {
497     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
498     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
499     imp->setAttribute(WebCore::HTMLNames::shapeAttr, valueToStringWithNullCheck(exec, value));
500 }
501
502
503 void setJSHTMLAnchorElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
504 {
505     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
506     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
507     imp->setAttribute(WebCore::HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
508 }
509
510
511 void setJSHTMLAnchorElementType(ExecState* exec, JSObject* thisObject, JSValue value)
512 {
513     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
514     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
515     imp->setAttribute(WebCore::HTMLNames::typeAttr, valueToStringWithNullCheck(exec, value));
516 }
517
518
519 void setJSHTMLAnchorElementHash(ExecState* exec, JSObject* thisObject, JSValue value)
520 {
521     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
522     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
523     imp->setHash(valueToStringWithNullCheck(exec, value));
524 }
525
526
527 void setJSHTMLAnchorElementHost(ExecState* exec, JSObject* thisObject, JSValue value)
528 {
529     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
530     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
531     imp->setHost(valueToStringWithNullCheck(exec, value));
532 }
533
534
535 void setJSHTMLAnchorElementHostname(ExecState* exec, JSObject* thisObject, JSValue value)
536 {
537     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
538     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
539     imp->setHostname(valueToStringWithNullCheck(exec, value));
540 }
541
542
543 void setJSHTMLAnchorElementPathname(ExecState* exec, JSObject* thisObject, JSValue value)
544 {
545     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
546     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
547     imp->setPathname(valueToStringWithNullCheck(exec, value));
548 }
549
550
551 void setJSHTMLAnchorElementPort(ExecState* exec, JSObject* thisObject, JSValue value)
552 {
553     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
554     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
555     imp->setPort(valueToStringWithNullCheck(exec, value));
556 }
557
558
559 void setJSHTMLAnchorElementProtocol(ExecState* exec, JSObject* thisObject, JSValue value)
560 {
561     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
562     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
563     imp->setProtocol(valueToStringWithNullCheck(exec, value));
564 }
565
566
567 void setJSHTMLAnchorElementSearch(ExecState* exec, JSObject* thisObject, JSValue value)
568 {
569     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(thisObject);
570     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
571     imp->setSearch(valueToStringWithNullCheck(exec, value));
572 }
573
574
575 JSValue JSHTMLAnchorElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
576 {
577     return getDOMConstructor<JSHTMLAnchorElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
578 }
579
580 EncodedJSValue JSC_HOST_CALL jsHTMLAnchorElementPrototypeFunctionToString(ExecState* exec)
581 {
582     JSValue thisValue = exec->hostThisValue();
583     if (!thisValue.inherits(&JSHTMLAnchorElement::s_info))
584         return throwVMTypeError(exec);
585     JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(thisValue));
586     ASSERT_GC_OBJECT_INHERITS(castedThis, &JSHTMLAnchorElement::s_info);
587     HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
588
589     JSC::JSValue result = jsString(exec, imp->toString());
590     return JSValue::encode(result);
591 }
592
593
594 }