diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-08 20:53:06 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-08 20:53:06 +0000 |
commit | 08f3ac481ed50bf2975f2dfbd20aefd712450680 (patch) | |
tree | d8960a5e43c87b9a8b69a425f4aaf925405c4656 /chrome/browser/chromeos/cros/cros_library.cc | |
parent | 06c3b84aa5849305e37034e4fce0573d59f48567 (diff) | |
download | chromium_src-08f3ac481ed50bf2975f2dfbd20aefd712450680.zip chromium_src-08f3ac481ed50bf2975f2dfbd20aefd712450680.tar.gz chromium_src-08f3ac481ed50bf2975f2dfbd20aefd712450680.tar.bz2 |
Use new libcros loading api to display better error messages.
Also remove all EnsureLoaded() methods except one.
Review URL: http://codereview.chromium.org/671004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40932 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/cros/cros_library.cc')
-rw-r--r-- | chrome/browser/chromeos/cros/cros_library.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/chrome/browser/chromeos/cros/cros_library.cc b/chrome/browser/chromeos/cros/cros_library.cc index 57e00c0..e99ed18 100644 --- a/chrome/browser/chromeos/cros/cros_library.cc +++ b/chrome/browser/chromeos/cros/cros_library.cc @@ -18,19 +18,23 @@ namespace chromeos { bool CrosLibrary::loaded_ = false; // static +bool CrosLibrary::load_error_ = false; + +// static +std::string CrosLibrary::load_error_string_; + +// static bool CrosLibrary::EnsureLoaded() { - static bool initialized = false; - if (!initialized) { + if (!loaded_ && !load_error_) { FilePath path; if (PathService::Get(chrome::FILE_CHROMEOS_API, &path)) - loaded_ = LoadCros(path.value().c_str()); + loaded_ = LoadLibcros(path.value().c_str(), load_error_string_); if (!loaded_) { - char* error = dlerror(); - if (error) - LOG(ERROR) << "Problem loading chromeos shared object: " << error; + load_error_ = true; + LOG(ERROR) << "Problem loading chromeos shared object: " + << load_error_string_; } - initialized = true; } return loaded_; } |