[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
rjw
rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:57:34 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit a83b761968e3a4d5879dcaf9263f5a6fdc5ee6e5
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Mar 15 23:08:39 2002 +0000
iMore string usage optimizations. Got another 10% or so.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 890a0a5..aab7c25 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,12 @@
+2002-03-15 Richard Williamson <rjw at apple.com>
+
+ More string usage optimizations. Got another 10% or so.
+
+ * src/kdelibs/khtml/css/cssstyleselector.cpp: (checkPseudoState),
+ (khtml::applyRule):
+ * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
+ (RenderText::width):
+
2002-03-15 Darin Adler <darin at apple.com>
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 890a0a5..aab7c25 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,12 @@
+2002-03-15 Richard Williamson <rjw at apple.com>
+
+ More string usage optimizations. Got another 10% or so.
+
+ * src/kdelibs/khtml/css/cssstyleselector.cpp: (checkPseudoState),
+ (khtml::applyRule):
+ * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
+ (RenderText::width):
+
2002-03-15 Darin Adler <darin at apple.com>
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 890a0a5..aab7c25 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,12 @@
+2002-03-15 Richard Williamson <rjw at apple.com>
+
+ More string usage optimizations. Got another 10% or so.
+
+ * src/kdelibs/khtml/css/cssstyleselector.cpp: (checkPseudoState),
+ (khtml::applyRule):
+ * src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth),
+ (RenderText::width):
+
2002-03-15 Darin Adler <darin at apple.com>
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
diff --git a/WebCore/khtml/css/cssstyleselector.cpp b/WebCore/khtml/css/cssstyleselector.cpp
index 2ecc138..33bd853 100644
--- a/WebCore/khtml/css/cssstyleselector.cpp
+++ b/WebCore/khtml/css/cssstyleselector.cpp
@@ -73,6 +73,13 @@ static int usedDynamicStates;
static int selectorDynamicState;
static CSSStyleSelector::Encodedurl *encodedurl;
+#ifdef APPLE_CHANGES
+#define OPTIMIZE_STRING_USAGE
+#ifdef OPTIMIZE_STRING_USAGE
+static CFMutableStringRef reuseableString = 0;
+#endif
+#endif
+
CSSStyleSelector::CSSStyleSelector(DocumentImpl * doc)
{
@@ -456,7 +463,13 @@ static void checkPseudoState( DOM::ElementImpl *e )
pseudoState = PseudoNone;
return;
}
+#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
+ QString u = QString::gstring_toQString(&reuseableString, (UniChar *)(attr.unicode()), attr.length());
+#else
+ // Pseudo elements. We need to check first child here. No dynamic pseudo
+ // elements for the moment
QString u = attr.string();
+#endif
if ( !u.contains("://") ) {
if ( u[0] == '/' )
u = encodedurl->host + u;
@@ -470,13 +483,6 @@ static void checkPseudoState( DOM::ElementImpl *e )
pseudoState = KHTMLFactory::vLinks()->contains( u ) ? PseudoVisited : PseudoLink;
}
-#ifdef APPLE_CHANGES
-#define OPTIMIZE_STRING_USAGE
-#ifdef OPTIMIZE_STRING_USAGE
-static CFMutableStringRef reuseableString = 0;
-#endif
-#endif
-
bool CSSStyleSelector::checkOneSelector(DOM::CSSSelector *sel, DOM::ElementImpl *e)
{
@@ -2178,7 +2184,11 @@ void khtml::applyRule(khtml::RenderStyle *style, DOM::CSSProperty *prop, DOM::El
CSSPrimitiveValueImpl *val = static_cast<CSSPrimitiveValueImpl *>(item);
if(!val->primitiveType() == CSSPrimitiveValue::CSS_STRING) return;
DOMStringImpl *str = val->getStringValue();
+#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
+ QString face = QString::gstring_toQString(&reuseableString, (UniChar *)(str->s), str->l).lower();
+#else
QString face = QConstString(str->s, str->l).string().lower();
+#endif
// a languge tag is often added in braces at the end. Remove it.
face = face.replace(QRegExp(" \\(.*\\)$"), "");
//kdDebug(0) << "searching for face '" << face << "'" << endl;
diff --git a/WebCore/khtml/rendering/render_text.cpp b/WebCore/khtml/rendering/render_text.cpp
index 237dcbe..03b27f2 100644
--- a/WebCore/khtml/rendering/render_text.cpp
+++ b/WebCore/khtml/rendering/render_text.cpp
@@ -43,6 +43,14 @@
#define QT_ALLOC_QCHAR_VEC( N ) (QChar*) new char[ sizeof(QChar)*( N ) ]
#define QT_DELETE_QCHAR_VEC( P ) delete[] ((char*)( P ))
+#ifdef APPLE_CHANGES
+#define OPTIMIZE_STRING_USAGE
+#ifdef OPTIMIZE_STRING_USAGE
+static CFMutableStringRef reuseableString = 0;
+#endif
+#endif
+
+
using namespace khtml;
using namespace DOM;
@@ -659,13 +667,6 @@ void RenderText::print( QPainter *p, int x, int y, int w, int h,
printObject(p, x, y, w, h, tx, ty);
}
-#ifdef APPLE_CHANGES
-#define OPTIMIZE_STRING_USAGE
-#ifdef OPTIMIZE_STRING_USAGE
-static CFMutableStringRef reuseableString = 0;
-#endif
-#endif
-
void RenderText::calcMinMaxWidth()
{
//kdDebug( 6040 ) << "Text::calcMinMaxWidth(): known=" << minMaxKnown() << endl;
@@ -717,11 +718,7 @@ void RenderText::calcMinMaxWidth()
if(currMinWidth > m_minWidth) m_minWidth = currMinWidth;
currMinWidth = 0;
#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
- if (reuseableString == 0)
- reuseableString = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocatorDefault, (UniChar *)(str->s+i+wordlen), wordlen, wordlen, kCFAllocatorDefault);
- else
- CFStringSetExternalCharactersNoCopy (reuseableString, (UniChar *)(str->s+i+wordlen), 1, 1);
- currMaxWidth += _fm._width(reuseableString);
+ currMaxWidth += _fm._width(QString::gstring_toCFString(&reuseableString, (UniChar *)(str->s+i+wordlen), 1));
#else
currMaxWidth += _fm.width( *(str->s+i+wordlen) );
#endif
@@ -902,7 +899,11 @@ unsigned int RenderText::width(unsigned int from, unsigned int len, QFontMetrics
if( len == 1)
w = _fm->width( *(str->s+from) );
else
+#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
+ w = _fm->_width(QString::gstring_toCFString(&reuseableString, (UniChar *)(str->s+from), len));
+#else
w = _fm->width(QConstString(str->s+from, len).string());
+#endif
// ### add margins and support for RTL
diff --git a/WebCore/src/kdelibs/khtml/css/cssstyleselector.cpp b/WebCore/src/kdelibs/khtml/css/cssstyleselector.cpp
index 2ecc138..33bd853 100644
--- a/WebCore/src/kdelibs/khtml/css/cssstyleselector.cpp
+++ b/WebCore/src/kdelibs/khtml/css/cssstyleselector.cpp
@@ -73,6 +73,13 @@ static int usedDynamicStates;
static int selectorDynamicState;
static CSSStyleSelector::Encodedurl *encodedurl;
+#ifdef APPLE_CHANGES
+#define OPTIMIZE_STRING_USAGE
+#ifdef OPTIMIZE_STRING_USAGE
+static CFMutableStringRef reuseableString = 0;
+#endif
+#endif
+
CSSStyleSelector::CSSStyleSelector(DocumentImpl * doc)
{
@@ -456,7 +463,13 @@ static void checkPseudoState( DOM::ElementImpl *e )
pseudoState = PseudoNone;
return;
}
+#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
+ QString u = QString::gstring_toQString(&reuseableString, (UniChar *)(attr.unicode()), attr.length());
+#else
+ // Pseudo elements. We need to check first child here. No dynamic pseudo
+ // elements for the moment
QString u = attr.string();
+#endif
if ( !u.contains("://") ) {
if ( u[0] == '/' )
u = encodedurl->host + u;
@@ -470,13 +483,6 @@ static void checkPseudoState( DOM::ElementImpl *e )
pseudoState = KHTMLFactory::vLinks()->contains( u ) ? PseudoVisited : PseudoLink;
}
-#ifdef APPLE_CHANGES
-#define OPTIMIZE_STRING_USAGE
-#ifdef OPTIMIZE_STRING_USAGE
-static CFMutableStringRef reuseableString = 0;
-#endif
-#endif
-
bool CSSStyleSelector::checkOneSelector(DOM::CSSSelector *sel, DOM::ElementImpl *e)
{
@@ -2178,7 +2184,11 @@ void khtml::applyRule(khtml::RenderStyle *style, DOM::CSSProperty *prop, DOM::El
CSSPrimitiveValueImpl *val = static_cast<CSSPrimitiveValueImpl *>(item);
if(!val->primitiveType() == CSSPrimitiveValue::CSS_STRING) return;
DOMStringImpl *str = val->getStringValue();
+#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
+ QString face = QString::gstring_toQString(&reuseableString, (UniChar *)(str->s), str->l).lower();
+#else
QString face = QConstString(str->s, str->l).string().lower();
+#endif
// a languge tag is often added in braces at the end. Remove it.
face = face.replace(QRegExp(" \\(.*\\)$"), "");
//kdDebug(0) << "searching for face '" << face << "'" << endl;
diff --git a/WebCore/src/kdelibs/khtml/rendering/render_text.cpp b/WebCore/src/kdelibs/khtml/rendering/render_text.cpp
index 237dcbe..03b27f2 100644
--- a/WebCore/src/kdelibs/khtml/rendering/render_text.cpp
+++ b/WebCore/src/kdelibs/khtml/rendering/render_text.cpp
@@ -43,6 +43,14 @@
#define QT_ALLOC_QCHAR_VEC( N ) (QChar*) new char[ sizeof(QChar)*( N ) ]
#define QT_DELETE_QCHAR_VEC( P ) delete[] ((char*)( P ))
+#ifdef APPLE_CHANGES
+#define OPTIMIZE_STRING_USAGE
+#ifdef OPTIMIZE_STRING_USAGE
+static CFMutableStringRef reuseableString = 0;
+#endif
+#endif
+
+
using namespace khtml;
using namespace DOM;
@@ -659,13 +667,6 @@ void RenderText::print( QPainter *p, int x, int y, int w, int h,
printObject(p, x, y, w, h, tx, ty);
}
-#ifdef APPLE_CHANGES
-#define OPTIMIZE_STRING_USAGE
-#ifdef OPTIMIZE_STRING_USAGE
-static CFMutableStringRef reuseableString = 0;
-#endif
-#endif
-
void RenderText::calcMinMaxWidth()
{
//kdDebug( 6040 ) << "Text::calcMinMaxWidth(): known=" << minMaxKnown() << endl;
@@ -717,11 +718,7 @@ void RenderText::calcMinMaxWidth()
if(currMinWidth > m_minWidth) m_minWidth = currMinWidth;
currMinWidth = 0;
#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
- if (reuseableString == 0)
- reuseableString = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocatorDefault, (UniChar *)(str->s+i+wordlen), wordlen, wordlen, kCFAllocatorDefault);
- else
- CFStringSetExternalCharactersNoCopy (reuseableString, (UniChar *)(str->s+i+wordlen), 1, 1);
- currMaxWidth += _fm._width(reuseableString);
+ currMaxWidth += _fm._width(QString::gstring_toCFString(&reuseableString, (UniChar *)(str->s+i+wordlen), 1));
#else
currMaxWidth += _fm.width( *(str->s+i+wordlen) );
#endif
@@ -902,7 +899,11 @@ unsigned int RenderText::width(unsigned int from, unsigned int len, QFontMetrics
if( len == 1)
w = _fm->width( *(str->s+from) );
else
+#if (defined(APPLE_CHANGES) && defined(OPTIMIZE_STRING_USAGE))
+ w = _fm->_width(QString::gstring_toCFString(&reuseableString, (UniChar *)(str->s+from), len));
+#else
w = _fm->width(QConstString(str->s+from, len).string());
+#endif
// ### add margins and support for RTL
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list