Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(357)

Unified Diff: third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h

Issue 2843603002: Move ScriptWrappable and dependencies to platform/bindings (Closed)
Patch Set: Rebase and try again Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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"

Powered by Google App Engine
This is Rietveld 408576698