summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-02 00:36:37 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-02 00:36:37 +0000
commiteaaa586c2b9cddcfcfb85b36fd62b77659b85113 (patch)
tree9b1ff05ee27c3190e5b618011633ae9de13de60d /sync
parent2e68c63c9c078e6f24cac9a02d60da90f82de143 (diff)
downloadchromium_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.mm17
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