Index: base/files/important_file_writer.h |
diff --git a/base/files/important_file_writer.h b/base/files/important_file_writer.h |
index 6e8646af3dab1de60cdaba572ce059987932835c..72c1f34c6a629e991c8865abc573ed9529846118 100644 |
--- a/base/files/important_file_writer.h |
+++ b/base/files/important_file_writer.h |
@@ -94,25 +94,23 @@ class BASE_EXPORT ImportantFileWriter : public NonThreadSafe { |
// Serialize data pending to be saved and execute write on backend thread. |
void DoScheduledWrite(); |
- // Registers |on_next_successful_write| to be called once, on the next |
- // successful write event. Only one callback can be set at once. |
- void RegisterOnNextSuccessfulWriteCallback( |
- const Closure& on_next_successful_write); |
+ // Registers |on_next_write_callback| to be synchronously invoked from |
+ // WriteFileAtomically() on its next write (i.e. from |task_runner_|), with |
+ // |success| indicating whether it succeeded or not. |
+ // |on_next_write_callback| must be thread safe, as it will be called on |
+ // |task_runner_| and may be called during Chrome shutdown. |
+ // If called more than once before a write is done, the latest callback |
gab
2016/09/19 18:01:30
s/before a write is done/before a write is schedul
proberge
2016/09/19 21:24:25
Done.
|
+ // clobbers the others. |
+ void RegisterOnNextWriteCallback( |
+ const Callback<void(bool success)>& on_next_write_callback); |
TimeDelta commit_interval() const { |
return commit_interval_; |
} |
private: |
- // Helper method for WriteNow(). |
- bool PostWriteTask(const Callback<bool()>& task); |
- |
- // If |result| is true and |on_next_successful_write_| is set, invokes |
- // |on_successful_write_| and then resets it; no-ops otherwise. |
- void ForwardSuccessfulWrite(bool result); |
- |
- // Invoked once and then reset on the next successful write event. |
- Closure on_next_successful_write_; |
+ // Invoked synchronously on the next write event. |
+ Callback<void(bool success)> on_next_write_callback_; |
// Path being written to. |
const FilePath path_; |