121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// Copyright (c) 2010 The Chromium Authors. All rights reserved. 221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// Use of this source code is governed by a BSD-style license that can be 321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// found in the LICENSE file. 421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/diagnostics/diagnostics_test.h" 621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "base/file_path.h" 821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "base/path_service.h" 921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/common/chrome_constants.h" 1021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/common/chrome_paths.h" 1121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenDiagnosticTest::DiagnosticTest(const string16& title) 1321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen : title_(title), result_(DiagnosticsModel::TEST_NOT_RUN) { 1421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 1521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenDiagnosticTest::~DiagnosticTest() { 1721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 1821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool DiagnosticTest::Execute(DiagnosticsModel::Observer* observer, 2021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen DiagnosticsModel* model, 2121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen size_t index) { 2221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen result_ = DiagnosticsModel::TEST_RUNNING; 2321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen observer->OnProgress(index, 0, model); 2421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen bool keep_going = ExecuteImpl(observer); 2521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen observer->OnFinished(index, model); 2621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen return keep_going; 2721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 2821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 2921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenstring16 DiagnosticTest::GetTitle() { 3021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen return title_; 3121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 3221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 3321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenDiagnosticsModel::TestResult DiagnosticTest::GetResult() { 3421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen return result_; 3521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 3621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 3721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenstring16 DiagnosticTest::GetAdditionalInfo() { 3821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen return additional_info_; 3921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 4021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 4121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid DiagnosticTest::RecordOutcome(const string16& additional_info, 4221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen DiagnosticsModel::TestResult result) { 4321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen additional_info_ = additional_info; 4421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen result_ = result; 4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 4621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 4721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static 4821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenFilePath DiagnosticTest::GetUserDefaultProfileDir() { 4921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen FilePath path; 5021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen if (!PathService::Get(chrome::DIR_USER_DATA, &path)) 5121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen return FilePath(); 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return path.AppendASCII(chrome::kNotSignedInProfile); 5321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 54