diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-07-08 10:38:38 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-07-08 10:38:38 -0600 |
commit | fe17067d6a30b85a0346fd1ccb2b95e2081e6962 (patch) | |
tree | e37d94ca816b35e5015515b7efb86968a9270bba /components/script/dom/bindings/codegen/DOMJSClass.h | |
parent | 805232a85e401f1a07635da894c8e7d05fed4ce9 (diff) | |
parent | 1ce089abf47e9aa62e862c9e1d875727c4297c07 (diff) | |
download | servo-fe17067d6a30b85a0346fd1ccb2b95e2081e6962.tar.gz servo-fe17067d6a30b85a0346fd1ccb2b95e2081e6962.zip |
Auto merge of #6581 - frewsxcv:rm-unused-codegen-files, r=Ms2ger
Remove unused files in 'script/dom/bindings/'
As per this conversation:
https://github.com/servo/servo/pull/6580
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6581)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/codegen/DOMJSClass.h')
-rw-r--r-- | components/script/dom/bindings/codegen/DOMJSClass.h | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/components/script/dom/bindings/codegen/DOMJSClass.h b/components/script/dom/bindings/codegen/DOMJSClass.h deleted file mode 100644 index 151960b5901..00000000000 --- a/components/script/dom/bindings/codegen/DOMJSClass.h +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-*/ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_DOMJSClass_h -#define mozilla_dom_DOMJSClass_h - -#include "jsapi.h" -#include "jsfriendapi.h" - -#include "mozilla/dom/PrototypeList.h" // auto-generated - -// We use slot 0 for holding the raw object. This is safe for both -// globals and non-globals. -#define DOM_OBJECT_SLOT 0 - -// All DOM globals must have a slot at DOM_PROTOTYPE_SLOT. We have to -// start at 1 past JSCLASS_GLOBAL_SLOT_COUNT because XPConnect uses -// that one. -#define DOM_PROTOTYPE_SLOT (JSCLASS_GLOBAL_SLOT_COUNT + 1) - -// We use these flag bits for the new bindings. -#define JSCLASS_DOM_GLOBAL JSCLASS_USERBIT1 - -// NOTE: This is baked into the Ion JIT as 0 in codegen for LGetDOMProperty and -// LSetDOMProperty. Those constants need to be changed accordingly if this value -// changes. -#define DOM_PROTO_INSTANCE_CLASS_SLOT 0 - -namespace mozilla { -namespace dom { - -typedef bool -(* ResolveProperty)(JSContext* cx, JSObject* wrapper, jsid id, bool set, - JSPropertyDescriptor* desc); -typedef bool -(* EnumerateProperties)(JSContext* cx, JSObject* wrapper, - JS::AutoIdVector& props); - -struct NativePropertyHooks -{ - ResolveProperty mResolveOwnProperty; - ResolveProperty mResolveProperty; - EnumerateProperties mEnumerateOwnProperties; - EnumerateProperties mEnumerateProperties; - - const NativePropertyHooks *mProtoHooks; -}; - -struct DOMClass -{ - // A list of interfaces that this object implements, in order of decreasing - // derivedness. - const prototypes::ID mInterfaceChain[prototypes::id::_ID_Count]; - - // We store the DOM object in reserved slot with index DOM_OBJECT_SLOT or in - // the proxy private if we use a proxy object. - // Sometimes it's an nsISupports and sometimes it's not; this class tells - // us which it is. - const bool mDOMObjectIsISupports; - - const NativePropertyHooks* mNativeHooks; -}; - -// Special JSClass for reflected DOM objects. -struct DOMJSClass -{ - // It would be nice to just inherit from JSClass, but that precludes pure - // compile-time initialization of the form |DOMJSClass = {...};|, since C++ - // only allows brace initialization for aggregate/POD types. - JSClass mBase; - - DOMClass mClass; - - static DOMJSClass* FromJSClass(JSClass* base) { - MOZ_ASSERT(base->flags & JSCLASS_IS_DOMJSCLASS); - return reinterpret_cast<DOMJSClass*>(base); - } - static const DOMJSClass* FromJSClass(const JSClass* base) { - MOZ_ASSERT(base->flags & JSCLASS_IS_DOMJSCLASS); - return reinterpret_cast<const DOMJSClass*>(base); - } - - static DOMJSClass* FromJSClass(js::Class* base) { - return FromJSClass(Jsvalify(base)); - } - static const DOMJSClass* FromJSClass(const js::Class* base) { - return FromJSClass(Jsvalify(base)); - } - - JSClass* ToJSClass() { return &mBase; } -}; - -inline bool -HasProtoOrIfaceArray(JSObject* global) -{ - MOZ_ASSERT(js::GetObjectClass(global)->flags & JSCLASS_DOM_GLOBAL); - // This can be undefined if we GC while creating the global - return !js::GetReservedSlot(global, DOM_PROTOTYPE_SLOT).isUndefined(); -} - -inline JSObject** -GetProtoOrIfaceArray(JSObject* global) -{ - MOZ_ASSERT(js::GetObjectClass(global)->flags & JSCLASS_DOM_GLOBAL); - return static_cast<JSObject**>( - js::GetReservedSlot(global, DOM_PROTOTYPE_SLOT).toPrivate()); -} - -} // namespace dom -} // namespace mozilla - -#endif /* mozilla_dom_DOMJSClass_h */ |