diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-02 00:36:37 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-02 00:36:37 +0000 |
commit | eaaa586c2b9cddcfcfb85b36fd62b77659b85113 (patch) | |
tree | 9b1ff05ee27c3190e5b618011633ae9de13de60d /sync | |
parent | 2e68c63c9c078e6f24cac9a02d60da90f82de143 (diff) | |
download | chromium_src-eaaa586c2b9cddcfcfb85b36fd62b77659b85113.zip chromium_src-eaaa586c2b9cddcfcfb85b36fd62b77659b85113.tar.gz chromium_src-eaaa586c2b9cddcfcfb85b36fd62b77659b85113.tar.bz2 |
mac: Don't use |NSHost currentHost|, as it takes 4s per test
Also see http://codereview.chromium.org/7000022
BUG=81634,138570
Review URL: https://chromiumcodereview.appspot.com/10827126
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149543 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync')
-rw-r--r-- | sync/util/get_session_name_mac.mm | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/sync/util/get_session_name_mac.mm b/sync/util/get_session_name_mac.mm index e7d29c4..b8eb25e 100644 --- a/sync/util/get_session_name_mac.mm +++ b/sync/util/get_session_name_mac.mm @@ -4,23 +4,22 @@ #include "sync/util/get_session_name_mac.h" -#import <Foundation/Foundation.h> #import <SystemConfiguration/SCDynamicStoreCopySpecific.h> -#include <sys/sysctl.h> // sysctlbyname() -#include "base/mac/foundation_util.h" -#include "base/mac/mac_util.h" -#include "base/memory/scoped_nsobject.h" -#include "base/string_util.h" -#include "base/sys_info.h" +#include "base/mac/scoped_cftyperef.h" #include "base/sys_string_conversions.h" namespace syncer { namespace internal { std::string GetHardwareModelName() { - NSHost* myHost = [NSHost currentHost]; - return base::SysNSStringToUTF8([myHost localizedName]); + // Do not use NSHost currentHost, as it's very slow. http://crbug.com/138570 + SCDynamicStoreContext context = { 0, NULL, NULL, NULL }; + base::mac::ScopedCFTypeRef<SCDynamicStoreRef> store( + SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("policy_subsystem"), + NULL, &context)); + CFStringRef machine_name = SCDynamicStoreCopyLocalHostName(store.get()); + return base::SysCFStringRefToUTF8(machine_name); } } // namespace internal |