Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: chrome/common/mac/cfbundle_blocker.mm

Issue 17593006: mac: Update clients of scoped_nsobject.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: iwyu, scoped_nsprotocol Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/mac/cfbundle_blocker.h" 5 #include "chrome/common/mac/cfbundle_blocker.h"
6 6
7 #include <CoreFoundation/CoreFoundation.h> 7 #include <CoreFoundation/CoreFoundation.h>
8 #import <Foundation/Foundation.h> 8 #import <Foundation/Foundation.h>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/mac/mac_util.h" 11 #include "base/mac/mac_util.h"
12 #include "base/mac/scoped_cftyperef.h" 12 #include "base/mac/scoped_cftyperef.h"
13 #include "base/mac/scoped_nsautorelease_pool.h" 13 #include "base/mac/scoped_nsautorelease_pool.h"
14 #import "base/memory/scoped_nsobject.h" 14 #import "base/mac/scoped_nsobject.h"
15 #include "base/strings/sys_string_conversions.h" 15 #include "base/strings/sys_string_conversions.h"
16 #include "third_party/mach_override/mach_override.h" 16 #include "third_party/mach_override/mach_override.h"
17 17
18 extern "C" { 18 extern "C" {
19 19
20 // _CFBundleLoadExecutableAndReturnError is the internal implementation that 20 // _CFBundleLoadExecutableAndReturnError is the internal implementation that
21 // results in a dylib being loaded via dlopen. Both CFBundleLoadExecutable and 21 // results in a dylib being loaded via dlopen. Both CFBundleLoadExecutable and
22 // CFBundleLoadExecutableAndReturnError are funneled into this routine. Other 22 // CFBundleLoadExecutableAndReturnError are funneled into this routine. Other
23 // CFBundle functions may also call directly into here, perhaps due to 23 // CFBundle functions may also call directly into here, perhaps due to
24 // inlining their calls to CFBundleLoadExecutable. 24 // inlining their calls to CFBundleLoadExecutable.
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 g_original_underscore_cfbundle_load_executable_and_return_error; 150 g_original_underscore_cfbundle_load_executable_and_return_error;
151 151
152 Boolean ChromeCFBundleLoadExecutableAndReturnError(CFBundleRef bundle, 152 Boolean ChromeCFBundleLoadExecutableAndReturnError(CFBundleRef bundle,
153 Boolean force_global, 153 Boolean force_global,
154 CFErrorRef* error) { 154 CFErrorRef* error) {
155 base::mac::ScopedNSAutoreleasePool autorelease_pool; 155 base::mac::ScopedNSAutoreleasePool autorelease_pool;
156 156
157 DCHECK(g_original_underscore_cfbundle_load_executable_and_return_error); 157 DCHECK(g_original_underscore_cfbundle_load_executable_and_return_error);
158 158
159 base::ScopedCFTypeRef<CFURLRef> url_cf(CFBundleCopyBundleURL(bundle)); 159 base::ScopedCFTypeRef<CFURLRef> url_cf(CFBundleCopyBundleURL(bundle));
160 scoped_nsobject<NSString> path(base::mac::CFToNSCast( 160 base::scoped_nsobject<NSString> path(base::mac::CFToNSCast(
161 CFURLCopyFileSystemPath(url_cf, kCFURLPOSIXPathStyle))); 161 CFURLCopyFileSystemPath(url_cf, kCFURLPOSIXPathStyle)));
162 162
163 NSString* bundle_id = base::mac::CFToNSCast(CFBundleGetIdentifier(bundle)); 163 NSString* bundle_id = base::mac::CFToNSCast(CFBundleGetIdentifier(bundle));
164 164
165 NSDictionary* bundle_dictionary = 165 NSDictionary* bundle_dictionary =
166 base::mac::CFToNSCast(CFBundleGetInfoDictionary(bundle)); 166 base::mac::CFToNSCast(CFBundleGetInfoDictionary(bundle));
167 NSString* version = [bundle_dictionary objectForKey: 167 NSString* version = [bundle_dictionary objectForKey:
168 base::mac::CFToNSCast(kCFBundleVersionKey)]; 168 base::mac::CFToNSCast(kCFBundleVersionKey)];
169 if (![version isKindOfClass:[NSString class]]) { 169 if (![version isKindOfClass:[NSString class]]) {
170 // Deal with pranksters. 170 // Deal with pranksters.
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } 323 }
324 } 324 }
325 325
326 // Nothing matched. 326 // Nothing matched.
327 return false; 327 return false;
328 } 328 }
329 329
330 } // namespace mac 330 } // namespace mac
331 } // namespace common 331 } // namespace common
332 } // namespace chrome 332 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698