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

Side by Side Diff: Source/bindings/core/v8/DOMWrapperMap.h

Issue 368853002: Add ScriptForbiddenScope to weak callbacks of DOM wrappers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 14 matching lines...) Expand all
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef DOMWrapperMap_h 31 #ifndef DOMWrapperMap_h
32 #define DOMWrapperMap_h 32 #define DOMWrapperMap_h
33 33
34 #include "bindings/core/v8/WrapperTypeInfo.h" 34 #include "bindings/core/v8/WrapperTypeInfo.h"
35 #include "core/dom/ScriptForbiddenScope.h"
35 #include "wtf/HashMap.h" 36 #include "wtf/HashMap.h"
36 #include <v8-util.h> 37 #include <v8-util.h>
37 #include <v8.h> 38 #include <v8.h>
38 39
39 namespace WebCore { 40 namespace WebCore {
40 41
41 template<class KeyType> 42 template<class KeyType>
42 class DOMWrapperMap { 43 class DOMWrapperMap {
43 public: 44 public:
44 explicit DOMWrapperMap(v8::Isolate* isolate) 45 explicit DOMWrapperMap(v8::Isolate* isolate)
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 v8::Isolate* m_isolate; 154 v8::Isolate* m_isolate;
154 typename PersistentValueMapTraits::MapType m_map; 155 typename PersistentValueMapTraits::MapType m_map;
155 }; 156 };
156 157
157 template <> 158 template <>
158 inline void DOMWrapperMap<void>::PersistentValueMapTraits::Dispose( 159 inline void DOMWrapperMap<void>::PersistentValueMapTraits::Dispose(
159 v8::Isolate* isolate, 160 v8::Isolate* isolate,
160 v8::UniquePersistent<v8::Object> value, 161 v8::UniquePersistent<v8::Object> value,
161 void* key) 162 void* key)
162 { 163 {
164 ScriptForbiddenScope forbiddenScope;
163 RELEASE_ASSERT(!value.IsEmpty()); // See crbug.com/368095. 165 RELEASE_ASSERT(!value.IsEmpty()); // See crbug.com/368095.
164 releaseObject(v8::Local<v8::Object>::New(isolate, value)); 166 releaseObject(v8::Local<v8::Object>::New(isolate, value));
165 } 167 }
166 168
167 } // namespace WebCore 169 } // namespace WebCore
168 170
169 #endif // DOMWrapperMap_h 171 #endif // DOMWrapperMap_h
OLDNEW
« no previous file with comments | « no previous file | Source/bindings/core/v8/ScriptWrappable.h » ('j') | Source/core/dom/ScriptForbiddenScope.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698