chromium/chrome/browser/task_manager/providers/web_contents/web_contents_tag.h

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_WEB_CONTENTS_TAG_H_
#define CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_WEB_CONTENTS_TAG_H_

#include <memory>

#include "base/memory/raw_ptr.h"
#include "base/supports_user_data.h"

namespace content {
class WebContents;
}  // namespace content

namespace task_manager {

class RendererTask;
class WebContentsTaskProvider;

// Defines a TaskManager-specific UserData type for WebContents. This is an
// abstract base class for all concrete UserData types. They all share the same
// key. We have a concrete type for each WebContents owning service that the
// task manager is interested in tracking.
//
// To instantiate a |WebContentsTag|, use the factory functions in
// |task_manager::WebContentsTags|.
class WebContentsTag : public base::SupportsUserData::Data {};

}  // namespace task_manager

#endif  // CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_WEB_CONTENTS_TAG_H_