com.hubspot.chrome.devtools.client.core.storage.Storage Maven / Gradle / Ivy
package com.hubspot.chrome.devtools.client.core.storage;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hubspot.chrome.devtools.base.ChromeRequest;
import com.hubspot.chrome.devtools.base.ChromeSessionCore;
import java.util.concurrent.CompletableFuture;
public final class Storage {
ChromeSessionCore chromeSession;
ObjectMapper objectMapper;
public Storage(ChromeSessionCore chromeSession, ObjectMapper objectMapper) {
this.chromeSession = chromeSession;
this.objectMapper = objectMapper;
}
/**
* Clears storage for origin.
*
* @param origin Security origin.
* @param storageTypes Comma separated origin names.
*/
public void clearDataForOrigin(String origin, String storageTypes) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.clearDataForOrigin");
chromeRequest
.putParams("origin", origin)
.putParams("storageTypes", storageTypes);
chromeSession.send(chromeRequest);
}
/**
* Clears storage for origin.
*
* @param origin Security origin.
* @param storageTypes Comma separated origin names.
*/
public void clearDataForOriginAsync(String origin, String storageTypes) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.clearDataForOrigin");
chromeRequest
.putParams("origin", origin)
.putParams("storageTypes", storageTypes);
chromeSession.sendAsync(chromeRequest);
}
/**
* Returns usage and quota in bytes.
*
* @param origin Security origin.
*/
public GetUsageAndQuotaResult getUsageAndQuota(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.getUsageAndQuota");
chromeRequest
.putParams("origin", origin);
return chromeSession.send(chromeRequest, new TypeReference(){});
}
/**
* Returns usage and quota in bytes.
*
* @param origin Security origin.
*/
public CompletableFuture getUsageAndQuotaAsync(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.getUsageAndQuota");
chromeRequest
.putParams("origin", origin);
return chromeSession.sendAsync(chromeRequest, new TypeReference(){});
}
/**
* Registers origin to be notified when an update occurs to its cache storage list.
*
* @param origin Security origin.
*/
public void trackCacheStorageForOrigin(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.trackCacheStorageForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.send(chromeRequest);
}
/**
* Registers origin to be notified when an update occurs to its cache storage list.
*
* @param origin Security origin.
*/
public void trackCacheStorageForOriginAsync(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.trackCacheStorageForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.sendAsync(chromeRequest);
}
/**
* Registers origin to be notified when an update occurs to its IndexedDB.
*
* @param origin Security origin.
*/
public void trackIndexedDBForOrigin(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.trackIndexedDBForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.send(chromeRequest);
}
/**
* Registers origin to be notified when an update occurs to its IndexedDB.
*
* @param origin Security origin.
*/
public void trackIndexedDBForOriginAsync(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.trackIndexedDBForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.sendAsync(chromeRequest);
}
/**
* Unregisters origin from receiving notifications for cache storage.
*
* @param origin Security origin.
*/
public void untrackCacheStorageForOrigin(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.untrackCacheStorageForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.send(chromeRequest);
}
/**
* Unregisters origin from receiving notifications for cache storage.
*
* @param origin Security origin.
*/
public void untrackCacheStorageForOriginAsync(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.untrackCacheStorageForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.sendAsync(chromeRequest);
}
/**
* Unregisters origin from receiving notifications for IndexedDB.
*
* @param origin Security origin.
*/
public void untrackIndexedDBForOrigin(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.untrackIndexedDBForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.send(chromeRequest);
}
/**
* Unregisters origin from receiving notifications for IndexedDB.
*
* @param origin Security origin.
*/
public void untrackIndexedDBForOriginAsync(String origin) {
ChromeRequest chromeRequest = new ChromeRequest("Storage.untrackIndexedDBForOrigin");
chromeRequest
.putParams("origin", origin);
chromeSession.sendAsync(chromeRequest);
}
}