Index: third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h |
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h |
index 655c8c3f50de86430ce418f40cc42e26bd0d01a6..304623622b2a7ed66ef11c9ed6718bf42fef79b3 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h |
+++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h |
@@ -28,144 +28,6 @@ |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
-#ifndef DOMWrapperMap_h |
-#define DOMWrapperMap_h |
- |
-#include <utility> |
- |
-#include "bindings/core/v8/WrapperTypeInfo.h" |
-#include "platform/ScriptForbiddenScope.h" |
-#include "platform/wtf/Compiler.h" |
-#include "platform/wtf/HashMap.h" |
-#include "v8/include/v8-util.h" |
-#include "v8/include/v8.h" |
- |
-namespace blink { |
- |
-template <class KeyType> |
-class DOMWrapperMap { |
- USING_FAST_MALLOC(DOMWrapperMap); |
- |
- public: |
- explicit DOMWrapperMap(v8::Isolate* isolate) |
- : isolate_(isolate), map_(isolate) {} |
- |
- v8::Local<v8::Object> NewLocal(v8::Isolate* isolate, KeyType* key) { |
- return map_.Get(key); |
- } |
- |
- bool SetReturnValueFrom(v8::ReturnValue<v8::Value> return_value, |
- KeyType* key) { |
- return map_.SetReturnValue(key, return_value); |
- } |
- |
- void SetReference(v8::Isolate* isolate, |
- const v8::Persistent<v8::Object>& parent, |
- KeyType* key) { |
- map_.SetReference(key, parent); |
- } |
- |
- bool ContainsKey(KeyType* key) { return map_.Contains(key); } |
- |
- WARN_UNUSED_RESULT bool Set(KeyType* key, |
- const WrapperTypeInfo* wrapper_type_info, |
- v8::Local<v8::Object>& wrapper) { |
- if (UNLIKELY(ContainsKey(key))) { |
- wrapper = NewLocal(isolate_, key); |
- return false; |
- } |
- v8::Global<v8::Object> global(isolate_, wrapper); |
- wrapper_type_info->ConfigureWrapper(&global); |
- map_.Set(key, std::move(global)); |
- return true; |
- } |
- |
- void RemoveIfAny(KeyType* key) { |
- if (ContainsKey(key)) |
- map_.Remove(key); |
- } |
- |
- void Clear() { map_.Clear(); } |
- |
- void RemoveAndDispose(KeyType* key) { |
- DCHECK(ContainsKey(key)); |
- map_.Remove(key); |
- } |
- |
- void MarkWrapper(KeyType* object) { |
- map_.RegisterExternallyReferencedObject(object); |
- } |
- |
- private: |
- class PersistentValueMapTraits { |
- STATIC_ONLY(PersistentValueMapTraits); |
- |
- public: |
- // Map traits: |
- typedef HashMap<KeyType*, v8::PersistentContainerValue> Impl; |
- typedef typename Impl::iterator Iterator; |
- static size_t Size(const Impl* impl) { return impl->size(); } |
- static bool Empty(Impl* impl) { return impl->IsEmpty(); } |
- static void Swap(Impl& impl, Impl& other) { impl.swap(other); } |
- static Iterator Begin(Impl* impl) { return impl->begin(); } |
- static Iterator End(Impl* impl) { return impl->end(); } |
- static v8::PersistentContainerValue Value(Iterator& iter) { |
- return iter->value; |
- } |
- static KeyType* Key(Iterator& iter) { return iter->key; } |
- static v8::PersistentContainerValue |
- Set(Impl* impl, KeyType* key, v8::PersistentContainerValue value) { |
- v8::PersistentContainerValue old_value = Get(impl, key); |
- impl->Set(key, value); |
- return old_value; |
- } |
- static v8::PersistentContainerValue Get(const Impl* impl, KeyType* key) { |
- return impl->at(key); |
- } |
- |
- static v8::PersistentContainerValue Remove(Impl* impl, KeyType* key) { |
- return impl->Take(key); |
- } |
- |
- // Weak traits: |
- static const v8::PersistentContainerCallbackType kCallbackType = |
- v8::kWeakWithInternalFields; |
- typedef v8::GlobalValueMap<KeyType*, v8::Object, PersistentValueMapTraits> |
- MapType; |
- typedef MapType WeakCallbackDataType; |
- |
- static WeakCallbackDataType* WeakCallbackParameter( |
- MapType* map, |
- KeyType* key, |
- v8::Local<v8::Object>& value) { |
- return map; |
- } |
- |
- static void DisposeCallbackData(WeakCallbackDataType* callback_data) {} |
- |
- static MapType* MapFromWeakCallbackInfo( |
- const v8::WeakCallbackInfo<WeakCallbackDataType>& data) { |
- return data.GetParameter(); |
- } |
- |
- static KeyType* KeyFromWeakCallbackInfo( |
- const v8::WeakCallbackInfo<WeakCallbackDataType>& data) { |
- return reinterpret_cast<KeyType*>( |
- data.GetInternalField(kV8DOMWrapperObjectIndex)); |
- } |
- |
- static void OnWeakCallback( |
- const v8::WeakCallbackInfo<WeakCallbackDataType>&) {} |
- |
- static void Dispose(v8::Isolate*, v8::Global<v8::Object>, KeyType*); |
- |
- static void DisposeWeak(const v8::WeakCallbackInfo<WeakCallbackDataType>&); |
- }; |
- |
- v8::Isolate* isolate_; |
- typename PersistentValueMapTraits::MapType map_; |
-}; |
- |
-} // namespace blink |
- |
-#endif // DOMWrapperMap_h |
+// This file has been moved to platform/bindings/DOMWrapperMap.h. |
+// TODO(adithyas): Remove this file. |
+#include "platform/bindings/DOMWrapperMap.h" |