ipc/chromium/src/base/mac_util.mm

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 // Copyright (c) 2008 The Chromium Authors. All rights reserved.
     2 // Use of this source code is governed by a BSD-style license that can be
     3 // found in the LICENSE file.
     5 #include "base/mac_util.h"
     7 #include <Carbon/Carbon.h>
     8 #import <Cocoa/Cocoa.h>
    10 #include "base/file_path.h"
    11 #include "base/logging.h"
    12 #include "base/scoped_cftyperef.h"
    13 #include "base/sys_string_conversions.h"
    15 namespace mac_util {
    17 // Adapted from http://developer.apple.com/carbon/tipsandtricks.html#AmIBundled
    18 bool AmIBundled() {
    19   ProcessSerialNumber psn = {0, kCurrentProcess};
    21   FSRef fsref;
    22   if (GetProcessBundleLocation(&psn, &fsref) != noErr)
    23     return false;
    25   FSCatalogInfo info;
    26   if (FSGetCatalogInfo(&fsref, kFSCatInfoNodeFlags, &info,
    27                        NULL, NULL, NULL) != noErr) {
    28     return false;
    29   }
    31   return info.nodeFlags & kFSNodeIsDirectoryMask;
    32 }
    34 }  // namespace mac_util

mercurial