[email protected] | 314cde1 | 2013-11-23 20:26:51 | [diff] [blame^] | 1 | // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "gin/function_template.h" |
| 6 | |
| 7 | #include "gin/per_isolate_data.h" |
| 8 | |
| 9 | namespace gin { |
| 10 | |
| 11 | WrapperInfo CallbackHolderBase::kWrapperInfo = { kEmbedderNativeGin }; |
| 12 | |
| 13 | // static |
| 14 | void CallbackHolderBase::EnsureRegistered(PerIsolateData* isolate_data) { |
| 15 | if (!isolate_data->GetObjectTemplate(&kWrapperInfo).IsEmpty()) |
| 16 | return; |
| 17 | v8::Handle<v8::ObjectTemplate> templ(v8::ObjectTemplate::New()); |
| 18 | templ->SetInternalFieldCount(kNumberOfInternalFields); |
| 19 | isolate_data->SetObjectTemplate(&kWrapperInfo, templ); |
| 20 | } |
| 21 | |
| 22 | WrapperInfo* CallbackHolderBase::GetWrapperInfo() { |
| 23 | return &kWrapperInfo; |
| 24 | } |
| 25 | |
| 26 | } // namespace gin |