summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/cros/cros_library.cc
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-08 20:53:06 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-08 20:53:06 +0000
commit08f3ac481ed50bf2975f2dfbd20aefd712450680 (patch)
treed8960a5e43c87b9a8b69a425f4aaf925405c4656 /chrome/browser/chromeos/cros/cros_library.cc
parent06c3b84aa5849305e37034e4fce0573d59f48567 (diff)
downloadchromium_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.cc18
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_;
}