test_v8_extension_configuration.cc 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright 2016 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. #include "extensions/renderer/test_v8_extension_configuration.h"
  5. #include <memory>
  6. #include <utility>
  7. #include "base/lazy_instance.h"
  8. #include "extensions/renderer/safe_builtins.h"
  9. #include "v8/include/v8-context.h"
  10. #include "v8/include/v8-extension.h"
  11. namespace extensions {
  12. namespace {
  13. base::LazyInstance<TestV8ExtensionConfiguration>::Leaky
  14. g_v8_extension_configuration = LAZY_INSTANCE_INITIALIZER;
  15. } // namespace
  16. TestV8ExtensionConfiguration::TestV8ExtensionConfiguration()
  17. : v8_extension_configuration_(
  18. new v8::ExtensionConfiguration(1, &v8_extension_name_)) {
  19. auto safe_builtins = SafeBuiltins::CreateV8Extension();
  20. v8_extension_name_ = safe_builtins->name();
  21. v8::RegisterExtension(std::move(safe_builtins));
  22. }
  23. TestV8ExtensionConfiguration::~TestV8ExtensionConfiguration() {}
  24. // static
  25. v8::ExtensionConfiguration* TestV8ExtensionConfiguration::GetConfiguration() {
  26. return g_v8_extension_configuration.Get().v8_extension_configuration_.get();
  27. }
  28. } // namespace extensions