12012-05-14 Erik Arvidsson <arv@chromium.org>
2
3 Make DOM Exceptions Errors
4 https://bugs.webkit.org/show_bug.cgi?id=85078
5
6 Reviewed by NOBODY (OOPS!).
7
8 WebIDL mandates that exceptions should have Error.prototype on its prototype chain.
9
10 For JSC we have access to the Error.prototype from the binding code.
11
12 For V8 we set a field in the WrapperTypeInfo and when the constructor function is created we
13 set the prototype as needed.
14
15 Updated test: fast/dom/DOMException/prototype-object.html
16
17 * ForwardingHeaders/runtime/ErrorPrototype.h: Added.
18 * bindings/scripts/CodeGeneratorJS.pm:
19 (GenerateHeader):
20 (GenerateImplementation):
21 * bindings/scripts/CodeGeneratorV8.pm:
22 (GenerateNamedConstructorCallback):
23 (GenerateImplementation):
24 * bindings/scripts/IDLAttributes.txt:
25 * bindings/scripts/test/JS/JSFloat64Array.h:
26 * bindings/scripts/test/JS/JSTestException.cpp:
27 (WebCore::JSTestException::createPrototype):
28 * bindings/scripts/test/JS/JSTestException.h:
29 * bindings/scripts/test/JS/JSTestNode.h:
30 * bindings/scripts/test/V8/V8Float64Array.cpp:
31 (WebCore):
32 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
33 (WebCore):
34 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
35 (WebCore):
36 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
37 (WebCore):
38 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
39 (WebCore):
40 * bindings/scripts/test/V8/V8TestException.cpp:
41 (WebCore):
42 * bindings/scripts/test/V8/V8TestInterface.cpp:
43 (WebCore):
44 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
45 (WebCore):
46 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
47 (WebCore):
48 * bindings/scripts/test/V8/V8TestNode.cpp:
49 (WebCore):
50 * bindings/scripts/test/V8/V8TestObj.cpp:
51 (WebCore):
52 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
53 (WebCore):
54 * bindings/v8/NPV8Object.cpp:
55 (WebCore::npObjectTypeInfo):
56 * bindings/v8/V8BindingPerContextData.cpp:
57 (WebCore):
58 (WebCore::V8BindingPerContextData::init):
59 (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
60 (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
61 * bindings/v8/V8BindingPerContextData.h:
62 (V8BindingPerContextData):
63 * bindings/v8/V8HiddenPropertyName.h:
64 (WebCore):
65 * bindings/v8/WrapperTypeInfo.h:
66 (WebCore):
67 (WrapperTypeInfo):
68 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
69 (WebCore):
70