NondeterministicInputBase* ReplayingInputCursor::loadInput(InputQueue queue, const AtomicString& type) { NondeterministicInputBase* input = uncheckedLoadInput(queue); if (input->type() != type) { LOG_ERROR("%-25s ERROR: Expected replay input of type %s, but got type %s\n", "[ReplayingInputCursor]", type.string().ascii().data(), input->type().ascii().data()); return nullptr; } return input; }
static Ref<Inspector::Protocol::Replay::ReplayInput> buildInspectorObjectForInput(const NondeterministicInputBase& input, size_t offset) { EncodedValue encodedInput = EncodingTraits<NondeterministicInputBase>::encodeValue(input); return Inspector::Protocol::Replay::ReplayInput::create() .setType(input.type()) .setOffset(offset) .setData(encodedInput.asObject()) .release(); }
NondeterministicInputBase* SegmentedInputStorage::load(InputQueue inputQueue, size_t offset) { ASSERT(offset < queueSize(inputQueue)); NondeterministicInputBase* input = queue(inputQueue).at(offset).get(); ASSERT(input); LOG(WebReplay, "%-20s %s: %s %s\n", "ReplayEvents", queueTypeToLogPrefix(inputQueue, true), input->type().string().utf8().data(), jsonStringForInput(*input).utf8().data()); return input; }