Diff
Modified: trunk/Source/WebCore/ChangeLog (118797 => 118798)
--- trunk/Source/WebCore/ChangeLog 2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/ChangeLog 2012-05-29 16:52:42 UTC (rev 118798)
@@ -1,3 +1,17 @@
+2012-05-29 Alexey Proskuryakov <[email protected]>
+
+ [Mac] Move DefaultFonts.plist to C++ code
+ https://bugs.webkit.org/show_bug.cgi?id=87560
+ <rdar://problem/11466119>
+
+ Reviewed by Dan Bernstein.
+
+ * DerivedSources.make:
+ * Resources/DefaultFonts.plist.in: Removed.
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
+ Instead of having a separate configuration file, just hardcode the settings in C++.
+
2012-05-29 Alexei Filippov <[email protected]>
Web Inspector: Retainers are missing for all objects
Modified: trunk/Source/WebCore/DerivedSources.make (118797 => 118798)
--- trunk/Source/WebCore/DerivedSources.make 2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/DerivedSources.make 2012-05-29 16:52:42 UTC (rev 118798)
@@ -34,7 +34,6 @@
$(WebCore)/Modules/webaudio \
$(WebCore)/Modules/webdatabase \
$(WebCore)/Modules/websockets \
- $(WebCore)/Resources \
$(WebCore)/bindings/generic \
$(WebCore)/bindings/js \
$(WebCore)/bindings/objc \
@@ -669,12 +668,6 @@
ENABLE_ORIENTATION_EVENTS = 0
endif
-all: DefaultFonts.plist
-
-DefaultFonts.plist : DefaultFonts.plist.in
- @echo Pre-processing DefaultFonts.plist...
- $(CC) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" $< > $@
-
else
ifndef ENABLE_DASHBOARD_SUPPORT
Deleted: trunk/Source/WebCore/Resources/DefaultFonts.plist.in (118797 => 118798)
--- trunk/Source/WebCore/Resources/DefaultFonts.plist.in 2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/Resources/DefaultFonts.plist.in 2012-05-29 16:52:42 UTC (rev 118798)
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>hant</key> <!-- Traditional Chinese -->
- <dict>
- <key>monospace</key>
- <string>Heiti TC</string>
- <key>standard</key>
- <string>Apple LiSung</string>
- <key>sans-serif</key>
- <string>Heiti TC</string>
- <key>serif</key>
- <string>Apple LiSung</string>
- </dict>
- <key>hans</key> <!-- Simplified Chinese -->
- <dict>
- <key>monospace</key>
- <string>Heiti SC</string>
- <key>standard</key>
- <string>STSong</string>
- <key>sans-serif</key>
- <string>Heiti SC</string>
- <key>serif</key>
- <string>STSong</string>
- </dict>
- <key>hrkt</key> <!-- Japanese -->
- <dict>
- <key>monospace</key>
- <string>Osaka-Mono</string>
- <key>standard</key>
- <string>Hiragino Mincho ProN</string>
- <key>sans-serif</key>
- <string>Hiragino Kaku Gothic ProN</string>
- <key>serif</key>
- <string>Hiragino Mincho ProN</string>
- </dict>
- <key>hang</key> <!-- Korean -->
- <dict>
- <key>standard</key>
- <string>AppleMyungjo</string>
-#if !defined(BUILDING_ON_SNOW_LEOPARD) && !defined(BUILDING_ON_LION)
- <key>monospace</key>
- <string>Apple SD Gothic Neo</string>
- <key>sans-serif</key>
- <string>Apple SD Gothic Neo</string>
-#else
- <key>monospace</key>
- <string>AppleGothic</string>
- <key>sans-serif</key>
- <string>AppleGothic</string>
-#endif
- <key>serif</key>
- <string>AppleMyungjo</string>
- </dict>
- <key>zyyy</key> <!-- Other scripts (USCRIPT_COMMON) -->
- <dict>
- <key>monospace</key>
- <string>Courier</string>
- <key>standard</key>
- <string>Times</string>
- <key>sans-serif</key>
- <string>Helvetica</string>
- <key>serif</key>
- <string>Times</string>
- </dict>
-</dict>
-</plist>
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (118797 => 118798)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2012-05-29 16:52:42 UTC (rev 118798)
@@ -5918,7 +5918,6 @@
E18256900EF2B02D00933242 /* JSWorkerContext.h in Headers */ = {isa = PBXBuildFile; fileRef = E182568E0EF2B02D00933242 /* JSWorkerContext.h */; };
E18258AC0EF3CD7000933242 /* JSWorkerContextCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18258AB0EF3CD7000933242 /* JSWorkerContextCustom.cpp */; };
E18772F1126E2629003DD586 /* Language.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18772F0126E2629003DD586 /* Language.cpp */; };
- E19582311536099C00B60875 /* DefaultFonts.plist in Resources */ = {isa = PBXBuildFile; fileRef = E19582301536099C00B60875 /* DefaultFonts.plist */; };
E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A1470711102B1500EEC0F3 /* ContainerNodeAlgorithms.h */; };
E1A3162D134BC32D007C9A4F /* WebNSAttributedStringExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
E1A3162E134BC32D007C9A4F /* WebNSAttributedStringExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1A3162C134BC32D007C9A4F /* WebNSAttributedStringExtras.mm */; };
@@ -13103,7 +13102,6 @@
E182568E0EF2B02D00933242 /* JSWorkerContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWorkerContext.h; sourceTree = "<group>"; };
E18258AB0EF3CD7000933242 /* JSWorkerContextCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWorkerContextCustom.cpp; sourceTree = "<group>"; };
E18772F0126E2629003DD586 /* Language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Language.cpp; sourceTree = "<group>"; };
- E19582301536099C00B60875 /* DefaultFonts.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultFonts.plist; sourceTree = "<group>"; };
E1A1470711102B1500EEC0F3 /* ContainerNodeAlgorithms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContainerNodeAlgorithms.h; sourceTree = "<group>"; };
E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNSAttributedStringExtras.h; sourceTree = "<group>"; };
E1A3162C134BC32D007C9A4F /* WebNSAttributedStringExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSAttributedStringExtras.mm; sourceTree = "<group>"; };
@@ -13167,7 +13165,6 @@
E1B4CD2410B322E200BFFD7E /* CredentialStorageMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CredentialStorageMac.mm; sourceTree = "<group>"; };
E1BE512B0CF6C512002EA959 /* XSLTUnicodeSort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTUnicodeSort.cpp; sourceTree = "<group>"; };
E1BE512C0CF6C512002EA959 /* XSLTUnicodeSort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XSLTUnicodeSort.h; sourceTree = "<group>"; };
- E1C2F244153398CE0083F974 /* DefaultFonts.plist.in */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = DefaultFonts.plist.in; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.plist; };
E1C2F2481533A2120083F974 /* SettingsMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SettingsMac.mm; sourceTree = "<group>"; };
E1C362ED0EAF2AA9007410BC /* JSWorkerLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWorkerLocation.h; sourceTree = "<group>"; };
E1C362EE0EAF2AA9007410BC /* JSWorkerLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWorkerLocation.cpp; sourceTree = "<group>"; };
@@ -14010,7 +14007,6 @@
46D4F2460AF97E810035385A /* cellCursor.png */,
46D4F2470AF97E810035385A /* contextMenuCursor.png */,
4614A1FD0B23A8D600446E1C /* copyCursor.png */,
- E1C2F244153398CE0083F974 /* DefaultFonts.plist.in */,
93153BDD141959F400FCF5BE /* deleteButton.png */,
93153BCC1417FBBF00FCF5BE /* [email protected] */,
93153BDF14195A2800FCF5BE /* deleteButtonPressed.png */,
@@ -15190,7 +15186,6 @@
E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */,
6565814709D13043000E61D7 /* CSSValueKeywords.gperf */,
6565814809D13043000E61D7 /* CSSValueKeywords.h */,
- E19582301536099C00B60875 /* DefaultFonts.plist */,
9B3A8871145632F9003AE8F5 /* DOMDOMSettableTokenList.h */,
9766504E144FBFFE00F6BB51 /* EventFactory.cpp */,
970B72A5145008EB00F00A37 /* EventHeaders.h */,
@@ -25095,7 +25090,6 @@
46D4F2490AF97E810035385A /* cellCursor.png in Resources */,
46D4F24A0AF97E810035385A /* contextMenuCursor.png in Resources */,
4614A1FE0B23A8D600446E1C /* copyCursor.png in Resources */,
- E19582311536099C00B60875 /* DefaultFonts.plist in Resources */,
93153BDE141959F400FCF5BE /* deleteButton.png in Resources */,
93153BCD1417FBBF00FCF5BE /* [email protected] in Resources */,
93153BE014195A2800FCF5BE /* deleteButtonPressed.png in Resources */,
Modified: trunk/Source/WebCore/page/mac/SettingsMac.mm (118797 => 118798)
--- trunk/Source/WebCore/page/mac/SettingsMac.mm 2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/page/mac/SettingsMac.mm 2012-05-29 16:52:42 UTC (rev 118798)
@@ -26,87 +26,39 @@
#include "config.h"
#include "Settings.h"
-#include "LocaleToScriptMapping.h"
-#include <wtf/text/CString.h>
-
namespace WebCore {
-static NSDictionary *defaultFontFamilyDictionary()
-{
- static NSDictionary *fontFamilyDictionary;
- if (fontFamilyDictionary)
- return fontFamilyDictionary;
-
- NSBundle *bundle = [NSBundle bundleWithIdentifier:@"com.apple.WebCore"];
-#ifdef BUILDING_ON_LION
- // Temporary workaround for a Safari Webpage Preview Fetcher crash caused by insufficient sandbox permissions.
- if (!bundle)
- return 0;
-#endif
- NSData *fileData = [NSData dataWithContentsOfURL:[bundle URLForResource:@"DefaultFonts" withExtension:@"plist"]];
- if (!fileData)
- FATAL("Could not read font fallback file");
- NSError *error;
- id propertyList = [NSPropertyListSerialization propertyListWithData:fileData options:NSPropertyListImmutable format:0 error:&error];
- if (!propertyList)
- FATAL("Could not parse font fallback property list: %s", [[error description] UTF8String]);
- if (![propertyList isKindOfClass:[NSDictionary class]])
- FATAL("Font fallback file has incorrect format - root object is not a dictionary");
-
- fontFamilyDictionary = static_cast<NSDictionary *>(propertyList);
- CFRetain(fontFamilyDictionary);
- return fontFamilyDictionary;
-}
-
void Settings::initializeDefaultFontFamilies()
{
- DEFINE_STATIC_LOCAL(AtomicString, standardFamily, ("standard"));
- DEFINE_STATIC_LOCAL(AtomicString, monospaceFamily, ("monospace"));
- DEFINE_STATIC_LOCAL(AtomicString, serifFamily, ("serif"));
- DEFINE_STATIC_LOCAL(AtomicString, sansSerifFamily, ("sans-serif"));
- DEFINE_STATIC_LOCAL(AtomicString, cursiveFamily, ("cursive"));
- DEFINE_STATIC_LOCAL(AtomicString, fantasyFamily, ("fantasy"));
- DEFINE_STATIC_LOCAL(AtomicString, pictographFamily, ("pictograph"));
+ setStandardFontFamily("Apple LiSung", USCRIPT_TRADITIONAL_HAN);
+ setFixedFontFamily("Heiti TC", USCRIPT_TRADITIONAL_HAN);
+ setSerifFontFamily("Apple LiSung", USCRIPT_TRADITIONAL_HAN);
+ setSansSerifFontFamily("Heiti TC", USCRIPT_TRADITIONAL_HAN);
- NSDictionary *rootDictionary = defaultFontFamilyDictionary();
- for (NSString *scriptName in rootDictionary) {
- NSDictionary *scriptDictionary = static_cast<NSDictionary *>([rootDictionary objectForKey:scriptName]);
- if (![scriptName isKindOfClass:[NSString class]])
- FATAL("Font fallback file has incorrect format - script name is not a string");
- if (![scriptDictionary isKindOfClass:[NSDictionary class]])
- FATAL("Font fallback file has incorrect format - per-script value is not a dictionary");
+ setStandardFontFamily("STSong", USCRIPT_SIMPLIFIED_HAN);
+ setFixedFontFamily("Heiti SC", USCRIPT_SIMPLIFIED_HAN);
+ setSerifFontFamily("STSong", USCRIPT_SIMPLIFIED_HAN);
+ setSansSerifFontFamily("Heiti SC", USCRIPT_SIMPLIFIED_HAN);
- UScriptCode script = scriptNameToCode(scriptName);
- if (script == USCRIPT_UNKNOWN)
- FATAL("Font fallback file has incorrect format - unknown language code %s", [scriptName UTF8String]);
+ setStandardFontFamily("Hiragino Mincho ProN", USCRIPT_KATAKANA_OR_HIRAGANA);
+ setFixedFontFamily("Osaka-Mono", USCRIPT_KATAKANA_OR_HIRAGANA);
+ setSerifFontFamily("Hiragino Mincho ProN", USCRIPT_KATAKANA_OR_HIRAGANA);
+ setSansSerifFontFamily("Hiragino Kaku Gothic ProN", USCRIPT_KATAKANA_OR_HIRAGANA);
- for (NSString *genericFamilyName in scriptDictionary) {
- NSString *familyName = [scriptDictionary objectForKey:genericFamilyName];
- if (![genericFamilyName isKindOfClass:[NSString class]])
- FATAL("Font fallback file has incorrect format - generic family name is not a string");
- if (![familyName isKindOfClass:[NSString class]])
- FATAL("Font fallback file has incorrect format - font family name is not a string");
+ setStandardFontFamily("AppleMyungjo", USCRIPT_HANGUL);
+#if !defined(BUILDING_ON_SNOW_LEOPARD) && !defined(BUILDING_ON_LION)
+ setFixedFontFamily("Apple SD Gothic Neo", USCRIPT_HANGUL);
+ setSansSerifFontFamily("Apple SD Gothic Neo", USCRIPT_HANGUL);
+#else
+ setFixedFontFamily("AppleGothic", USCRIPT_HANGUL);
+ setSansSerifFontFamily("AppleGothic", USCRIPT_HANGUL);
+#endif
+ setSerifFontFamily("AppleMyungjo", USCRIPT_HANGUL);
- AtomicString genericFamily(genericFamilyName);
-
- if (genericFamily == standardFamily)
- setStandardFontFamily(familyName, script);
- else if (genericFamily == monospaceFamily)
- setFixedFontFamily(familyName, script);
- else if (genericFamily == serifFamily)
- setSerifFontFamily(familyName, script);
- else if (genericFamily == sansSerifFamily)
- setSansSerifFontFamily(familyName, script);
- else if (genericFamily == cursiveFamily)
- setCursiveFontFamily(familyName, script);
- else if (genericFamily == fantasyFamily)
- setFantasyFontFamily(familyName, script);
- else if (genericFamily == pictographFamily)
- setPictographFontFamily(familyName, script);
- else
- FATAL("Font fallback file has incorrect format - unknown font family name %s", [familyName UTF8String]);
- }
- }
+ setStandardFontFamily("Times", USCRIPT_COMMON);
+ setFixedFontFamily("Courier", USCRIPT_COMMON);
+ setSerifFontFamily("Times", USCRIPT_COMMON);
+ setSansSerifFontFamily("Helvetica", USCRIPT_COMMON);
}