UNPKG

chrome-devtools-frontend

Version:
93 lines (71 loc) 3.06 kB
// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import * as SDK from '../../core/sdk/sdk.js'; import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js'; import type * as Protocol from '../../generated/protocol.js'; export class InterestGroupStorageModel extends SDK.SDKModel.SDKModel<EventTypes> implements ProtocolProxyApi.StorageDispatcher { private readonly storageAgent: ProtocolProxyApi.StorageApi; private enabled?: boolean; constructor(target: SDK.Target.Target) { super(target); target.registerStorageDispatcher(this); this.storageAgent = target.storageAgent(); this.enabled = false; } enable(): void { if (this.enabled) { return; } void this.storageAgent.invoke_setInterestGroupTracking({enable: true}); } disable(): void { if (!this.enabled) { return; } void this.storageAgent.invoke_setInterestGroupTracking({enable: false}); } interestGroupAccessed(event: Protocol.Storage.InterestGroupAccessedEvent): void { this.dispatchEventToListeners(Events.INTEREST_GROUP_ACCESS, event); } attributionReportingTriggerRegistered(_event: Protocol.Storage.AttributionReportingTriggerRegisteredEvent): void { } indexedDBListUpdated(_event: Protocol.Storage.IndexedDBListUpdatedEvent): void { } indexedDBContentUpdated(_event: Protocol.Storage.IndexedDBContentUpdatedEvent): void { } interestGroupAuctionEventOccurred(_event: Protocol.Storage.InterestGroupAuctionEventOccurredEvent): void { } interestGroupAuctionNetworkRequestCreated(_event: Protocol.Storage.InterestGroupAuctionNetworkRequestCreatedEvent): void { } cacheStorageListUpdated(_event: Protocol.Storage.CacheStorageListUpdatedEvent): void { } cacheStorageContentUpdated(_event: Protocol.Storage.CacheStorageContentUpdatedEvent): void { } sharedStorageAccessed(_event: Protocol.Storage.SharedStorageAccessedEvent): void { } sharedStorageWorkletOperationExecutionFinished( _event: Protocol.Storage.SharedStorageWorkletOperationExecutionFinishedEvent): void { } storageBucketCreatedOrUpdated(_event: Protocol.Storage.StorageBucketCreatedOrUpdatedEvent): void { } storageBucketDeleted(_event: Protocol.Storage.StorageBucketDeletedEvent): void { } attributionReportingSourceRegistered(_event: Protocol.Storage.AttributionReportingSourceRegisteredEvent): void { } attributionReportingReportSent(_event: Protocol.Storage.AttributionReportingReportSentEvent): void { } attributionReportingVerboseDebugReportSent(_event: Protocol.Storage.AttributionReportingVerboseDebugReportSentEvent): void { } } SDK.SDKModel.SDKModel.register( InterestGroupStorageModel, {capabilities: SDK.Target.Capability.STORAGE, autostart: false}); export const enum Events { INTEREST_GROUP_ACCESS = 'InterestGroupAccess', } export interface EventTypes { [Events.INTEREST_GROUP_ACCESS]: Protocol.Storage.InterestGroupAccessedEvent; }