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

Side by Side Diff: Source/bindings/v8/SharedPersistent.h

Issue 23601032: Pass isolate to ScopedPersistent constructor (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update deprecated generator as well Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 24 matching lines...) Expand all
35 #include <v8.h> 35 #include <v8.h>
36 #include "wtf/PassRefPtr.h" 36 #include "wtf/PassRefPtr.h"
37 #include "wtf/RefCounted.h" 37 #include "wtf/RefCounted.h"
38 38
39 namespace WebCore { 39 namespace WebCore {
40 40
41 template <typename T> 41 template <typename T>
42 class SharedPersistent : public RefCounted<SharedPersistent<T> > { 42 class SharedPersistent : public RefCounted<SharedPersistent<T> > {
43 WTF_MAKE_NONCOPYABLE(SharedPersistent); 43 WTF_MAKE_NONCOPYABLE(SharedPersistent);
44 public: 44 public:
45 static PassRefPtr<SharedPersistent<T> > create(v8::Handle<T> value) 45 static PassRefPtr<SharedPersistent<T> > create(v8::Handle<T> value, v8:: Isolate* isolate)
46 { 46 {
47 return adoptRef(new SharedPersistent<T>(value)); 47 return adoptRef(new SharedPersistent<T>(value, isolate));
48 } 48 }
49 49
50 v8::Local<T> newLocal(v8::Isolate* isolate) const 50 v8::Local<T> newLocal(v8::Isolate* isolate) const
51 { 51 {
52 return m_value.newLocal(isolate); 52 return m_value.newLocal(isolate);
53 } 53 }
54 54
55 bool isEmpty() { return m_value.isEmpty(); } 55 bool isEmpty() { return m_value.isEmpty(); }
56 56
57 bool operator==(const SharedPersistent<T>& other) 57 bool operator==(const SharedPersistent<T>& other)
58 { 58 {
59 return m_value == other.m_value; 59 return m_value == other.m_value;
60 } 60 }
61 61
62 private: 62 private:
63 explicit SharedPersistent(v8::Handle<T> value) : m_value(value) { } 63 explicit SharedPersistent(v8::Handle<T> value, v8::Isolate* isolate) : m _value(isolate, value) { }
64 ScopedPersistent<T> m_value; 64 ScopedPersistent<T> m_value;
65 }; 65 };
66 66
67 } // namespace WebCore 67 } // namespace WebCore
68 68
69 #endif // SharedPersistent_h 69 #endif // SharedPersistent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698