| // Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights |
| // reserved. Use of this source code is governed by a BSD-style license that |
| // can be found in the LICENSE file. |
| |
| #include "tests/shared/common/binary_value_utils.h" |
| |
| namespace bv_utils { |
| |
| const char kTestSendProcessMessage[] = "testSendProcessMessage"; |
| const char kTestSendSMRProcessMessage[] = "testSendSMRProcessMessage"; |
| |
| TimePoint Now() { |
| return std::chrono::high_resolution_clock::now(); |
| } |
| |
| CefRefPtr<CefBinaryValue> CreateCefBinaryValue( |
| const std::vector<uint8_t>& data) { |
| return CefBinaryValue::Create(data.data(), data.size()); |
| } |
| |
| void CopyDataIntoMemory(const std::vector<uint8_t>& data, void* dst) { |
| memcpy(dst, data.data(), data.size()); |
| } |
| |
| RendererMessage GetRendererMsgFromBinary( |
| const CefRefPtr<CefBinaryValue>& value) { |
| DCHECK_GE(value->GetSize(), sizeof(RendererMessage)); |
| std::vector<uint8_t> data(value->GetSize()); |
| value->GetData(data.data(), data.size(), 0); |
| return *reinterpret_cast<const RendererMessage*>(data.data()); |
| } |
| |
| BrowserMessage GetBrowserMsgFromBinary(const CefRefPtr<CefBinaryValue>& value) { |
| DCHECK_GE(value->GetSize(), sizeof(BrowserMessage)); |
| std::vector<uint8_t> data(value->GetSize()); |
| value->GetData(data.data(), data.size(), 0); |
| return *reinterpret_cast<const BrowserMessage*>(data.data()); |
| } |
| |
| std::string ToMicroSecString(const Duration& duration) { |
| const auto ms = |
| std::chrono::duration_cast<std::chrono::duration<double, std::micro>>( |
| duration); |
| |
| return std::to_string(ms.count()); |
| } |
| |
| } // namespace bv_utils |