Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(796)

Side by Side Diff: chrome/browser/chromeos/extensions/file_browser_event_router.cc

Issue 12729002: Add a unified observer to replace NetworkManagerObserver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/extensions/file_browser_event_router.h" 5 #include "chrome/browser/chromeos/extensions/file_browser_event_router.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
11 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
12 #include "base/prefs/public/pref_change_registrar.h" 12 #include "base/prefs/public/pref_change_registrar.h"
13 #include "base/stl_util.h" 13 #include "base/stl_util.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/browser/chromeos/cros/cros_library.h"
16 #include "chrome/browser/chromeos/drive/drive_cache.h" 15 #include "chrome/browser/chromeos/drive/drive_cache.h"
17 #include "chrome/browser/chromeos/drive/drive_file_system_interface.h" 16 #include "chrome/browser/chromeos/drive/drive_file_system_interface.h"
18 #include "chrome/browser/chromeos/drive/drive_file_system_util.h" 17 #include "chrome/browser/chromeos/drive/drive_file_system_util.h"
19 #include "chrome/browser/chromeos/drive/drive_system_service.h" 18 #include "chrome/browser/chromeos/drive/drive_system_service.h"
20 #include "chrome/browser/chromeos/extensions/file_browser_notifications.h" 19 #include "chrome/browser/chromeos/extensions/file_browser_notifications.h"
21 #include "chrome/browser/chromeos/extensions/file_manager_util.h" 20 #include "chrome/browser/chromeos/extensions/file_manager_util.h"
22 #include "chrome/browser/chromeos/login/base_login_display_host.h" 21 #include "chrome/browser/chromeos/login/base_login_display_host.h"
23 #include "chrome/browser/chromeos/login/screen_locker.h" 22 #include "chrome/browser/chromeos/login/screen_locker.h"
24 #include "chrome/browser/chromeos/login/user_manager.h" 23 #include "chrome/browser/chromeos/login/user_manager.h"
24 #include "chrome/browser/chromeos/net/connectivity_state_helper.h"
25 #include "chrome/browser/extensions/event_names.h" 25 #include "chrome/browser/extensions/event_names.h"
26 #include "chrome/browser/extensions/event_router.h" 26 #include "chrome/browser/extensions/event_router.h"
27 #include "chrome/browser/extensions/extension_service.h" 27 #include "chrome/browser/extensions/extension_service.h"
28 #include "chrome/browser/extensions/extension_system.h" 28 #include "chrome/browser/extensions/extension_system.h"
29 #include "chrome/browser/google_apis/drive_service_interface.h" 29 #include "chrome/browser/google_apis/drive_service_interface.h"
30 #include "chrome/browser/profiles/profile.h" 30 #include "chrome/browser/profiles/profile.h"
31 #include "chrome/common/chrome_notification_types.h" 31 #include "chrome/common/chrome_notification_types.h"
32 #include "chrome/common/pref_names.h" 32 #include "chrome/common/pref_names.h"
33 #include "chromeos/dbus/cros_disks_client.h" 33 #include "chromeos/dbus/cros_disks_client.h"
34 #include "chromeos/dbus/dbus_thread_manager.h" 34 #include "chromeos/dbus/dbus_thread_manager.h"
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 if (disk_mount_manager) 265 if (disk_mount_manager)
266 disk_mount_manager->RemoveObserver(this); 266 disk_mount_manager->RemoveObserver(this);
267 267
268 DriveSystemService* system_service = 268 DriveSystemService* system_service =
269 DriveSystemServiceFactory::FindForProfileRegardlessOfStates(profile_); 269 DriveSystemServiceFactory::FindForProfileRegardlessOfStates(profile_);
270 if (system_service) { 270 if (system_service) {
271 system_service->file_system()->RemoveObserver(this); 271 system_service->file_system()->RemoveObserver(this);
272 system_service->drive_service()->RemoveObserver(this); 272 system_service->drive_service()->RemoveObserver(this);
273 } 273 }
274 274
275 chromeos::CrosLibrary* cros_library = chromeos::CrosLibrary::Get(); 275 if (chromeos::ConnectivityStateHelper::IsInitialized()) {
276 if (cros_library) { 276 chromeos::ConnectivityStateHelper::Get()->
277 chromeos::NetworkLibrary* network_library = 277 RemoveNetworkManagerObserver(this);
278 cros_library->GetNetworkLibrary();
279 if (network_library)
280 network_library->RemoveNetworkManagerObserver(this);
281 } 278 }
282
283 profile_ = NULL; 279 profile_ = NULL;
284 } 280 }
285 281
286 void FileBrowserEventRouter::ObserveFileSystemEvents() { 282 void FileBrowserEventRouter::ObserveFileSystemEvents() {
287 if (!profile_) { 283 if (!profile_) {
288 NOTREACHED(); 284 NOTREACHED();
289 return; 285 return;
290 } 286 }
291 if (!chromeos::UserManager::Get()->IsUserLoggedIn()) 287 if (!chromeos::UserManager::Get()->IsUserLoggedIn())
292 return; 288 return;
293 289
294 DiskMountManager* disk_mount_manager = DiskMountManager::GetInstance(); 290 DiskMountManager* disk_mount_manager = DiskMountManager::GetInstance();
295 if (disk_mount_manager) { 291 if (disk_mount_manager) {
296 disk_mount_manager->RemoveObserver(this); 292 disk_mount_manager->RemoveObserver(this);
297 disk_mount_manager->AddObserver(this); 293 disk_mount_manager->AddObserver(this);
298 disk_mount_manager->RequestMountInfoRefresh(); 294 disk_mount_manager->RequestMountInfoRefresh();
299 } 295 }
300 296
301 DriveSystemService* system_service = 297 DriveSystemService* system_service =
302 DriveSystemServiceFactory::GetForProfileRegardlessOfStates(profile_); 298 DriveSystemServiceFactory::GetForProfileRegardlessOfStates(profile_);
303 if (system_service) { 299 if (system_service) {
304 system_service->drive_service()->AddObserver(this); 300 system_service->drive_service()->AddObserver(this);
305 system_service->file_system()->AddObserver(this); 301 system_service->file_system()->AddObserver(this);
306 } 302 }
307 303
308 chromeos::CrosLibrary* cros_library = chromeos::CrosLibrary::Get(); 304 if (chromeos::ConnectivityStateHelper::IsInitialized()) {
309 if (cros_library) { 305 chromeos::ConnectivityStateHelper::Get()->
310 chromeos::NetworkLibrary* network_library = 306 AddNetworkManagerObserver(this);
311 cros_library->GetNetworkLibrary();
312 if (network_library)
313 network_library->AddNetworkManagerObserver(this);
314 } 307 }
315
316 suspend_state_delegate_.reset(new SuspendStateDelegateImpl()); 308 suspend_state_delegate_.reset(new SuspendStateDelegateImpl());
317 309
318 pref_change_registrar_->Init(profile_->GetPrefs()); 310 pref_change_registrar_->Init(profile_->GetPrefs());
319 311
320 pref_change_registrar_->Add( 312 pref_change_registrar_->Add(
321 prefs::kExternalStorageDisabled, 313 prefs::kExternalStorageDisabled,
322 base::Bind(&FileBrowserEventRouter::OnExternalStorageDisabledChanged, 314 base::Bind(&FileBrowserEventRouter::OnExternalStorageDisabledChanged,
323 base::Unretained(this))); 315 base::Unretained(this)));
324 316
325 base::Closure callback = 317 base::Closure callback =
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 DiskMountManager::FormatEvent event, 518 DiskMountManager::FormatEvent event,
527 chromeos::FormatError error_code, 519 chromeos::FormatError error_code,
528 const std::string& device_path) { 520 const std::string& device_path) {
529 if (event == DiskMountManager::FORMAT_STARTED) { 521 if (event == DiskMountManager::FORMAT_STARTED) {
530 OnFormatStarted(device_path, error_code == chromeos::FORMAT_ERROR_NONE); 522 OnFormatStarted(device_path, error_code == chromeos::FORMAT_ERROR_NONE);
531 } else if (event == DiskMountManager::FORMAT_COMPLETED) { 523 } else if (event == DiskMountManager::FORMAT_COMPLETED) {
532 OnFormatCompleted(device_path, error_code == chromeos::FORMAT_ERROR_NONE); 524 OnFormatCompleted(device_path, error_code == chromeos::FORMAT_ERROR_NONE);
533 } 525 }
534 } 526 }
535 527
536 void FileBrowserEventRouter::OnNetworkManagerChanged( 528 void FileBrowserEventRouter::NetworkManagerChanged() {
537 chromeos::NetworkLibrary* network_library) {
538 if (!profile_ || 529 if (!profile_ ||
539 !extensions::ExtensionSystem::Get(profile_)->event_router()) { 530 !extensions::ExtensionSystem::Get(profile_)->event_router()) {
540 NOTREACHED(); 531 NOTREACHED();
541 return; 532 return;
542 } 533 }
543 scoped_ptr<extensions::Event> event(new extensions::Event( 534 scoped_ptr<extensions::Event> event(new extensions::Event(
544 extensions::event_names::kOnFileBrowserDriveConnectionStatusChanged, 535 extensions::event_names::kOnFileBrowserDriveConnectionStatusChanged,
545 scoped_ptr<ListValue>(new ListValue()))); 536 scoped_ptr<ListValue>(new ListValue())));
546 extensions::ExtensionSystem::Get(profile_)->event_router()-> 537 extensions::ExtensionSystem::Get(profile_)->event_router()->
547 BroadcastEvent(event.Pass()); 538 BroadcastEvent(event.Pass());
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 } 945 }
955 946
956 bool FileBrowserEventRouter::FileWatcherExtensions::Watch( 947 bool FileBrowserEventRouter::FileWatcherExtensions::Watch(
957 const base::FilePath& path, 948 const base::FilePath& path,
958 const base::FilePathWatcher::Callback& callback) { 949 const base::FilePathWatcher::Callback& callback) {
959 if (is_remote_file_system_) 950 if (is_remote_file_system_)
960 return true; 951 return true;
961 952
962 return file_watcher_->Watch(path, false, callback); 953 return file_watcher_->Watch(path, false, callback);
963 } 954 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/file_browser_event_router.h ('k') | chrome/browser/chromeos/imageburner/burn_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698