OLD | NEW |
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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 return m_handle == other.m_handle; | 95 return m_handle == other.m_handle; |
96 } | 96 } |
97 | 97 |
98 template <class S> | 98 template <class S> |
99 bool operator==(const v8::Local<S> other) const { | 99 bool operator==(const v8::Local<S> other) const { |
100 return m_handle == other; | 100 return m_handle == other; |
101 } | 101 } |
102 | 102 |
103 ALWAYS_INLINE v8::Persistent<T>& get() { return m_handle; } | 103 ALWAYS_INLINE v8::Persistent<T>& get() { return m_handle; } |
104 | 104 |
| 105 template <typename S> |
| 106 const ScopedPersistent<S>& cast() const { |
| 107 return reinterpret_cast<const ScopedPersistent<v8::Object>&>( |
| 108 const_cast<const ScopedPersistent<T>&>(*this)); |
| 109 } |
| 110 |
105 private: | 111 private: |
106 v8::Persistent<T> m_handle; | 112 v8::Persistent<T> m_handle; |
107 }; | 113 }; |
108 | 114 |
109 } // namespace blink | 115 } // namespace blink |
110 | 116 |
111 #endif // ScopedPersistent_h | 117 #endif // ScopedPersistent_h |
OLD | NEW |