blob: a484e09fc7f9750ab86f1dc89ae034d083d81ca6 [file] [log] [blame]
// Copyright 2018 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 EXTENSIONS_BROWSER_ACTIVITY_H_
#define EXTENSIONS_BROWSER_ACTIVITY_H_
namespace extensions {
struct Activity {
enum Type {
// The activity is an Extensions API function call. The extra data is the
// function name.
API_FUNCTION,
// The activity is for the Developer Tools client. The extra data is an
// empty string.
DEV_TOOLS,
// The activity is an event. The extra data is the event name.
EVENT,
// The activity is meant to keep the background page alive during an
// IPC call or during page creation. Use the constants kIPC or
// kCreatePage.
LIFECYCLE_MANAGEMENT,
// The activity is related to the media manager. Use the constant
// kPictureInPicture.
MEDIA,
// The activity is a message. The extra data is the port ID.
MESSAGE_PORT,
// The activity is meant to keep the background page alive while
// a modal dialog box is visible. The extra data is the URL of the
// calling page.
MODAL_DIALOG,
// The activity is a Mojo API function call. The extra data is an empty
// string.
MOJO,
// The activity is a network request. The extra data is the request ID.
NETWORK,
// The activity is a Pepper API function call. The extra data is an empty
// string.
PEPPER_API,
// The activity is internal ProcessManager bookkeeping. The extra data
// is one of kCancelSuspend or kRenderFrame.
PROCESS_MANAGER,
};
static const char* ToString(Type type);
static const char kCancelSuspend[];
static const char kCreatePage[];
static const char kIPC[];
static const char kPictureInPicture[];
static const char kRenderFrame[];
};
} // namespace extensions
#endif // EXTENSIONS_BROWSER_ACTIVITY_H_