OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 public: | 64 public: |
65 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, | 65 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, |
66 base::WeakPtr<SyncEngine> sync_engine) | 66 base::WeakPtr<SyncEngine> sync_engine) |
67 : ui_task_runner_(ui_task_runner), | 67 : ui_task_runner_(ui_task_runner), |
68 sync_engine_(sync_engine) {} | 68 sync_engine_(sync_engine) {} |
69 | 69 |
70 virtual ~WorkerObserver() {} | 70 virtual ~WorkerObserver() {} |
71 | 71 |
72 virtual void OnPendingFileListUpdated(int item_count) OVERRIDE { | 72 virtual void OnPendingFileListUpdated(int item_count) OVERRIDE { |
73 if (ui_task_runner_->RunsTasksOnCurrentThread()) { | 73 if (ui_task_runner_->RunsTasksOnCurrentThread()) { |
74 sync_engine_->OnPendingFileListUpdated(item_count); | 74 if (sync_engine_) |
| 75 sync_engine_->OnPendingFileListUpdated(item_count); |
75 return; | 76 return; |
76 } | 77 } |
77 | 78 |
78 ui_task_runner_->PostTask( | 79 ui_task_runner_->PostTask( |
79 FROM_HERE, | 80 FROM_HERE, |
80 base::Bind(&SyncEngine::OnPendingFileListUpdated, | 81 base::Bind(&SyncEngine::OnPendingFileListUpdated, |
81 sync_engine_, | 82 sync_engine_, |
82 item_count)); | 83 item_count)); |
83 } | 84 } |
84 | 85 |
85 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url, | 86 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url, |
86 SyncFileStatus file_status, | 87 SyncFileStatus file_status, |
87 SyncAction sync_action, | 88 SyncAction sync_action, |
88 SyncDirection direction) OVERRIDE { | 89 SyncDirection direction) OVERRIDE { |
89 if (ui_task_runner_->RunsTasksOnCurrentThread()) { | 90 if (ui_task_runner_->RunsTasksOnCurrentThread()) { |
90 sync_engine_->OnFileStatusChanged( | 91 if (sync_engine_) |
91 url, file_status, sync_action, direction); | 92 sync_engine_->OnFileStatusChanged( |
| 93 url, file_status, sync_action, direction); |
92 return; | 94 return; |
93 } | 95 } |
94 | 96 |
95 ui_task_runner_->PostTask( | 97 ui_task_runner_->PostTask( |
96 FROM_HERE, | 98 FROM_HERE, |
97 base::Bind(&SyncEngine::OnFileStatusChanged, | 99 base::Bind(&SyncEngine::OnFileStatusChanged, |
98 sync_engine_, | 100 sync_engine_, |
99 url, file_status, sync_action, direction)); | 101 url, file_status, sync_action, direction)); |
100 } | 102 } |
101 | 103 |
102 virtual void UpdateServiceState(RemoteServiceState state, | 104 virtual void UpdateServiceState(RemoteServiceState state, |
103 const std::string& description) OVERRIDE { | 105 const std::string& description) OVERRIDE { |
104 if (ui_task_runner_->RunsTasksOnCurrentThread()) { | 106 if (ui_task_runner_->RunsTasksOnCurrentThread()) { |
105 sync_engine_->UpdateServiceState(state, description); | 107 if (sync_engine_) |
| 108 sync_engine_->UpdateServiceState(state, description); |
106 return; | 109 return; |
107 } | 110 } |
108 | 111 |
109 ui_task_runner_->PostTask( | 112 ui_task_runner_->PostTask( |
110 FROM_HERE, | 113 FROM_HERE, |
111 base::Bind(&SyncEngine::UpdateServiceState, | 114 base::Bind(&SyncEngine::UpdateServiceState, |
112 sync_engine_, state, description)); | 115 sync_engine_, state, description)); |
113 } | 116 } |
114 | 117 |
115 private: | 118 private: |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
550 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; | 553 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; |
551 if (is_app_enabled && !is_app_root_tracker_enabled) | 554 if (is_app_enabled && !is_app_root_tracker_enabled) |
552 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 555 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
553 else if (!is_app_enabled && is_app_root_tracker_enabled) | 556 else if (!is_app_enabled && is_app_root_tracker_enabled) |
554 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 557 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
555 } | 558 } |
556 } | 559 } |
557 | 560 |
558 } // namespace drive_backend | 561 } // namespace drive_backend |
559 } // namespace sync_file_system | 562 } // namespace sync_file_system |
OLD | NEW |