blob: 99260f15692458cc3caf3d7dd00d4e6f127d27b2 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_BROWSING_DATA_COMMANDS_H_
#define IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_BROWSING_DATA_COMMANDS_H_
#import <Foundation/Foundation.h>
#import "base/ios/block_types.h"
#import "components/browsing_data/core/browsing_data_utils.h"
#include "ios/chrome/browser/browsing_data/model/browsing_data_remove_mask.h"
class ChromeBrowserState;
// TODO(crbug.com/325612973) Remove this protocol and rewrite browsing data
// removal as a keyed service.
// Protocol for commands that relate to browsing data.
@protocol BrowsingDataCommands <NSObject>
// Remove browsing data for `browserState` for the `timePeriod`. The type of
// data to remove is controlled by `removeMask` (see BrowserDataRemoveMask).
// Once data is removed, `completionBlock` is invoked asynchronously.
- (void)removeBrowsingDataForBrowserState:(ChromeBrowserState*)browserState
timePeriod:(browsing_data::TimePeriod)timePeriod
removeMask:(BrowsingDataRemoveMask)removeMask
completionBlock:(ProceduralBlock)completionBlock;
@end
#endif // IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_BROWSING_DATA_COMMANDS_H_