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

Unified Diff: net/base/platform_mime_util_mac.mm

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/platform_mime_util_linux.cc ('k') | net/base/platform_mime_util_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/platform_mime_util_mac.mm
diff --git a/net/base/platform_mime_util_mac.mm b/net/base/platform_mime_util_mac.mm
deleted file mode 100644
index cf5b2625a5814db59edd2ff1d2edc441157b3584..0000000000000000000000000000000000000000
--- a/net/base/platform_mime_util_mac.mm
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/base/platform_mime_util.h"
-
-#import <Foundation/Foundation.h>
-
-#include <string>
-
-#include "base/mac/foundation_util.h"
-#include "base/mac/scoped_cftyperef.h"
-#include "base/strings/sys_string_conversions.h"
-
-#if defined(OS_IOS)
-#include <MobileCoreServices/MobileCoreServices.h>
-#else
-#include <CoreServices/CoreServices.h>
-#endif // defined(OS_IOS)
-
-#if !defined(OS_IOS)
-// SPI declaration; see the commentary in GetPlatformExtensionsForMimeType.
-// iOS must not use any private API, per Apple guideline.
-
-@interface NSURLFileTypeMappings : NSObject
-+ (NSURLFileTypeMappings*)sharedMappings;
-- (NSArray*)extensionsForMIMEType:(NSString*)mimeType;
-@end
-#endif // !defined(OS_IOS)
-
-namespace net {
-
-bool PlatformMimeUtil::GetPlatformMimeTypeFromExtension(
- const base::FilePath::StringType& ext, std::string* result) const {
- std::string ext_nodot = ext;
- if (ext_nodot.length() >= 1 && ext_nodot[0] == L'.')
- ext_nodot.erase(ext_nodot.begin());
- base::ScopedCFTypeRef<CFStringRef> ext_ref(
- base::SysUTF8ToCFStringRef(ext_nodot));
- if (!ext_ref)
- return false;
- base::ScopedCFTypeRef<CFStringRef> uti(UTTypeCreatePreferredIdentifierForTag(
- kUTTagClassFilenameExtension, ext_ref, NULL));
- if (!uti)
- return false;
- base::ScopedCFTypeRef<CFStringRef> mime_ref(
- UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType));
- if (!mime_ref)
- return false;
-
- *result = base::SysCFStringRefToUTF8(mime_ref);
- return true;
-}
-
-bool PlatformMimeUtil::GetPreferredExtensionForMimeType(
- const std::string& mime_type, base::FilePath::StringType* ext) const {
- base::ScopedCFTypeRef<CFStringRef> mime_ref(
- base::SysUTF8ToCFStringRef(mime_type));
- if (!mime_ref)
- return false;
- base::ScopedCFTypeRef<CFStringRef> uti(UTTypeCreatePreferredIdentifierForTag(
- kUTTagClassMIMEType, mime_ref, NULL));
- if (!uti)
- return false;
- base::ScopedCFTypeRef<CFStringRef> ext_ref(
- UTTypeCopyPreferredTagWithClass(uti, kUTTagClassFilenameExtension));
- if (!ext_ref)
- return false;
-
- *ext = base::SysCFStringRefToUTF8(ext_ref);
- return true;
-}
-
-void PlatformMimeUtil::GetPlatformExtensionsForMimeType(
- const std::string& mime_type,
- base::hash_set<base::FilePath::StringType>* extensions) const {
-#if defined(OS_IOS)
- NSArray* extensions_list = nil;
-#else
- // There is no API for this that uses UTIs. The WebKitSystemInterface call
- // WKGetExtensionsForMIMEType() is a thin wrapper around
- // [[NSURLFileTypeMappings sharedMappings] extensionsForMIMEType:], which is
- // used by Firefox as well.
- //
- // See:
- // http://mxr.mozilla.org/mozilla-central/search?string=extensionsForMIMEType
- // http://www.openradar.me/11384153
- // rdar://11384153
- NSArray* extensions_list =
- [[NSURLFileTypeMappings sharedMappings]
- extensionsForMIMEType:base::SysUTF8ToNSString(mime_type)];
-#endif // defined(OS_IOS)
-
- if (extensions_list) {
- for (NSString* extension in extensions_list)
- extensions->insert(base::SysNSStringToUTF8(extension));
- } else {
- // Huh? Give up.
- base::FilePath::StringType ext;
- if (GetPreferredExtensionForMimeType(mime_type, &ext))
- extensions->insert(ext);
- }
-}
-
-} // namespace net
« no previous file with comments | « net/base/platform_mime_util_linux.cc ('k') | net/base/platform_mime_util_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698