diff options
Diffstat (limited to 'chrome/browser/chromeos')
26 files changed, 228 insertions, 197 deletions
diff --git a/chrome/browser/chromeos/drive/change_list_loader.cc b/chrome/browser/chromeos/drive/change_list_loader.cc index fc22c54..6a22a25 100644 --- a/chrome/browser/chromeos/drive/change_list_loader.cc +++ b/chrome/browser/chromeos/drive/change_list_loader.cc @@ -15,10 +15,10 @@ #include "chrome/browser/chromeos/drive/change_list_processor.h" #include "chrome/browser/chromeos/drive/file_system_util.h" #include "chrome/browser/chromeos/drive/job_scheduler.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "chrome/browser/chromeos/drive/resource_metadata.h" #include "chrome/browser/drive/drive_api_util.h" #include "chrome/browser/drive/drive_service_interface.h" +#include "chrome/browser/drive/event_logger.h" #include "content/public/browser/browser_thread.h" #include "google_apis/drive/drive_api_parser.h" #include "url/gurl.h" @@ -343,12 +343,14 @@ void LoaderController::Unlock() { } ChangeListLoader::ChangeListLoader( + EventLogger* logger, base::SequencedTaskRunner* blocking_task_runner, ResourceMetadata* resource_metadata, JobScheduler* scheduler, DriveServiceInterface* drive_service, LoaderController* loader_controller) - : blocking_task_runner_(blocking_task_runner), + : logger_(logger), + blocking_task_runner_(blocking_task_runner), resource_metadata_(resource_metadata), scheduler_(scheduler), drive_service_(drive_service), @@ -392,7 +394,7 @@ void ChangeListLoader::CheckForUpdates(const FileOperationCallback& callback) { // We only start to check for updates iff the load is done. // I.e., we ignore checking updates if not loaded to avoid starting the // load without user's explicit interaction (such as opening Drive). - util::Log(logging::LOG_INFO, "Checking for updates"); + logger_->Log(logging::LOG_INFO, "Checking for updates"); Load(DirectoryFetchInfo(), callback); } } @@ -655,10 +657,10 @@ void ChangeListLoader::LoadAfterGetAboutResource( // enough, but we log this message here, so "Fast-fetch start" and // "Fast-fetch complete" always match. // TODO(satorux): Distinguish the "not fetching at all" case. - util::Log(logging::LOG_INFO, - "Fast-fetch start: %s; Server changestamp: %s", - directory_fetch_info.ToString().c_str(), - base::Int64ToString(remote_changestamp).c_str()); + logger_->Log(logging::LOG_INFO, + "Fast-fetch start: %s; Server changestamp: %s", + directory_fetch_info.ToString().c_str(), + base::Int64ToString(remote_changestamp).c_str()); // If the directory's changestamp is up-to-date, just schedule to run the // callback, as there is no need to fetch the directory. @@ -731,10 +733,10 @@ void ChangeListLoader::OnDirectoryLoadComplete( FileError error) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - util::Log(logging::LOG_INFO, - "Fast-fetch complete: %s => %s", - directory_fetch_info.ToString().c_str(), - FileErrorToString(error).c_str()); + logger_->Log(logging::LOG_INFO, + "Fast-fetch complete: %s => %s", + directory_fetch_info.ToString().c_str(), + FileErrorToString(error).c_str()); const std::string& local_id = directory_fetch_info.local_id(); LoadCallbackMap::iterator it = pending_load_callback_.find(local_id); if (it != pending_load_callback_.end()) { @@ -796,9 +798,9 @@ void ChangeListLoader::LoadChangeListFromServerAfterLoadChangeList( // the initial content retrieval. const bool should_notify_changed_directories = is_delta_update; - util::Log(logging::LOG_INFO, - "Apply change lists (is delta: %d)", - is_delta_update); + logger_->Log(logging::LOG_INFO, + "Apply change lists (is delta: %d)", + is_delta_update); loader_controller_->ScheduleRun(base::Bind( base::IgnoreResult( &base::PostTaskAndReplyWithResult<FileError, FileError>), @@ -824,9 +826,9 @@ void ChangeListLoader::LoadChangeListFromServerAfterUpdate( DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); const base::TimeDelta elapsed = base::Time::Now() - start_time; - util::Log(logging::LOG_INFO, - "Change lists applied (elapsed time: %sms)", - base::Int64ToString(elapsed.InMilliseconds()).c_str()); + logger_->Log(logging::LOG_INFO, + "Change lists applied (elapsed time: %sms)", + base::Int64ToString(elapsed.InMilliseconds()).c_str()); if (should_notify_changed_directories) { for (std::set<base::FilePath>::iterator dir_iter = diff --git a/chrome/browser/chromeos/drive/change_list_loader.h b/chrome/browser/chromeos/drive/change_list_loader.h index 8a15d33..c30bb09 100644 --- a/chrome/browser/chromeos/drive/change_list_loader.h +++ b/chrome/browser/chromeos/drive/change_list_loader.h @@ -35,6 +35,7 @@ class ResourceList; namespace drive { class DriveServiceInterface; +class EventLogger; class JobScheduler; class ResourceEntry; @@ -90,7 +91,8 @@ class ChangeListLoader { // Resource feed fetcher from the server. class FeedFetcher; - ChangeListLoader(base::SequencedTaskRunner* blocking_task_runner, + ChangeListLoader(EventLogger* logger, + base::SequencedTaskRunner* blocking_task_runner, ResourceMetadata* resource_metadata, JobScheduler* scheduler, DriveServiceInterface* drive_service, @@ -238,6 +240,7 @@ class ChangeListLoader { google_apis::GDataErrorCode status, scoped_ptr<google_apis::AboutResource> about_resource); + EventLogger* logger_; // Not owned. scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ResourceMetadata* resource_metadata_; // Not owned. JobScheduler* scheduler_; // Not owned. diff --git a/chrome/browser/chromeos/drive/change_list_loader_unittest.cc b/chrome/browser/chromeos/drive/change_list_loader_unittest.cc index 66141dd..a36c328 100644 --- a/chrome/browser/chromeos/drive/change_list_loader_unittest.cc +++ b/chrome/browser/chromeos/drive/change_list_loader_unittest.cc @@ -15,6 +15,7 @@ #include "chrome/browser/chromeos/drive/job_scheduler.h" #include "chrome/browser/chromeos/drive/resource_metadata.h" #include "chrome/browser/chromeos/drive/test_util.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/drive/fake_drive_service.h" #include "content/public/test/test_browser_thread_bundle.h" #include "google_apis/drive/drive_api_parser.h" @@ -77,6 +78,8 @@ class ChangeListLoaderTest : public testing::Test { pref_service_.reset(new TestingPrefServiceSimple); test_util::RegisterDrivePrefs(pref_service_->registry()); + logger_.reset(new EventLogger); + drive_service_.reset(new FakeDriveService); ASSERT_TRUE(drive_service_->LoadResourceListForWapi( "gdata/root_feed.json")); @@ -84,6 +87,7 @@ class ChangeListLoaderTest : public testing::Test { "gdata/account_metadata.json")); scheduler_.reset(new JobScheduler(pref_service_.get(), + logger_.get(), drive_service_.get(), base::MessageLoopProxy::current().get())); metadata_storage_.reset(new ResourceMetadataStorage( @@ -102,7 +106,8 @@ class ChangeListLoaderTest : public testing::Test { loader_controller_.reset(new LoaderController); change_list_loader_.reset( - new ChangeListLoader(base::MessageLoopProxy::current().get(), + new ChangeListLoader(logger_.get(), + base::MessageLoopProxy::current().get(), metadata_.get(), scheduler_.get(), drive_service_.get(), @@ -128,6 +133,7 @@ class ChangeListLoaderTest : public testing::Test { content::TestBrowserThreadBundle thread_bundle_; base::ScopedTempDir temp_dir_; scoped_ptr<TestingPrefServiceSimple> pref_service_; + scoped_ptr<EventLogger> logger_; scoped_ptr<FakeDriveService> drive_service_; scoped_ptr<JobScheduler> scheduler_; scoped_ptr<ResourceMetadataStorage, @@ -193,7 +199,8 @@ TEST_F(ChangeListLoaderTest, Load_LocalMetadataAvailable) { // Reset loader. change_list_loader_.reset( - new ChangeListLoader(base::MessageLoopProxy::current().get(), + new ChangeListLoader(logger_.get(), + base::MessageLoopProxy::current().get(), metadata_.get(), scheduler_.get(), drive_service_.get(), diff --git a/chrome/browser/chromeos/drive/drive_integration_service.cc b/chrome/browser/chromeos/drive/drive_integration_service.cc index 9a08bb4..92caaff 100644 --- a/chrome/browser/chromeos/drive/drive_integration_service.cc +++ b/chrome/browser/chromeos/drive/drive_integration_service.cc @@ -17,7 +17,6 @@ #include "chrome/browser/chromeos/drive/file_system.h" #include "chrome/browser/chromeos/drive/file_system_util.h" #include "chrome/browser/chromeos/drive/job_scheduler.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "chrome/browser/chromeos/drive/resource_metadata.h" #include "chrome/browser/chromeos/drive/resource_metadata_storage.h" #include "chrome/browser/chromeos/file_manager/path_util.h" @@ -30,6 +29,7 @@ #include "chrome/browser/drive/drive_app_registry.h" #include "chrome/browser/drive/drive_notification_manager.h" #include "chrome/browser/drive/drive_notification_manager_factory.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/drive/gdata_wapi_service.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/signin/profile_oauth2_token_service.h" @@ -218,6 +218,7 @@ DriveIntegrationService::DriveIntegrationService( weak_ptr_factory_(this) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + logger_.reset(new EventLogger); base::SequencedWorkerPool* blocking_pool = BrowserThread::GetBlockingPool(); blocking_task_runner_ = blocking_pool->GetSequencedTaskRunner( blocking_pool->GetSequenceToken()); @@ -247,6 +248,7 @@ DriveIntegrationService::DriveIntegrationService( } scheduler_.reset(new JobScheduler( profile_->GetPrefs(), + logger_.get(), drive_service_.get(), blocking_task_runner_.get())); metadata_storage_.reset(new internal::ResourceMetadataStorage( @@ -265,6 +267,7 @@ DriveIntegrationService::DriveIntegrationService( file_system_.reset( test_file_system ? test_file_system : new FileSystem( profile_->GetPrefs(), + logger_.get(), cache_.get(), drive_service_.get(), scheduler_.get(), @@ -379,7 +382,7 @@ void DriveIntegrationService::OnPushNotificationEnabled(bool enabled) { drive_app_registry_->Update(); const char* status = (enabled ? "enabled" : "disabled"); - util::Log(logging::LOG_INFO, "Push notification is %s", status); + logger_->Log(logging::LOG_INFO, "Push notification is %s", status); } void DriveIntegrationService::ClearCacheAndRemountFileSystem( @@ -442,7 +445,7 @@ void DriveIntegrationService::AddDriveMountPoint() { drive_mount_point); if (success) { - util::Log(logging::LOG_INFO, "Drive mount point is added"); + logger_->Log(logging::LOG_INFO, "Drive mount point is added"); FOR_EACH_OBSERVER(DriveIntegrationServiceObserver, observers_, OnFileSystemMounted()); } @@ -462,7 +465,7 @@ void DriveIntegrationService::RemoveDriveMountPoint() { DCHECK(mount_points); mount_points->RevokeFileSystem(mount_point_name_); - util::Log(logging::LOG_INFO, "Drive mount point is removed"); + logger_->Log(logging::LOG_INFO, "Drive mount point is removed"); } } @@ -523,7 +526,7 @@ void DriveIntegrationService::InitializeAfterMetadataInitialized( const bool registered = drive_notification_manager->push_notification_registered(); const char* status = (registered ? "registered" : "not registered"); - util::Log(logging::LOG_INFO, "Push notification is %s", status); + logger_->Log(logging::LOG_INFO, "Push notification is %s", status); if (drive_notification_manager->push_notification_enabled()) drive_app_registry_->Update(); diff --git a/chrome/browser/chromeos/drive/drive_integration_service.h b/chrome/browser/chromeos/drive/drive_integration_service.h index af1805b..b5ce9a6 100644 --- a/chrome/browser/chromeos/drive/drive_integration_service.h +++ b/chrome/browser/chromeos/drive/drive_integration_service.h @@ -28,6 +28,7 @@ class DebugInfoCollector; class DownloadHandler; class DriveAppRegistry; class DriveServiceInterface; +class EventLogger; class FileSystemInterface; class JobListInterface; @@ -98,10 +99,8 @@ class DriveIntegrationService virtual void OnNotificationReceived() OVERRIDE; virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE; - DriveServiceInterface* drive_service() { - return drive_service_.get(); - } - + EventLogger* event_logger() { return logger_.get(); } + DriveServiceInterface* drive_service() { return drive_service_.get(); } DebugInfoCollector* debug_info_collector() { return debug_info_collector_.get(); } @@ -160,6 +159,7 @@ class DriveIntegrationService std::string mount_point_name_; base::FilePath cache_root_directory_; + scoped_ptr<EventLogger> logger_; scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; scoped_ptr<internal::ResourceMetadataStorage, util::DestroyHelper> metadata_storage_; diff --git a/chrome/browser/chromeos/drive/file_system.cc b/chrome/browser/chromeos/drive/file_system.cc index d6a8363..ea4523d 100644 --- a/chrome/browser/chromeos/drive/file_system.cc +++ b/chrome/browser/chromeos/drive/file_system.cc @@ -25,7 +25,6 @@ #include "chrome/browser/chromeos/drive/file_system_observer.h" #include "chrome/browser/chromeos/drive/file_system_util.h" #include "chrome/browser/chromeos/drive/job_scheduler.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "chrome/browser/chromeos/drive/remove_stale_cache_files.h" #include "chrome/browser/chromeos/drive/resource_entry_conversion.h" #include "chrome/browser/chromeos/drive/search_metadata.h" @@ -206,6 +205,7 @@ FileError ResetOnBlockingPool(internal::ResourceMetadata* resource_metadata, FileSystem::FileSystem( PrefService* pref_service, + EventLogger* logger, internal::FileCache* cache, DriveServiceInterface* drive_service, JobScheduler* scheduler, @@ -213,6 +213,7 @@ FileSystem::FileSystem( base::SequencedTaskRunner* blocking_task_runner, const base::FilePath& temporary_file_directory) : pref_service_(pref_service), + logger_(logger), cache_(cache), drive_service_(drive_service), scheduler_(scheduler), @@ -252,6 +253,7 @@ void FileSystem::ResetComponents() { loader_controller_.reset(new internal::LoaderController); change_list_loader_.reset(new internal::ChangeListLoader( + logger_, blocking_task_runner_.get(), resource_metadata_, scheduler_, @@ -317,7 +319,8 @@ void FileSystem::ResetComponents() { blocking_task_runner_.get(), scheduler_, resource_metadata_, loader_controller_.get())); get_file_for_saving_operation_.reset( - new file_system::GetFileForSavingOperation(blocking_task_runner_.get(), + new file_system::GetFileForSavingOperation(logger_, + blocking_task_runner_.get(), observer, scheduler_, resource_metadata_, diff --git a/chrome/browser/chromeos/drive/file_system.h b/chrome/browser/chromeos/drive/file_system.h index da003fe..e491420 100644 --- a/chrome/browser/chromeos/drive/file_system.h +++ b/chrome/browser/chromeos/drive/file_system.h @@ -30,6 +30,7 @@ class ResourceEntry; namespace drive { class DriveServiceInterface; +class EventLogger; class FileCacheEntry; class FileSystemObserver; class JobScheduler; @@ -63,6 +64,7 @@ class FileSystem : public FileSystemInterface, public file_system::OperationObserver { public: FileSystem(PrefService* pref_service, + EventLogger* logger, internal::FileCache* cache, DriveServiceInterface* drive_service, JobScheduler* scheduler, @@ -245,6 +247,7 @@ class FileSystem : public FileSystemInterface, PrefService* pref_service_; // Sub components owned by DriveIntegrationService. + EventLogger* logger_; internal::FileCache* cache_; DriveServiceInterface* drive_service_; JobScheduler* scheduler_; diff --git a/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.cc b/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.cc index c696746..2d44f22 100644 --- a/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.cc +++ b/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.cc @@ -12,6 +12,7 @@ #include "chrome/browser/chromeos/drive/file_system/download_operation.h" #include "chrome/browser/chromeos/drive/file_system/operation_observer.h" #include "chrome/browser/chromeos/drive/file_write_watcher.h" +#include "chrome/browser/drive/event_logger.h" #include "content/public/browser/browser_thread.h" using content::BrowserThread; @@ -20,13 +21,15 @@ namespace drive { namespace file_system { GetFileForSavingOperation::GetFileForSavingOperation( + EventLogger* logger, base::SequencedTaskRunner* blocking_task_runner, OperationObserver* observer, JobScheduler* scheduler, internal::ResourceMetadata* metadata, internal::FileCache* cache, const base::FilePath& temporary_file_directory) - : create_file_operation_(new CreateFileOperation(blocking_task_runner, + : logger_(logger), + create_file_operation_(new CreateFileOperation(blocking_task_runner, observer, metadata)), download_operation_(new DownloadOperation(blocking_task_runner, @@ -151,6 +154,10 @@ void GetFileForSavingOperation::GetFileForSavingAfterWatch( DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK(!callback.is_null()); + logger_->Log(logging::LOG_INFO, "Started watching modification to %s [%s].", + entry->local_id().c_str(), + success ? "ok" : "fail"); + if (!success) { callback.Run(FILE_ERROR_FAILED, base::FilePath(), scoped_ptr<ResourceEntry>()); @@ -163,6 +170,9 @@ void GetFileForSavingOperation::GetFileForSavingAfterWatch( void GetFileForSavingOperation::OnWriteEvent( const std::string& local_id, scoped_ptr<base::ScopedClosureRunner> file_closer) { + logger_->Log(logging::LOG_INFO, "Detected modification to %s.", + local_id.c_str()); + observer_->OnEntryUpdatedByOperation(local_id); // Clients may have enlarged the file. By FreeDiskpSpaceIfNeededFor(0), diff --git a/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.h b/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.h index 9469263..09d6eb5 100644 --- a/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.h +++ b/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation.h @@ -25,6 +25,7 @@ class FileWriteWatcher; class ResourceMetadata; } // namespace internal +class EventLogger; class JobScheduler; class ResourceEntry; @@ -41,7 +42,8 @@ class OperationObserver; // to the cache directory, not just the one immediately after the save dialog. class GetFileForSavingOperation { public: - GetFileForSavingOperation(base::SequencedTaskRunner* blocking_task_runner, + GetFileForSavingOperation(EventLogger* logger, + base::SequencedTaskRunner* blocking_task_runner, OperationObserver* observer, JobScheduler* scheduler, internal::ResourceMetadata* metadata, @@ -82,6 +84,7 @@ class GetFileForSavingOperation { void OnWriteEvent(const std::string& local_id, scoped_ptr<base::ScopedClosureRunner> file_closer); + EventLogger* logger_; scoped_ptr<CreateFileOperation> create_file_operation_; scoped_ptr<DownloadOperation> download_operation_; scoped_ptr<internal::FileWriteWatcher> file_write_watcher_; diff --git a/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation_unittest.cc b/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation_unittest.cc index 286fcb3..e4c954d 100644 --- a/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation_unittest.cc +++ b/chrome/browser/chromeos/drive/file_system/get_file_for_saving_operation_unittest.cc @@ -62,8 +62,8 @@ class GetFileForSavingOperationTest : public OperationTestBase { OperationTestBase::SetUp(); operation_.reset(new GetFileForSavingOperation( - blocking_task_runner(), &observer_, scheduler(), metadata(), cache(), - temp_dir())); + logger(), blocking_task_runner(), &observer_, scheduler(), metadata(), + cache(), temp_dir())); operation_->file_write_watcher_for_testing()->DisableDelayForTesting(); } diff --git a/chrome/browser/chromeos/drive/file_system/operation_test_base.cc b/chrome/browser/chromeos/drive/file_system/operation_test_base.cc index 146a499..ac52252 100644 --- a/chrome/browser/chromeos/drive/file_system/operation_test_base.cc +++ b/chrome/browser/chromeos/drive/file_system/operation_test_base.cc @@ -13,6 +13,7 @@ #include "chrome/browser/chromeos/drive/job_scheduler.h" #include "chrome/browser/chromeos/drive/resource_metadata.h" #include "chrome/browser/chromeos/drive/test_util.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/drive/fake_drive_service.h" #include "content/public/browser/browser_thread.h" #include "google_apis/drive/test_util.h" @@ -62,6 +63,8 @@ void OperationTestBase::SetUp() { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); + logger_.reset(new EventLogger); + fake_drive_service_.reset(new FakeDriveService); fake_drive_service_->LoadResourceListForWapi( "gdata/root_feed.json"); @@ -70,6 +73,7 @@ void OperationTestBase::SetUp() { scheduler_.reset(new JobScheduler( pref_service_.get(), + logger_.get(), fake_drive_service_.get(), blocking_task_runner_.get())); @@ -116,6 +120,7 @@ void OperationTestBase::SetUp() { // Makes sure the FakeDriveService's content is loaded to the metadata_. loader_controller_.reset(new internal::LoaderController); change_list_loader_.reset(new internal::ChangeListLoader( + logger_.get(), blocking_task_runner_.get(), metadata_.get(), scheduler_.get(), diff --git a/chrome/browser/chromeos/drive/file_system/operation_test_base.h b/chrome/browser/chromeos/drive/file_system/operation_test_base.h index ae7550d..cdf73df 100644 --- a/chrome/browser/chromeos/drive/file_system/operation_test_base.h +++ b/chrome/browser/chromeos/drive/file_system/operation_test_base.h @@ -23,6 +23,7 @@ class SequencedTaskRunner; namespace drive { +class EventLogger; class FakeDriveService; class FakeFreeDiskSpaceGetter; class JobScheduler; @@ -108,6 +109,7 @@ class OperationTestBase : public testing::Test { FakeDriveService* fake_service() { return fake_drive_service_.get(); } + EventLogger* logger() { return logger_.get(); } LoggingObserver* observer() { return &observer_; } JobScheduler* scheduler() { return scheduler_.get(); } base::SequencedTaskRunner* blocking_task_runner() { @@ -132,6 +134,7 @@ class OperationTestBase : public testing::Test { base::ScopedTempDir temp_dir_; LoggingObserver observer_; + scoped_ptr<EventLogger> logger_; scoped_ptr<FakeDriveService> fake_drive_service_; scoped_ptr<JobScheduler> scheduler_; scoped_ptr<internal::ResourceMetadataStorage, diff --git a/chrome/browser/chromeos/drive/file_system_unittest.cc b/chrome/browser/chromeos/drive/file_system_unittest.cc index b642092..8a86b65 100644 --- a/chrome/browser/chromeos/drive/file_system_unittest.cc +++ b/chrome/browser/chromeos/drive/file_system_unittest.cc @@ -23,6 +23,7 @@ #include "chrome/browser/chromeos/drive/job_scheduler.h" #include "chrome/browser/chromeos/drive/sync_client.h" #include "chrome/browser/chromeos/drive/test_util.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/drive/fake_drive_service.h" #include "content/public/test/test_browser_thread_bundle.h" #include "google_apis/drive/drive_api_parser.h" @@ -80,6 +81,7 @@ class FileSystemTest : public testing::Test { pref_service_.reset(new TestingPrefServiceSimple); test_util::RegisterDrivePrefs(pref_service_->registry()); + logger_.reset(new EventLogger); fake_drive_service_.reset(new FakeDriveService); fake_drive_service_->LoadResourceListForWapi( "gdata/root_feed.json"); @@ -89,6 +91,7 @@ class FileSystemTest : public testing::Test { fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); scheduler_.reset(new JobScheduler(pref_service_.get(), + logger_.get(), fake_drive_service_.get(), base::MessageLoopProxy::current().get())); @@ -121,6 +124,7 @@ class FileSystemTest : public testing::Test { ASSERT_TRUE(base::CreateDirectory(temp_file_dir)); file_system_.reset(new FileSystem( pref_service_.get(), + logger_.get(), cache_.get(), fake_drive_service_.get(), scheduler_.get(), @@ -273,6 +277,7 @@ class FileSystemTest : public testing::Test { // dependencies to Profile in general. scoped_ptr<TestingPrefServiceSimple> pref_service_; + scoped_ptr<EventLogger> logger_; scoped_ptr<FakeDriveService> fake_drive_service_; scoped_ptr<FakeFreeDiskSpaceGetter> fake_free_disk_space_getter_; scoped_ptr<JobScheduler> scheduler_; diff --git a/chrome/browser/chromeos/drive/file_write_watcher.cc b/chrome/browser/chromeos/drive/file_write_watcher.cc index 8c658d6..0affb5f 100644 --- a/chrome/browser/chromeos/drive/file_write_watcher.cc +++ b/chrome/browser/chromeos/drive/file_write_watcher.cc @@ -12,7 +12,6 @@ #include "base/files/file_path_watcher.h" #include "base/stl_util.h" #include "base/timer/timer.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "content/public/browser/browser_thread.h" #include "google_apis/drive/task_util.h" @@ -127,8 +126,6 @@ void FileWriteWatcher::FileWriteWatcherImpl::StartWatchOnFileThread( const StartWatchCallback& on_start_callback, const base::Closure& on_write_callback) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - util::Log(logging::LOG_INFO, "Started watching modification to %s.", - path.AsUTF8Unsafe().c_str()); std::map<base::FilePath, PathWatchInfo*>::iterator it = watchers_.find(path); if (it != watchers_.end()) { @@ -153,8 +150,6 @@ void FileWriteWatcher::FileWriteWatcherImpl::OnWriteEvent( const base::FilePath& path, bool error) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - util::Log(logging::LOG_INFO, "Detected modification to %s.", - path.AsUTF8Unsafe().c_str()); if (error) return; @@ -176,8 +171,6 @@ void FileWriteWatcher::FileWriteWatcherImpl::OnWriteEvent( void FileWriteWatcher::FileWriteWatcherImpl::InvokeCallback( const base::FilePath& path) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - util::Log(logging::LOG_INFO, "Finished watching modification to %s.", - path.AsUTF8Unsafe().c_str()); std::map<base::FilePath, PathWatchInfo*>::iterator it = watchers_.find(path); DCHECK(it != watchers_.end()); diff --git a/chrome/browser/chromeos/drive/job_scheduler.cc b/chrome/browser/chromeos/drive/job_scheduler.cc index 3163d56..2ca1504 100644 --- a/chrome/browser/chromeos/drive/job_scheduler.cc +++ b/chrome/browser/chromeos/drive/job_scheduler.cc @@ -10,7 +10,7 @@ #include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h" #include "chrome/browser/chromeos/drive/file_system_util.h" -#include "chrome/browser/chromeos/drive/logging.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/common/pref_names.h" #include "content/public/browser/browser_thread.h" #include "google_apis/drive/drive_api_parser.h" @@ -161,11 +161,13 @@ struct JobScheduler::ResumeUploadParams { JobScheduler::JobScheduler( PrefService* pref_service, + EventLogger* logger, DriveServiceInterface* drive_service, base::SequencedTaskRunner* blocking_task_runner) : throttle_count_(0), wait_until_(base::Time::Now()), disable_throttling_(false), + logger_(logger), drive_service_(drive_service), uploader_(new DriveUploader(drive_service, blocking_task_runner)), pref_service_(pref_service), @@ -791,11 +793,11 @@ void JobScheduler::QueueJob(JobID job_id) { const std::string retry_prefix = job_entry->retry_count > 0 ? base::StringPrintf(" (retry %d)", job_entry->retry_count) : ""; - util::Log(logging::LOG_INFO, - "Job queued%s: %s - %s", - retry_prefix.c_str(), - job_info.ToString().c_str(), - GetQueueInfo(queue_type).c_str()); + logger_->Log(logging::LOG_INFO, + "Job queued%s: %s - %s", + retry_prefix.c_str(), + job_info.ToString().c_str(), + GetQueueInfo(queue_type).c_str()); } void JobScheduler::DoJobLoop(QueueType queue_type) { @@ -843,10 +845,10 @@ void JobScheduler::DoJobLoop(QueueType queue_type) { UpdateWait(); - util::Log(logging::LOG_INFO, - "Job started: %s - %s", - job_info->ToString().c_str(), - GetQueueInfo(queue_type).c_str()); + logger_->Log(logging::LOG_INFO, + "Job started: %s - %s", + job_info->ToString().c_str(), + GetQueueInfo(queue_type).c_str()); } int JobScheduler::GetCurrentAcceptedPriority(QueueType queue_type) { @@ -900,12 +902,12 @@ bool JobScheduler::OnJobDone(JobID job_id, google_apis::GDataErrorCode error) { const base::TimeDelta elapsed = base::Time::Now() - job_info->start_time; bool success = (GDataToFileError(error) == FILE_ERROR_OK); - util::Log(success ? logging::LOG_INFO : logging::LOG_WARNING, - "Job done: %s => %s (elapsed time: %sms) - %s", - job_info->ToString().c_str(), - GDataErrorCodeToString(error).c_str(), - base::Int64ToString(elapsed.InMilliseconds()).c_str(), - GetQueueInfo(queue_type).c_str()); + logger_->Log(success ? logging::LOG_INFO : logging::LOG_WARNING, + "Job done: %s => %s (elapsed time: %sms) - %s", + job_info->ToString().c_str(), + GDataErrorCodeToString(error).c_str(), + base::Int64ToString(elapsed.InMilliseconds()).c_str(), + GetQueueInfo(queue_type).c_str()); // Retry, depending on the error. const bool is_server_error = @@ -1149,12 +1151,12 @@ void JobScheduler::AbortNotRunningJob(JobEntry* job, const base::TimeDelta elapsed = base::Time::Now() - job->job_info.start_time; const QueueType queue_type = GetJobQueueType(job->job_info.job_type); - util::Log(logging::LOG_INFO, - "Job aborted: %s => %s (elapsed time: %sms) - %s", - job->job_info.ToString().c_str(), - GDataErrorCodeToString(error).c_str(), - base::Int64ToString(elapsed.InMilliseconds()).c_str(), - GetQueueInfo(queue_type).c_str()); + logger_->Log(logging::LOG_INFO, + "Job aborted: %s => %s (elapsed time: %sms) - %s", + job->job_info.ToString().c_str(), + GDataErrorCodeToString(error).c_str(), + base::Int64ToString(elapsed.InMilliseconds()).c_str(), + GetQueueInfo(queue_type).c_str()); base::Callback<void(google_apis::GDataErrorCode)> callback = job->abort_callback; diff --git a/chrome/browser/chromeos/drive/job_scheduler.h b/chrome/browser/chromeos/drive/job_scheduler.h index 81cf003..f564480 100644 --- a/chrome/browser/chromeos/drive/job_scheduler.h +++ b/chrome/browser/chromeos/drive/job_scheduler.h @@ -25,6 +25,8 @@ class SeqencedTaskRunner; namespace drive { +class EventLogger; + // The JobScheduler is responsible for queuing and scheduling drive jobs. // Because jobs are executed concurrently by priority and retried for network // failures, there is no guarantee of orderings. @@ -49,6 +51,7 @@ class JobScheduler public JobListInterface { public: JobScheduler(PrefService* pref_service, + EventLogger* logger, DriveServiceInterface* drive_service, base::SequencedTaskRunner* blocking_task_runner); virtual ~JobScheduler(); @@ -385,6 +388,7 @@ class JobScheduler // The list of observers for the scheduler. ObserverList<JobListObserver> observer_list_; + EventLogger* logger_; DriveServiceInterface* drive_service_; scoped_ptr<DriveUploaderInterface> uploader_; diff --git a/chrome/browser/chromeos/drive/job_scheduler_unittest.cc b/chrome/browser/chromeos/drive/job_scheduler_unittest.cc index c1b123c..6334d68 100644 --- a/chrome/browser/chromeos/drive/job_scheduler_unittest.cc +++ b/chrome/browser/chromeos/drive/job_scheduler_unittest.cc @@ -14,6 +14,7 @@ #include "base/stl_util.h" #include "base/strings/stringprintf.h" #include "chrome/browser/chromeos/drive/test_util.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/drive/fake_drive_service.h" #include "chrome/common/pref_names.h" #include "content/public/test/test_browser_thread_bundle.h" @@ -135,6 +136,8 @@ class JobSchedulerTest : public testing::Test { fake_network_change_notifier_.reset( new test_util::FakeNetworkChangeNotifier); + logger_.reset(new EventLogger); + fake_drive_service_.reset(new CancelTestableFakeDriveService); fake_drive_service_->LoadResourceListForWapi( "gdata/root_feed.json"); @@ -144,6 +147,7 @@ class JobSchedulerTest : public testing::Test { "drive/applist.json"); scheduler_.reset(new JobScheduler(pref_service_.get(), + logger_.get(), fake_drive_service_.get(), base::MessageLoopProxy::current().get())); scheduler_->SetDisableThrottling(true); @@ -184,6 +188,7 @@ class JobSchedulerTest : public testing::Test { scoped_ptr<TestingPrefServiceSimple> pref_service_; scoped_ptr<test_util::FakeNetworkChangeNotifier> fake_network_change_notifier_; + scoped_ptr<EventLogger> logger_; scoped_ptr<CancelTestableFakeDriveService> fake_drive_service_; scoped_ptr<JobScheduler> scheduler_; }; diff --git a/chrome/browser/chromeos/drive/logging.cc b/chrome/browser/chromeos/drive/logging.cc deleted file mode 100644 index b939c46..0000000 --- a/chrome/browser/chromeos/drive/logging.cc +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/chromeos/drive/logging.h" - -#include <stdarg.h> // va_list -#include <string> - -#include "base/lazy_instance.h" -#include "base/strings/stringprintf.h" -#include "chrome/browser/drive/event_logger.h" - -namespace drive { -namespace util { -namespace { - -static base::LazyInstance<EventLogger> g_logger = - LAZY_INSTANCE_INITIALIZER; - -} // namespace - -void Log(logging::LogSeverity severity, const char* format, ...) { - std::string what; - - va_list args; - va_start(args, format); - base::StringAppendV(&what, format, args); - va_end(args); - - DVLOG(1) << what; - - // On thread-safety: LazyInstance guarantees thread-safety for the object - // creation. EventLogger::Log() internally maintains the lock. - EventLogger* ptr = g_logger.Pointer(); - ptr->Log(severity, what); -} - -std::vector<EventLogger::Event> GetLogHistory() { - EventLogger* ptr = g_logger.Pointer(); - return ptr->GetHistory(); -} - -} // namespace util -} // namespace drive diff --git a/chrome/browser/chromeos/drive/logging.h b/chrome/browser/chromeos/drive/logging.h deleted file mode 100644 index 473478a..0000000 --- a/chrome/browser/chromeos/drive/logging.h +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_CHROMEOS_DRIVE_LOGGING_H_ -#define CHROME_BROWSER_CHROMEOS_DRIVE_LOGGING_H_ - -#include <vector> - -#include "chrome/browser/drive/event_logger.h" - -namespace drive { -// Originally wanted to use 'logging' here, but it conflicts with -// base/logging.h, and breaks DCHECK() and friends. -namespace util { - -// Logs a message using printf format. -// This function can be called from any thread. -void Log( - logging::LogSeverity severity, const char* format, ...) PRINTF_FORMAT(2, 3); - -// Returns the log history. -// This function can be called from any thread. -std::vector<EventLogger::Event> GetLogHistory(); - -} // namespace util -} // namespace drive - -#endif // CHROME_BROWSER_CHROMEOS_DRIVE_LOGGING_H_ diff --git a/chrome/browser/chromeos/drive/sync_client_unittest.cc b/chrome/browser/chromeos/drive/sync_client_unittest.cc index e9e55c6..b36411d 100644 --- a/chrome/browser/chromeos/drive/sync_client_unittest.cc +++ b/chrome/browser/chromeos/drive/sync_client_unittest.cc @@ -23,6 +23,7 @@ #include "chrome/browser/chromeos/drive/resource_entry_conversion.h" #include "chrome/browser/chromeos/drive/resource_metadata.h" #include "chrome/browser/chromeos/drive/test_util.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/drive/fake_drive_service.h" #include "content/public/test/test_browser_thread_bundle.h" #include "google_apis/drive/test_util.h" @@ -112,12 +113,15 @@ class SyncClientTest : public testing::Test { fake_network_change_notifier_.reset( new test_util::FakeNetworkChangeNotifier); + logger_.reset(new EventLogger); + drive_service_.reset(new SyncClientTestDriveService); drive_service_->LoadResourceListForWapi("gdata/empty_feed.json"); drive_service_->LoadAccountMetadataForWapi( "gdata/account_metadata.json"); scheduler_.reset(new JobScheduler(pref_service_.get(), + logger_.get(), drive_service_.get(), base::MessageLoopProxy::current().get())); @@ -137,6 +141,7 @@ class SyncClientTest : public testing::Test { loader_controller_.reset(new LoaderController); change_list_loader_.reset(new ChangeListLoader( + logger_.get(), base::MessageLoopProxy::current().get(), metadata_.get(), scheduler_.get(), @@ -252,6 +257,7 @@ class SyncClientTest : public testing::Test { scoped_ptr<TestingPrefServiceSimple> pref_service_; scoped_ptr<test_util::FakeNetworkChangeNotifier> fake_network_change_notifier_; + scoped_ptr<EventLogger> logger_; scoped_ptr<SyncClientTestDriveService> drive_service_; DummyOperationObserver observer_; scoped_ptr<JobScheduler> scheduler_; diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_base.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_base.cc index 808985d..d5a1ad9 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_base.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_base.cc @@ -5,7 +5,8 @@ #include "chrome/browser/chromeos/extensions/file_manager/private_api_base.h" #include "base/strings/string_number_conversions.h" -#include "chrome/browser/chromeos/drive/logging.h" +#include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h" +#include "chrome/browser/drive/event_logger.h" namespace extensions { namespace { @@ -23,23 +24,25 @@ LoggedAsyncExtensionFunction::~LoggedAsyncExtensionFunction() { } void LoggedAsyncExtensionFunction::SendResponse(bool success) { - int64 elapsed = (base::Time::Now() - start_time_).InMilliseconds(); - if (log_on_completion_) { - drive::util::Log(logging::LOG_INFO, - "%s[%d] %s. (elapsed time: %sms)", - name().c_str(), - request_id(), - success ? "succeeded" : "failed", - base::Int64ToString(elapsed).c_str()); - } else if (elapsed >= kSlowOperationThresholdMs) { - drive::util::Log( - logging::LOG_WARNING, - "PEFORMANCE WARNING: %s[%d] was slow. (elapsed time: %sms)", - name().c_str(), - request_id(), - base::Int64ToString(elapsed).c_str()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) { + int64 elapsed = (base::Time::Now() - start_time_).InMilliseconds(); + if (log_on_completion_) { + logger->Log(logging::LOG_INFO, + "%s[%d] %s. (elapsed time: %sms)", + name().c_str(), + request_id(), + success ? "succeeded" : "failed", + base::Int64ToString(elapsed).c_str()); + } else if (elapsed >= kSlowOperationThresholdMs) { + logger->Log( + logging::LOG_WARNING, + "PEFORMANCE WARNING: %s[%d] was slow. (elapsed time: %sms)", + name().c_str(), + request_id(), + base::Int64ToString(elapsed).c_str()); + } } - ChromeAsyncExtensionFunction::SendResponse(success); } diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc index e1dda35..f8d18b0 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc @@ -5,13 +5,13 @@ #include "chrome/browser/chromeos/extensions/file_manager/private_api_drive.h" #include "chrome/browser/chromeos/drive/drive_integration_service.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h" #include "chrome/browser/chromeos/file_manager/file_tasks.h" #include "chrome/browser/chromeos/file_manager/fileapi_util.h" #include "chrome/browser/chromeos/file_manager/url_util.h" #include "chrome/browser/chromeos/fileapi/file_system_backend.h" #include "chrome/browser/drive/drive_app_registry.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/extensions/api/file_browser_private.h" #include "content/public/browser/browser_thread.h" @@ -420,13 +420,16 @@ bool FileBrowserPrivateSearchDriveMetadataFunction::RunImpl() { const scoped_ptr<Params> params(Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params); - drive::util::Log(logging::LOG_INFO, - "%s[%d] called. (types: '%s', maxResults: '%d')", - name().c_str(), - request_id(), - api::file_browser_private::ToString( - params->search_params.types).c_str(), - params->search_params.max_results); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) { + logger->Log(logging::LOG_INFO, + "%s[%d] called. (types: '%s', maxResults: '%d')", + name().c_str(), + request_id(), + api::file_browser_private::ToString( + params->search_params.types).c_str(), + params->search_params.max_results); + } set_log_on_completion(true); drive::FileSystemInterface* const file_system = @@ -533,7 +536,9 @@ bool FileBrowserPrivateGetDriveConnectionStateFunction::RunImpl() { results_ = api::file_browser_private::GetDriveConnectionState::Results:: Create(result); - drive::util::Log(logging::LOG_INFO, "%s succeeded.", name().c_str()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) + logger->Log(logging::LOG_INFO, "%s succeeded.", name().c_str()); return true; } diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc index 56cf062..798b997 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc @@ -11,11 +11,11 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/drive/file_system_util.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h" #include "chrome/browser/chromeos/file_manager/app_installer.h" #include "chrome/browser/chromeos/login/user_manager.h" #include "chrome/browser/chromeos/settings/cros_settings.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/lifetime/application_lifetime.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_info_util.h" @@ -129,7 +129,9 @@ bool FileBrowserPrivateGetPreferencesFunction::RunImpl() { SetResult(result.ToValue().release()); - drive::util::Log(logging::LOG_INFO, "%s succeeded.", name().c_str()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) + logger->Log(logging::LOG_INFO, "%s succeeded.", name().c_str()); return true; } @@ -148,7 +150,9 @@ bool FileBrowserPrivateSetPreferencesFunction::RunImpl() { service->SetBoolean(prefs::kDisableDriveHostedFiles, *params->change_info.hosted_files_disabled); - drive::util::Log(logging::LOG_INFO, "%s succeeded.", name().c_str()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) + logger->Log(logging::LOG_INFO, "%s succeeded.", name().c_str()); return true; } @@ -275,15 +279,20 @@ bool FileBrowserPrivateInstallWebstoreItemFunction::RunImpl() { void FileBrowserPrivateInstallWebstoreItemFunction::OnInstallComplete( bool success, const std::string& error) { + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); if (success) { - drive::util::Log(logging::LOG_INFO, - "App install succeeded. (item id: %s)", - webstore_item_id_.c_str()); + if (logger) { + logger->Log(logging::LOG_INFO, + "App install succeeded. (item id: %s)", + webstore_item_id_.c_str()); + } } else { - drive::util::Log(logging::LOG_ERROR, - "App install failed. (item id: %s, reason: %s)", - webstore_item_id_.c_str(), - error.c_str()); + if (logger) { + logger->Log(logging::LOG_ERROR, + "App install failed. (item id: %s, reason: %s)", + webstore_item_id_.c_str(), + error.c_str()); + } SetError(error); } @@ -308,9 +317,12 @@ bool FileBrowserPrivateRequestWebStoreAccessTokenFunction::RunImpl() { g_browser_process->system_request_context(); if (!oauth_service) { - drive::util::Log(logging::LOG_ERROR, - "CWS OAuth token fetch failed. OAuth2TokenService can't " - "be retrived."); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) { + logger->Log(logging::LOG_ERROR, + "CWS OAuth token fetch failed. OAuth2TokenService can't " + "be retrived."); + } SetResult(base::Value::CreateNullValue()); return false; } @@ -333,17 +345,21 @@ bool FileBrowserPrivateRequestWebStoreAccessTokenFunction::RunImpl() { void FileBrowserPrivateRequestWebStoreAccessTokenFunction::OnAccessTokenFetched( google_apis::GDataErrorCode code, const std::string& access_token) { + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (code == google_apis::HTTP_SUCCESS) { DCHECK(auth_service_->HasAccessToken()); DCHECK(access_token == auth_service_->access_token()); - drive::util::Log(logging::LOG_INFO, - "CWS OAuth token fetch succeeded."); + if (logger) + logger->Log(logging::LOG_INFO, "CWS OAuth token fetch succeeded."); SetResult(new base::StringValue(access_token)); SendResponse(true); } else { - drive::util::Log(logging::LOG_ERROR, - "CWS OAuth token fetch failed. (GDataErrorCode: %s)", - google_apis::GDataErrorCodeToString(code).c_str()); + if (logger) { + logger->Log(logging::LOG_ERROR, + "CWS OAuth token fetch failed. (GDataErrorCode: %s)", + google_apis::GDataErrorCodeToString(code).c_str()); + } SetResult(base::Value::CreateNullValue()); SendResponse(false); } diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc index c22bdf2..4d2ae46 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc @@ -7,10 +7,10 @@ #include "base/format_macros.h" #include "chrome/browser/chromeos/drive/file_system_interface.h" #include "chrome/browser/chromeos/drive/file_system_util.h" -#include "chrome/browser/chromeos/drive/logging.h" #include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h" #include "chrome/browser/chromeos/file_manager/fileapi_util.h" #include "chrome/browser/chromeos/file_manager/volume_manager.h" +#include "chrome/browser/drive/event_logger.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/extensions/api/file_browser_private.h" #include "chromeos/disks/disk_mount_manager.h" @@ -28,11 +28,14 @@ bool FileBrowserPrivateAddMountFunction::RunImpl() { const scoped_ptr<Params> params(Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params); - drive::util::Log(logging::LOG_INFO, - "%s[%d] called. (source: '%s')", - name().c_str(), - request_id(), - params->source.empty() ? "(none)" : params->source.c_str()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) { + logger->Log(logging::LOG_INFO, + "%s[%d] called. (source: '%s')", + name().c_str(), + request_id(), + params->source.empty() ? "(none)" : params->source.c_str()); + } set_log_on_completion(true); const base::FilePath path = file_manager::util::GetLocalPathFromURL( @@ -89,11 +92,14 @@ bool FileBrowserPrivateRemoveMountFunction::RunImpl() { const scoped_ptr<Params> params(Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params); - drive::util::Log(logging::LOG_INFO, - "%s[%d] called. (veolume_id: '%s')", - name().c_str(), - request_id(), - params->volume_id.c_str()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) { + logger->Log(logging::LOG_INFO, + "%s[%d] called. (volume_id: '%s')", + name().c_str(), + request_id(), + params->volume_id.c_str()); + } set_log_on_completion(true); using file_manager::VolumeManager; @@ -138,10 +144,13 @@ bool FileBrowserPrivateGetVolumeMetadataListFunction::RunImpl() { log_string += volume_info_list[i].mount_path.AsUTF8Unsafe(); } - drive::util::Log( - logging::LOG_INFO, - "%s[%d] succeeded. (results: '[%s]', %" PRIuS " mount points)", - name().c_str(), request_id(), log_string.c_str(), result.size()); + drive::EventLogger* logger = file_manager::util::GetLogger(GetProfile()); + if (logger) { + logger->Log(logging::LOG_INFO, + "%s[%d] succeeded. (results: '[%s]', %" PRIuS " mount points)", + name().c_str(), request_id(), log_string.c_str(), + result.size()); + } results_ = file_browser_private::GetVolumeMetadataList::Results::Create(result); diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_util.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_util.cc index 98e5c8f1a..ec48edf 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_util.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_util.cc @@ -9,6 +9,7 @@ #include "base/files/file_path.h" #include "base/message_loop/message_loop.h" #include "chrome/browser/chromeos/drive/drive.pb.h" +#include "chrome/browser/chromeos/drive/drive_integration_service.h" #include "chrome/browser/chromeos/drive/file_errors.h" #include "chrome/browser/chromeos/drive/file_system_interface.h" #include "chrome/browser/chromeos/drive/file_system_util.h" @@ -262,5 +263,12 @@ void GetSelectedFileInfo(content::RenderViewHost* render_view_host, base::Bind(&GetSelectedFileInfoInternal, profile, base::Passed(¶ms))); } +drive::EventLogger* GetLogger(Profile* profile) { + drive::DriveIntegrationService* service = + drive::DriveIntegrationServiceFactory::FindForProfileRegardlessOfStates( + profile); + return service ? service->event_logger() : NULL; +} + } // namespace util } // namespace file_manager diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_util.h b/chrome/browser/chromeos/extensions/file_manager/private_api_util.h index 886fe08..a231dd1 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_util.h +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_util.h @@ -22,6 +22,10 @@ namespace content { class RenderViewHost; } +namespace drive { +class EventLogger; +} + namespace extensions { namespace api { namespace file_browser_private { @@ -84,6 +88,9 @@ void GetSelectedFileInfo(content::RenderViewHost* render_view_host, GetSelectedFileInfoLocalPathOption local_path_option, GetSelectedFileInfoCallback callback); +// Get event logger to chrome://drive-internals page for the |profile|. +drive::EventLogger* GetLogger(Profile* profile); + } // namespace util } // namespace file_manager |