browser/app/macbuild/Contents/Info.plist.in
author Nicholas Nethercote <nnethercote@mozilla.com>
Wed, 12 Jul 2017 15:13:37 +1000
changeset 419917 129793760f2d718ed61ba17d9aacd57c7ec6785b
parent 362734 40764ff2dfd1e1371d742c0dcf64529b72bd2c23
child 421780 db6d7074529469c138e6f8ec361c54d4f203f45c
permissions -rw-r--r--
Bug 1380227 - Avoid many UTF16toUTF8 and UTF8toUTF16 conversions in nsStringBundle. r=emk. Most of the names passed to nsIStringBundle::{Get,Format}StringFromUTF8Name have one of the two following forms: - a 16-bit C string literal, which is then converted to an 8-bit string in order for the lookup to occur; - an 8-bit C string literal converted to a 16-bit string, which is then converted back to an 8-bit string in order for the lookup to occur. This patch introduces and uses alternative methods that can take an 8-bit C string literal, which requires changing some signatures in other methods and functions. It replaces all C++ uses of the old methods. The patch also changes the existing {Get,Format}StringFromName() methods so they take an AUTF8String argument for the name instead of a wstring, because that's nicer for JS code. Even though there is a method for C++ code and a different one for JS code, |binaryname| is used so that the existing method names can be used for the common case in both languages. The change reduces the number of NS_ConvertUTF8toUTF16 and NS_ConvertUTF16toUTF8 conversions while running Speedometer v2 from ~270,000 to ~160,000. (Most of these conversions involved the string "deprecatedReferrerDirective" in nsCSPParser.cpp.)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>html</string>
				<string>htm</string>
				<string>shtml</string>
				<string>xht</string>
				<string>xhtml</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>HTML Document</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>HTML</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>svg</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>image/svg+xml</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>SVG document</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>TEXT</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
			<key>NSDocumentClass</key>
			<string>BrowserDocument</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
			    <string>text</string>
				<string>txt</string>
				<string>js</string>
				<string>log</string>
				<string>css</string>
				<string>xul</string>
				<string>rdf</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Text Document</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>TEXT</string>
				<string>utxt</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>jpeg</string>
				<string>jpg</string>
				<string>png</string>
				<string>gif</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>fileBookmark.icns</string>
			<key>CFBundleTypeName</key>
			<string>document.icns</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>GIFf</string>
				<string>JPEG</string>
				<string>PNGf</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>oga</string>
				<string>ogg</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>audio/ogg</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>HTML5 Audio (Ogg)</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>ogv</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>video/ogg</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>HTML5 Video (Ogg)</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>webm</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>video/webm</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>HTML5 Video (WebM)</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
	</array>
	<key>CFBundleExecutable</key>
	<string>firefox</string>
	<key>CFBundleGetInfoString</key>
	<string>%MAC_APP_NAME% %APP_VERSION%</string>
	<key>CFBundleIconFile</key>
	<string>firefox.icns</string>
	<key>CFBundleIdentifier</key>
	<string>%MOZ_MACBUNDLE_ID%</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>%MAC_APP_NAME%</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>%APP_VERSION%</string>
	<key>CFBundleSignature</key>
	<string>MOZB</string>
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleURLIconFile</key>
			<string>document.icns</string>
			<key>CFBundleURLName</key>
			<string>http URL</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>http</string>
			</array>
		</dict>
		<dict>
			<key>CFBundleURLIconFile</key>
			<string>document.icns</string>
			<key>CFBundleURLName</key>
			<string>https URL</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>https</string>
			</array>
		</dict>
		<dict>
			<key>CFBundleURLName</key>
			<string>ftp URL</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>ftp</string>
			</array>
		</dict>
		<dict>
			<key>CFBundleURLName</key>
			<string>file URL</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>file</string>
			</array>
		</dict>
	</array>
	<key>CFBundleVersion</key>
	<string>%MAC_BUNDLE_VERSION%</string>
	<key>NSAppleScriptEnabled</key>
	<true/>
	<key>LSApplicationCategoryType</key>
	<string>public.app-category.productivity</string>
	<key>LSFileQuarantineEnabled</key>
	<true/>
	<key>LSMinimumSystemVersion</key>
	<string>10.9.0</string>
  <key>NSSupportsAutomaticGraphicsSwitching</key>
  <true/>
  <key>NSPrincipalClass</key>
  <string>GeckoNSApplication</string>
	<key>SMPrivilegedExecutables</key>
	<dict>
		<key>org.mozilla.updater</key>
		<string>identifier "org.mozilla.updater" and ((anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9]) or (anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "43AQ936H96"))</string>
	</dict>
  <key>NSDisablePersistence</key>
  <true/>
</dict>
</plist>