blob: 1ec97f66e77a1968a6f7b9573aa3b60d5ad1eb69 [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_FILEAPI_FILE_CHANGE_SERVICE_OBSERVER_H_
#define CHROME_BROWSER_ASH_FILEAPI_FILE_CHANGE_SERVICE_OBSERVER_H_
#include "base/observer_list_types.h"
class GURL;
namespace storage {
class FileSystemURL;
} // namespace storage
namespace ash {
// An interface for an observer which receives `FileChangeService` events.
class FileChangeServiceObserver : public base::CheckedObserver {
public:
// Invoked when a file identified by `url` has been modified. Note that this
// will not get called on file creation or deletion.
virtual void OnFileModified(const storage::FileSystemURL& url) {}
// Invoked when a file has been moved from `src` to `dst`.
virtual void OnFileMoved(const storage::FileSystemURL& src,
const storage::FileSystemURL& dst) {}
// Invoked when a file has been created at `url` in fulfillment of a
// `window.showSaveFilePicker()` request from the given
// `file_picker_binding_context`.
//
// See `content::FileSystemAccessEntryFactory::BindingContext`.
virtual void OnFileCreatedFromShowSaveFilePicker(
const GURL& file_picker_binding_context,
const storage::FileSystemURL& url) {}
};
} // namespace ash
#endif // CHROME_BROWSER_ASH_FILEAPI_FILE_CHANGE_SERVICE_OBSERVER_H_