v8_value_serializer.h 997 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright (c) 2020 Slack Technologies, Inc.
  2. // Use of this source code is governed by the MIT license that can be
  3. // found in the LICENSE file.
  4. #ifndef ELECTRON_SHELL_COMMON_V8_VALUE_SERIALIZER_H_
  5. #define ELECTRON_SHELL_COMMON_V8_VALUE_SERIALIZER_H_
  6. #include "base/containers/span.h"
  7. #include "ui/gfx/image/image_skia_rep.h"
  8. namespace v8 {
  9. class Isolate;
  10. template <class T>
  11. class Local;
  12. class Value;
  13. } // namespace v8
  14. namespace blink {
  15. struct CloneableMessage;
  16. }
  17. namespace electron {
  18. bool SerializeV8Value(v8::Isolate* isolate,
  19. v8::Local<v8::Value> value,
  20. blink::CloneableMessage* out);
  21. v8::Local<v8::Value> DeserializeV8Value(v8::Isolate* isolate,
  22. const blink::CloneableMessage& in);
  23. v8::Local<v8::Value> DeserializeV8Value(v8::Isolate* isolate,
  24. base::span<const uint8_t> data);
  25. } // namespace electron
  26. #endif // ELECTRON_SHELL_COMMON_V8_VALUE_SERIALIZER_H_