blob: ebd6e1254185225c96434baa55b8e091141bf547 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_BROWSER_WATCHER_ACTIVITY_TRACKER_ANNOTATION_H_
#define COMPONENTS_BROWSER_WATCHER_ACTIVITY_TRACKER_ANNOTATION_H_
#include <stdint.h>
#include "third_party/crashpad/crashpad/client/annotation.h"
namespace browser_watcher {
// A Crashpad annotation to store the location and size of the buffer used
// for activity tracking. This is used to retrieve and record tracked activities
// from the handler at crash time.
class ActivityTrackerAnnotation : public crashpad::Annotation {
public:
struct ValueType {
uint64_t address;
uint64_t size;
};
static constexpr Type kAnnotationType = Annotation::UserDefinedType(0xBAB);
static const char kAnnotationName[];
explicit ActivityTrackerAnnotation(const void* address, size_t size);
private:
ValueType value_;
};
} // namespace browser_watcher
#endif // COMPONENTS_BROWSER_WATCHER_ACTIVITY_TRACKER_ANNOTATION_H_