lib/selenium/devtools/v137/storage.rb



# frozen_string_literal: true

# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The SFC licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# This file is automatically generated. Any changes will be lost!
module Selenium
  module DevTools
    module V137
      class Storage
        EVENTS = {
          cache_storage_content_updated: 'cacheStorageContentUpdated',
          cache_storage_list_updated: 'cacheStorageListUpdated',
          indexed_db_content_updated: 'indexedDBContentUpdated',
          indexed_db_list_updated: 'indexedDBListUpdated',
          interest_group_accessed: 'interestGroupAccessed',
          interest_group_auction_event_occurred: 'interestGroupAuctionEventOccurred',
          interest_group_auction_network_request_created: 'interestGroupAuctionNetworkRequestCreated',
          shared_storage_accessed: 'sharedStorageAccessed',
          storage_bucket_created_or_updated: 'storageBucketCreatedOrUpdated',
          storage_bucket_deleted: 'storageBucketDeleted',
          attribution_reporting_source_registered: 'attributionReportingSourceRegistered',
          attribution_reporting_trigger_registered: 'attributionReportingTriggerRegistered',
        }.freeze

        def initialize(devtools)
          @devtools = devtools
        end

        def on(event, &block)
          event = EVENTS[event] if event.is_a?(Symbol)
          @devtools.callbacks["Storage.#{event}"] << block
        end

        def get_storage_key_for_frame(frame_id:)
          @devtools.send_cmd('Storage.getStorageKeyForFrame',
                             frameId: frame_id)
        end

        def clear_data_for_origin(origin:, storage_types:)
          @devtools.send_cmd('Storage.clearDataForOrigin',
                             origin: origin,
                             storageTypes: storage_types)
        end

        def clear_data_for_storage_key(storage_key:, storage_types:)
          @devtools.send_cmd('Storage.clearDataForStorageKey',
                             storageKey: storage_key,
                             storageTypes: storage_types)
        end

        def get_cookies(browser_context_id: nil)
          @devtools.send_cmd('Storage.getCookies',
                             browserContextId: browser_context_id)
        end

        def set_cookies(cookies:, browser_context_id: nil)
          @devtools.send_cmd('Storage.setCookies',
                             cookies: cookies,
                             browserContextId: browser_context_id)
        end

        def clear_cookies(browser_context_id: nil)
          @devtools.send_cmd('Storage.clearCookies',
                             browserContextId: browser_context_id)
        end

        def get_usage_and_quota(origin:)
          @devtools.send_cmd('Storage.getUsageAndQuota',
                             origin: origin)
        end

        def override_quota_for_origin(origin:, quota_size: nil)
          @devtools.send_cmd('Storage.overrideQuotaForOrigin',
                             origin: origin,
                             quotaSize: quota_size)
        end

        def track_cache_storage_for_origin(origin:)
          @devtools.send_cmd('Storage.trackCacheStorageForOrigin',
                             origin: origin)
        end

        def track_cache_storage_for_storage_key(storage_key:)
          @devtools.send_cmd('Storage.trackCacheStorageForStorageKey',
                             storageKey: storage_key)
        end

        def track_indexed_db_for_origin(origin:)
          @devtools.send_cmd('Storage.trackIndexedDBForOrigin',
                             origin: origin)
        end

        def track_indexed_db_for_storage_key(storage_key:)
          @devtools.send_cmd('Storage.trackIndexedDBForStorageKey',
                             storageKey: storage_key)
        end

        def untrack_cache_storage_for_origin(origin:)
          @devtools.send_cmd('Storage.untrackCacheStorageForOrigin',
                             origin: origin)
        end

        def untrack_cache_storage_for_storage_key(storage_key:)
          @devtools.send_cmd('Storage.untrackCacheStorageForStorageKey',
                             storageKey: storage_key)
        end

        def untrack_indexed_db_for_origin(origin:)
          @devtools.send_cmd('Storage.untrackIndexedDBForOrigin',
                             origin: origin)
        end

        def untrack_indexed_db_for_storage_key(storage_key:)
          @devtools.send_cmd('Storage.untrackIndexedDBForStorageKey',
                             storageKey: storage_key)
        end

        def get_trust_tokens
          @devtools.send_cmd('Storage.getTrustTokens')
        end

        def clear_trust_tokens(issuer_origin:)
          @devtools.send_cmd('Storage.clearTrustTokens',
                             issuerOrigin: issuer_origin)
        end

        def get_interest_group_details(owner_origin:, name:)
          @devtools.send_cmd('Storage.getInterestGroupDetails',
                             ownerOrigin: owner_origin,
                             name: name)
        end

        def set_interest_group_tracking(enable:)
          @devtools.send_cmd('Storage.setInterestGroupTracking',
                             enable: enable)
        end

        def set_interest_group_auction_tracking(enable:)
          @devtools.send_cmd('Storage.setInterestGroupAuctionTracking',
                             enable: enable)
        end

        def get_shared_storage_metadata(owner_origin:)
          @devtools.send_cmd('Storage.getSharedStorageMetadata',
                             ownerOrigin: owner_origin)
        end

        def get_shared_storage_entries(owner_origin:)
          @devtools.send_cmd('Storage.getSharedStorageEntries',
                             ownerOrigin: owner_origin)
        end

        def set_shared_storage_entry(owner_origin:, key:, value:, ignore_if_present: nil)
          @devtools.send_cmd('Storage.setSharedStorageEntry',
                             ownerOrigin: owner_origin,
                             key: key,
                             value: value,
                             ignoreIfPresent: ignore_if_present)
        end

        def delete_shared_storage_entry(owner_origin:, key:)
          @devtools.send_cmd('Storage.deleteSharedStorageEntry',
                             ownerOrigin: owner_origin,
                             key: key)
        end

        def clear_shared_storage_entries(owner_origin:)
          @devtools.send_cmd('Storage.clearSharedStorageEntries',
                             ownerOrigin: owner_origin)
        end

        def reset_shared_storage_budget(owner_origin:)
          @devtools.send_cmd('Storage.resetSharedStorageBudget',
                             ownerOrigin: owner_origin)
        end

        def set_shared_storage_tracking(enable:)
          @devtools.send_cmd('Storage.setSharedStorageTracking',
                             enable: enable)
        end

        def set_storage_bucket_tracking(storage_key:, enable:)
          @devtools.send_cmd('Storage.setStorageBucketTracking',
                             storageKey: storage_key,
                             enable: enable)
        end

        def delete_storage_bucket(bucket:)
          @devtools.send_cmd('Storage.deleteStorageBucket',
                             bucket: bucket)
        end

        def run_bounce_tracking_mitigations
          @devtools.send_cmd('Storage.runBounceTrackingMitigations')
        end

        def set_attribution_reporting_local_testing_mode(enabled:)
          @devtools.send_cmd('Storage.setAttributionReportingLocalTestingMode',
                             enabled: enabled)
        end

        def set_attribution_reporting_tracking(enable:)
          @devtools.send_cmd('Storage.setAttributionReportingTracking',
                             enable: enable)
        end

        def send_pending_attribution_reports
          @devtools.send_cmd('Storage.sendPendingAttributionReports')
        end

        def get_related_website_sets
          @devtools.send_cmd('Storage.getRelatedWebsiteSets')
        end

        def get_affected_urls_for_third_party_cookie_metadata(first_party_url:, third_party_urls:)
          @devtools.send_cmd('Storage.getAffectedUrlsForThirdPartyCookieMetadata',
                             firstPartyUrl: first_party_url,
                             thirdPartyUrls: third_party_urls)
        end

        def set_protected_audience_k_anonymity(owner:, name:, hashes:)
          @devtools.send_cmd('Storage.setProtectedAudienceKAnonymity',
                             owner: owner,
                             name: name,
                             hashes: hashes)
        end

      end # Storage
    end # V137
  end # DevTools
end # Selenium