| Index: webkit/fileapi/syncable/local_file_sync_status.cc
|
| diff --git a/webkit/fileapi/syncable/local_file_sync_status.cc b/webkit/fileapi/syncable/local_file_sync_status.cc
|
| index 3be00e3c92b19b3b24b6a204b2ea291486f428bb..e543306b0e6c5c3106fb5a18828b241e44dbf1b4 100644
|
| --- a/webkit/fileapi/syncable/local_file_sync_status.cc
|
| +++ b/webkit/fileapi/syncable/local_file_sync_status.cc
|
| @@ -21,8 +21,10 @@ void LocalFileSyncStatus::StartWriting(const FileSystemURL& url) {
|
| void LocalFileSyncStatus::EndWriting(const FileSystemURL& url) {
|
| DCHECK(CalledOnValidThread());
|
| int count = --writing_[url];
|
| - if (count == 0)
|
| + if (count == 0) {
|
| writing_.erase(url);
|
| + FOR_EACH_OBSERVER(Observer, observer_list_, OnSyncEnabled(url));
|
| + }
|
| }
|
|
|
| void LocalFileSyncStatus::StartSyncing(const FileSystemURL& url) {
|
| @@ -34,6 +36,7 @@ void LocalFileSyncStatus::StartSyncing(const FileSystemURL& url) {
|
| void LocalFileSyncStatus::EndSyncing(const FileSystemURL& url) {
|
| DCHECK(CalledOnValidThread());
|
| syncing_.erase(url);
|
| + FOR_EACH_OBSERVER(Observer, observer_list_, OnWriteEnabled(url));
|
| }
|
|
|
| bool LocalFileSyncStatus::IsWriting(const FileSystemURL& url) const {
|
| @@ -46,6 +49,16 @@ bool LocalFileSyncStatus::IsWritable(const FileSystemURL& url) const {
|
| return !IsChildOrParentSyncing(url);
|
| }
|
|
|
| +void LocalFileSyncStatus::AddObserver(Observer* observer) {
|
| + DCHECK(CalledOnValidThread());
|
| + observer_list_.AddObserver(observer);
|
| +}
|
| +
|
| +void LocalFileSyncStatus::RemoveObserver(Observer* observer) {
|
| + DCHECK(CalledOnValidThread());
|
| + observer_list_.RemoveObserver(observer);
|
| +}
|
| +
|
| bool LocalFileSyncStatus::IsChildOrParentWriting(
|
| const FileSystemURL& url) const {
|
| DCHECK(CalledOnValidThread());
|
|
|