| | 1876 | |
| | 1877 | == [ImplementationNameSpace] == #ImplementationNamespace |
| | 1878 | |
| | 1879 | Summary: Specifies the namespace for the corresponding native type. |
| | 1880 | |
| | 1881 | By default, the namespace is WebCore. This is presently used to mark WTF types. |
| | 1882 | |
| | 1883 | Usage: [ImplementationNamespace] can be specified on interfaces: |
| | 1884 | {{{ |
| | 1885 | interface [ |
| | 1886 | ImplementationNamespace=WTF |
| | 1887 | ] ArrayBuffer { |
| | 1888 | }; |
| | 1889 | }}} |
| | 1890 | |
| | 1891 | == [V8SkipVTableValidation], [ImplementationLacksVTable] == #V8SkiptVTableValidation |
| | 1892 | |
| | 1893 | Summary: Specifies that a type can not be checked as part of the V8 Bindings Integrity option. |
| | 1894 | |
| | 1895 | V8 Bindings Integrity tries to ensure that free/corrupted objects are not wrapped by V8, thereby reducing their exploitability. In order for that to be the case, the implementation must have a distinct VTable pointer in its first word. |
| | 1896 | |
| | 1897 | Usage: [V8SkipVTableValidation] and [ImplementationLacksVTable] can be specified on interfaces. |
| | 1898 | |
| | 1899 | {{{ |
| | 1900 | interface [ |
| | 1901 | V8SkipVTableValidation |
| | 1902 | ] XXX { |
| | 1903 | }; |
| | 1904 | }}} |
| | 1905 | |
| | 1906 | {{{ |
| | 1907 | interface [ |
| | 1908 | ImplementationLacksVTable |
| | 1909 | ] XXX { |
| | 1910 | }; |
| | 1911 | }}} |