Title: [224825] trunk/Source/WebKit
- Revision
- 224825
- Author
- timothy_hor...@apple.com
- Date
- 2017-11-14 11:43:25 -0800 (Tue, 14 Nov 2017)
Log Message
Don't use -[NSString stringWithFormat:] to build defaults keys
https://bugs.webkit.org/show_bug.cgi?id=179680
Reviewed by Simon Fraser.
* UIProcess/mac/WebPreferencesMac.mm:
(WebKit::makeKey):
(WebKit::debugUserDefaultsValue):
Use string concatenation instead of stringWithFormat to build
preference keys. This wasn't a huge cost, but it shaves a few milliseconds
off process launch.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (224824 => 224825)
--- trunk/Source/WebKit/ChangeLog 2017-11-14 19:40:02 UTC (rev 224824)
+++ trunk/Source/WebKit/ChangeLog 2017-11-14 19:43:25 UTC (rev 224825)
@@ -1,3 +1,17 @@
+2017-11-14 Tim Horton <timothy_hor...@apple.com>
+
+ Don't use -[NSString stringWithFormat:] to build defaults keys
+ https://bugs.webkit.org/show_bug.cgi?id=179680
+
+ Reviewed by Simon Fraser.
+
+ * UIProcess/mac/WebPreferencesMac.mm:
+ (WebKit::makeKey):
+ (WebKit::debugUserDefaultsValue):
+ Use string concatenation instead of stringWithFormat to build
+ preference keys. This wasn't a huge cost, but it shaves a few milliseconds
+ off process launch.
+
2017-11-14 Alex Christensen <achristen...@webkit.org>
Clean up old URL parser remnants
Modified: trunk/Source/WebKit/UIProcess/mac/WebPreferencesMac.mm (224824 => 224825)
--- trunk/Source/WebKit/UIProcess/mac/WebPreferencesMac.mm 2017-11-14 19:40:02 UTC (rev 224824)
+++ trunk/Source/WebKit/UIProcess/mac/WebPreferencesMac.mm 2017-11-14 19:43:25 UTC (rev 224825)
@@ -32,13 +32,10 @@
namespace WebKit {
-static inline NSString* makeKey(NSString *identifier, NSString *keyPrefix, NSString *key)
+static inline NSString *makeKey(const String& identifier, const String& keyPrefix, const String& key)
{
- ASSERT(identifier.length);
- ASSERT(keyPrefix);
- ASSERT(key);
-
- return [NSString stringWithFormat:@"%@%@%@", identifier, keyPrefix, key];
+ ASSERT(!identifier.isEmpty());
+ return String(identifier + keyPrefix + key);
}
bool WebPreferences::platformGetStringUserValueForKey(const String& key, String& userValue)
@@ -101,16 +98,13 @@
return true;
}
-static id debugUserDefaultsValue(NSString *identifier, NSString *keyPrefix, NSString *globalDebugKeyPrefix, NSString *key)
+static id debugUserDefaultsValue(const String& identifier, const String& keyPrefix, const String& globalDebugKeyPrefix, const String& key)
{
- ASSERT(keyPrefix);
- ASSERT(key);
-
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
id object = nil;
- if (identifier.length)
- object = [standardUserDefaults objectForKey:[NSString stringWithFormat:@"%@%@%@", identifier, keyPrefix, key]];
+ if (!identifier.isEmpty())
+ object = [standardUserDefaults objectForKey:makeKey(identifier, keyPrefix, key)];
if (!object) {
// Allow debug preferences to be set globally, using the debug key prefix.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes