process_info_native_handler.cc 1007 B

12345678910111213141516171819202122232425262728
  1. // Copyright 2014 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/process_info_native_handler.h"
  5. #include "base/bind.h"
  6. #include "extensions/renderer/script_context.h"
  7. #include "gin/converter.h"
  8. namespace extensions {
  9. ProcessInfoNativeHandler::ProcessInfoNativeHandler(ScriptContext* context)
  10. : ObjectBackedNativeHandler(context),
  11. extension_id_(context->GetExtensionID()) {}
  12. ProcessInfoNativeHandler::~ProcessInfoNativeHandler() = default;
  13. void ProcessInfoNativeHandler::AddRoutes() {
  14. auto get_extension_id = [](const std::string& extension_id,
  15. const v8::FunctionCallbackInfo<v8::Value>& args) {
  16. args.GetReturnValue().Set(gin::StringToV8(args.GetIsolate(), extension_id));
  17. };
  18. RouteHandlerFunction("GetExtensionId",
  19. base::BindRepeating(get_extension_id, extension_id_));
  20. }
  21. } // namespace extensions