#include "src/trace_redaction/collect_frame_cookies.h"
#include "perfetto/base/status.h"
#include "perfetto/protozero/field.h"
#include "perfetto/protozero/proto_decoder.h"
#include "perfetto/protozero/scattered_heap_buffer.h"
#include "src/trace_redaction/proto_util.h"
#include "src/trace_redaction/trace_redaction_framework.h"
#include "protos/perfetto/trace/android/frame_timeline_event.pbzero.h"
#include "protos/perfetto/trace/trace_packet.pbzero.h"
namespace perfetto::trace_redaction {
namespace {
FrameTimelineEvent;
struct Frame { … };
constexpr Frame kActualDisplayFrameStart = …;
constexpr Frame kExpectedDisplayFrameStart = …;
constexpr Frame kActualSurfaceFrameStart = …;
constexpr Frame kExpectedSurfaceFrameStart = …;
constexpr Frame kFrameEnd = …;
}
base::Status CollectFrameCookies::Begin(Context* context) const { … }
base::Status CollectFrameCookies::Collect(
const protos::pbzero::TracePacket::Decoder& packet,
Context* context) const { … }
base::Status ReduceFrameCookies::Build(Context* context) const { … }
base::Status FilterFrameEvents::Transform(const Context& context,
std::string* packet) const { … }
bool FilterFrameEvents::KeepField(const Context& context,
const protozero::Field& field) const { … }
}