| 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"
|
|
|