[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