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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/V8PerContextData.cpp

Issue 2837923003: Make NodeFilter a legacy callback interface. (Closed)
Patch Set: . Created 3 years, 7 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
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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 if (type->parent_class) { 120 if (type->parent_class) {
121 v8::Local<v8::Object> prototype_template = 121 v8::Local<v8::Object> prototype_template =
122 ConstructorForType(type->parent_class); 122 ConstructorForType(type->parent_class);
123 if (prototype_template.IsEmpty()) 123 if (prototype_template.IsEmpty())
124 return v8::Local<v8::Function>(); 124 return v8::Local<v8::Function>();
125 if (!V8CallBoolean(interface_object->SetPrototype(current_context, 125 if (!V8CallBoolean(interface_object->SetPrototype(current_context,
126 prototype_template))) 126 prototype_template)))
127 return v8::Local<v8::Function>(); 127 return v8::Local<v8::Function>();
128 } 128 }
129 129
130 if (type->wrapper_type_prototype ==
131 WrapperTypeInfo::kWrapperTypeNoPrototype) {
132 constructor_map_.Set(type, interface_object);
133 return interface_object;
Yuki 2017/04/27 12:18:28 nit: Ideally, we shouldn't skip InstallConditional
tkent 2017/04/28 06:13:36 Done.
134 }
135
130 v8::Local<v8::Value> prototype_value; 136 v8::Local<v8::Value> prototype_value;
131 if (!interface_object 137 if (!interface_object
132 ->Get(current_context, V8AtomicString(isolate_, "prototype")) 138 ->Get(current_context, V8AtomicString(isolate_, "prototype"))
133 .ToLocal(&prototype_value) || 139 .ToLocal(&prototype_value) ||
134 !prototype_value->IsObject()) 140 !prototype_value->IsObject())
135 return v8::Local<v8::Function>(); 141 return v8::Local<v8::Function>();
136 v8::Local<v8::Object> prototype_object = prototype_value.As<v8::Object>(); 142 v8::Local<v8::Object> prototype_object = prototype_value.As<v8::Object>();
137 if (prototype_object->InternalFieldCount() == 143 if (prototype_object->InternalFieldCount() ==
138 kV8PrototypeInternalFieldcount && 144 kV8PrototypeInternalFieldcount &&
139 type->wrapper_type_prototype == 145 type->wrapper_type_prototype ==
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 203
198 void V8PerContextData::ClearData(const char* key) { 204 void V8PerContextData::ClearData(const char* key) {
199 data_map_.erase(key); 205 data_map_.erase(key);
200 } 206 }
201 207
202 V8PerContextData::Data* V8PerContextData::GetData(const char* key) { 208 V8PerContextData::Data* V8PerContextData::GetData(const char* key) {
203 return data_map_.at(key); 209 return data_map_.at(key);
204 } 210 }
205 211
206 } // namespace blink 212 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698