[webkit-changes] cvs commit: WebCore/kwq KWQFontFamily.h
KWQFontFamily.mm
Darin
darin at opensource.apple.com
Tue Nov 29 09:22:17 PST 2005
darin 05/11/29 09:22:17
Modified: . ChangeLog
kwq KWQFontFamily.h KWQFontFamily.mm
Log:
Reviewed by Eric.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5681
font family management can be faster by avoiding NSString/autorelease
* kwq/KWQFontFamily.h: Replace _NSFamily with _CFFamily.
* kwq/KWQFontFamily.mm:
(KWQFontFamily::KWQFontFamily): Ditto.
(KWQFontFamily::operator=): Ditto.
(KWQFontFamily::getNSFamily): More of the same.
(KWQFontFamily::setFamily): Ditto.
Revision Changes Path
1.425 +14 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.424
retrieving revision 1.425
diff -u -r1.424 -r1.425
--- ChangeLog 29 Nov 2005 17:17:27 -0000 1.424
+++ ChangeLog 29 Nov 2005 17:22:12 -0000 1.425
@@ -1,5 +1,19 @@
2005-11-29 Darin Adler <darin at apple.com>
+ Reviewed by Eric.
+
+ - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5681
+ font family management can be faster by avoiding NSString/autorelease
+
+ * kwq/KWQFontFamily.h: Replace _NSFamily with _CFFamily.
+ * kwq/KWQFontFamily.mm:
+ (KWQFontFamily::KWQFontFamily): Ditto.
+ (KWQFontFamily::operator=): Ditto.
+ (KWQFontFamily::getNSFamily): More of the same.
+ (KWQFontFamily::setFamily): Ditto.
+
+2005-11-29 Darin Adler <darin at apple.com>
+
Reviewed by Geoff.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5679
1.7 +1 -1 WebCore/kwq/KWQFontFamily.h
Index: KWQFontFamily.h
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQFontFamily.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- KWQFontFamily.h 3 Oct 2005 21:13:03 -0000 1.6
+++ KWQFontFamily.h 29 Nov 2005 17:22:17 -0000 1.7
@@ -69,7 +69,7 @@
DOM::AtomicString _family;
KWQFontFamily *_next;
int _refCnt;
- mutable NSString *_NSFamily;
+ mutable CFStringRef _CFFamily;
};
1.7 +12 -11 WebCore/kwq/KWQFontFamily.mm
Index: KWQFontFamily.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQFontFamily.mm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- KWQFontFamily.mm 3 Oct 2005 21:13:03 -0000 1.6
+++ KWQFontFamily.mm 29 Nov 2005 17:22:17 -0000 1.7
@@ -33,7 +33,7 @@
KWQFontFamily::KWQFontFamily()
: _next(0)
, _refCnt(0)
- , _NSFamily(0)
+ , _CFFamily(0)
{
}
@@ -41,7 +41,7 @@
: _family(other._family)
, _next(other._next)
, _refCnt(0)
- , _NSFamily(other._NSFamily)
+ , _CFFamily(other._CFFamily)
{
if (_next)
_next->ref();
@@ -55,7 +55,7 @@
_next->deref();
_family = other._family;
_next = other._next;
- _NSFamily = other._NSFamily;
+ _CFFamily = other._CFFamily;
return *this;
}
@@ -74,29 +74,30 @@
NSString *KWQFontFamily::getNSFamily() const
{
- if (!_NSFamily) {
+ if (!_CFFamily) {
if (_family.isEmpty())
- _NSFamily = @"";
+ _CFFamily = CFSTR("");
else {
// Use an immutable copy of the name, but keep a set of
// all family names so we don't end up with too many objects.
static CFMutableDictionaryRef families;
if (families == NULL)
families = CFDictionaryCreateMutable(NULL, 0, &CFDictionaryFamilyKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
- _NSFamily = (NSString *)CFDictionaryGetValue(families, _family.impl());
- if (!_NSFamily) {
- _NSFamily = [NSString stringWithCharacters:(const unichar *)_family.unicode() length:_family.length()];
- CFDictionarySetValue(families, _family.impl(), _NSFamily);
+ _CFFamily = (CFStringRef)CFDictionaryGetValue(families, _family.impl());
+ if (!_CFFamily) {
+ _CFFamily = CFStringCreateWithCharacters(0, (const UniChar *)_family.unicode(), _family.length());
+ CFDictionarySetValue(families, _family.impl(), _CFFamily);
+ CFRelease(_CFFamily);
}
}
}
- return _NSFamily;
+ return (NSString *)_CFFamily;
}
void KWQFontFamily::setFamily(const AtomicString &family)
{
_family = family;
- _NSFamily = nil;
+ _CFFamily = 0;
}
bool KWQFontFamily::operator==(const KWQFontFamily &compareFontFamily) const
More information about the webkit-changes
mailing list