blob: b4a7d957dc39f76fc2071362d3aa72423cada187 [file] [log] [blame]
// Copyright 2017 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.
module content.mojom;
// Push message event success/error codes for internal use & reporting in UMA.
// Enum values can be added, but must never be renumbered or deleted and reused.
enum PushDeliveryStatus {
// The message was successfully delivered.
SUCCESS = 0,
// The message could not be delivered because the app id was unknown.
UNKNOWN_APP_ID = 2,
// The message could not be delivered because origin no longer has permission.
PERMISSION_DENIED = 3,
// The message could not be delivered because no service worker was found.
NO_SERVICE_WORKER = 4,
// The message could not be delivered because of a service worker error.
SERVICE_WORKER_ERROR = 5,
// The message was delivered, but the Service Worker passed a Promise to
// event.waitUntil that got rejected.
EVENT_WAITUNTIL_REJECTED = 6,
// The message was delivered, but the Service Worker timed out processing it.
TIMEOUT = 7,
// NOTE: Do not renumber or delete these as that would confuse interpretation
// of previously logged data. When making changes, also update the enum list
// in tools/metrics/histograms/histograms.xml to keep it in sync.
};
// Push getregistration success/error codes for internal use & reporting in UMA.
// Enum values can be added, but must never be renumbered or deleted and reused.
enum PushGetRegistrationStatus {
// Getting the registration was successful.
SUCCESS = 0,
// Getting the registration failed because the push service is not available.
SERVICE_NOT_AVAILABLE = 1,
// Getting the registration failed because we failed to read from storage.
STORAGE_ERROR = 2,
// Getting the registration failed because there is no push registration.
REGISTRATION_NOT_FOUND = 3,
// Getting the registration failed because the push service isn't available in
// incognito, but we tell JS registration not found to not reveal incognito.
INCOGNITO_REGISTRATION_NOT_FOUND = 4,
// Getting the registration failed because public key could not be retrieved.
// PUBLIC_KEY_UNAVAILABLE = 5,
// Getting the registration failed because storage was corrupt.
STORAGE_CORRUPT = 6,
// Getting the registration failed because the renderer was shut down.
RENDERER_SHUTDOWN = 7,
// Getting the registration failed because there was no live service worker.
NO_LIVE_SERVICE_WORKER = 8,
// NOTE: Do not renumber or delete these as that would confuse interpretation
// of previously logged data. When making changes, also update the enum list
// in tools/metrics/histograms/histograms.xml to keep it in sync.
};
// Push registration success/error codes for internal use & reporting in UMA.
// Enum values can be added, but must never be renumbered or deleted and reused.
enum PushRegistrationStatus {
// New successful registration (there was not yet a registration cached in
// Service Worker storage, so the browser successfully registered with the
// push service. This is likely to be a new push registration, though it's
// possible that the push service had its own cache (for example if Chrome's
// app data was cleared, we might have forgotten about a registration that the
// push service still stores).
SUCCESS_FROM_PUSH_SERVICE = 0,
// Registration failed because there is no Service Worker.
NO_SERVICE_WORKER = 1,
// Registration failed because the push service is not available.
SERVICE_NOT_AVAILABLE = 2,
// Registration failed because the maximum number of registratons has been
// reached.
LIMIT_REACHED = 3,
// Registration failed because permission was denied.
PERMISSION_DENIED = 4,
// Registration failed in the push service implemented by the embedder.
SERVICE_ERROR = 5,
// Registration failed because no sender id was provided by the page.
NO_SENDER_ID = 6,
// Registration succeeded, but we failed to persist it.
STORAGE_ERROR = 7,
// A successful registration was already cached in Service Worker storage.
SUCCESS_FROM_CACHE = 8,
// Registration failed due to a network error.
NETWORK_ERROR = 9,
// Registration failed because the push service is not available in incognito,
// but we tell JS that permission was denied to not reveal incognito.
INCOGNITO_PERMISSION_DENIED = 10,
// Registration failed because the public key could not be retrieved.
PUBLIC_KEY_UNAVAILABLE = 11,
// Registration failed because the manifest could not be retrieved or was
// empty.
MANIFEST_EMPTY_OR_MISSING = 12,
// Registration failed because a subscription with a different sender id
// already exists.
SENDER_ID_MISMATCH = 13,
// Registration failed because storage was corrupt. It will be retried
// automatically after unsubscribing to fix the corruption.
STORAGE_CORRUPT = 14,
// Registration failed because the renderer was shut down.
RENDERER_SHUTDOWN = 15,
// Registration was successful for a subscription that was already known by
// the cache, but the push service returned a new subscription. This may
// happen when a subscription is invalidated by the push service.
SUCCESS_NEW_SUBSCRIPTION_FROM_PUSH_SERVICE = 16,
// NOTE: Do not renumber or delete these as that would confuse interpretation
// of previously logged data. When making changes, also update the enum list
// in tools/metrics/histograms/histograms.xml to keep it in sync.
};
// Push unregistration reason for reporting in UMA. Enum values can be added,
// but must never be renumbered or deleted and reused.
enum PushUnregistrationReason {
// Should never happen.
UNKNOWN = 0,
// Unregistering because the website called the unsubscribe API.
JAVASCRIPT_API = 1,
// Unregistering because the user manually revoked permission.
PERMISSION_REVOKED = 2,
// Automatic - incoming message's app id was unknown.
DELIVERY_UNKNOWN_APP_ID = 3,
// Automatic - incoming message's origin no longer has permission.
DELIVERY_PERMISSION_DENIED = 4,
// Automatic - incoming message's service worker was not found.
DELIVERY_NO_SERVICE_WORKER = 5,
// Automatic - GCM Store reset due to corruption.
GCM_STORE_RESET = 6,
// Unregistering because the service worker was unregistered.
SERVICE_WORKER_UNREGISTERED = 7,
// Website called subscribe API and the stored subscription was corrupt, so
// it is being unsubscribed in order to attempt a clean subscription.
SUBSCRIBE_STORAGE_CORRUPT = 8,
// Website called getSubscription API and the stored subscription was corrupt.
GET_SUBSCRIPTION_STORAGE_CORRUPT = 9,
// The Service Worker database got wiped, most likely due to corruption.
SERVICE_WORKER_DATABASE_WIPED = 10,
// NOTE: Do not renumber or delete these as that would confuse interpretation
// of previously logged data. When making changes, also update the enum list
// in tools/metrics/histograms/histograms.xml to keep it in sync.
};
// Push unregistration success/error codes for internal use & reporting in UMA.
// Enum values can be added, but must never be renumbered or deleted and reused.
enum PushUnregistrationStatus {
// The unregistration was successful.
SUCCESS_UNREGISTERED = 0,
// Unregistration was unnecessary, as the registration was not found.
SUCCESS_WAS_NOT_REGISTERED = 1,
// The unregistration did not happen because of a network error, but will be
// retried until it succeeds.
PENDING_NETWORK_ERROR = 2,
// Unregistration failed because there is no Service Worker.
NO_SERVICE_WORKER = 3,
// Unregistration failed because the push service is not available.
SERVICE_NOT_AVAILABLE = 4,
// Unregistration failed in the push service implemented by the embedder, but
// will be retried until it succeeds.
PENDING_SERVICE_ERROR = 5,
// Unregistration succeeded, but we failed to clear Service Worker storage.
STORAGE_ERROR = 6,
// Unregistration failed due to a network error.
NETWORK_ERROR = 7,
// NOTE: Do not renumber or delete these as that would confuse interpretation
// of previously logged data. When making changes, also update the enum list
// in tools/metrics/histograms/histograms.xml to keep it in sync.
};
// Push message user visible tracking for reporting in UMA. Enum values can be
// added, but must never be renumbered or deleted and reused.
enum PushUserVisibleStatus {
// A notification was required and one (or more) were shown.
REQUIRED_AND_SHOWN = 0,
// A notification was not required, but one (or more) were shown anyway.
NOT_REQUIRED_BUT_SHOWN = 1,
// A notification was not required and none were shown.
NOT_REQUIRED_AND_NOT_SHOWN = 2,
// A notification was required, but none were shown. Fortunately, the site has
// been well behaved recently so it was glossed over.
REQUIRED_BUT_NOT_SHOWN_USED_GRACE = 3,
// A notification was required, but none were shown. Unfortunately, the site
// has run out of grace, so we had to show the user a generic notification.
REQUIRED_BUT_NOT_SHOWN_GRACE_EXCEEDED = 4,
// NOTE: Do not renumber or delete these as that would confuse interpretation
// of previously logged data. When making changes, also update the enum list
// in tools/metrics/histograms/histograms.xml to keep it in sync.
};