[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 07:21:16 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 5b973737e15743c1f7453f32d8ecf736a4685c98
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 23 01:28:14 2003 +0000

    WebCore
            Fix 3119777 (and a host of other international bugs).  Word break
            was broken.  Use unicode services to detect work breaks
            for non basic latin1.  We may want to go further and
            always use unicode services so we get correct hyphenation
            breaking.
    
            Reviewed by hyatt.
    
            * khtml/rendering/break_lines.cpp:
    
    WebFoundation
            Fix crash in logging code.
    
            Reviewed by hyatt.
    
            * Database.subproj/WebFileDatabase.m:
            (-[WebFileDatabase lazySync:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index fe2ec04..b7dba60 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,15 @@
+2003-01-22  Richard Williamson   <rjw at apple.com>
+
+        Fix 3119777 (and a host of other international bugs).  Word break
+        was broken.  Use unicode services to detect work breaks
+        for non basic latin1.  We may want to go further and
+        always use unicode services so we get correct hyphenation
+        breaking.
+        
+        Reviewed by hyatt.
+
+        * khtml/rendering/break_lines.cpp:
+
 2003-01-22  David Hyatt  <hyatt at apple.com>
 
 	Fix word-spacing bugs in text measurement calculations.  This
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index fe2ec04..b7dba60 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,15 @@
+2003-01-22  Richard Williamson   <rjw at apple.com>
+
+        Fix 3119777 (and a host of other international bugs).  Word break
+        was broken.  Use unicode services to detect work breaks
+        for non basic latin1.  We may want to go further and
+        always use unicode services so we get correct hyphenation
+        breaking.
+        
+        Reviewed by hyatt.
+
+        * khtml/rendering/break_lines.cpp:
+
 2003-01-22  David Hyatt  <hyatt at apple.com>
 
 	Fix word-spacing bugs in text measurement calculations.  This
diff --git a/WebCore/khtml/rendering/break_lines.cpp b/WebCore/khtml/rendering/break_lines.cpp
index 6635778..1014016 100644
--- a/WebCore/khtml/rendering/break_lines.cpp
+++ b/WebCore/khtml/rendering/break_lines.cpp
@@ -8,6 +8,10 @@ static QCString *cachedString = 0;
 static ThBreakIterator *thaiIt = 0;
 #endif
 
+#if APPLE_CHANGES
+#include <CoreServices/CoreServices.h>
+#endif
+
 void cleanupLineBreaker()
 {
 #ifdef HAVE_THAI_BREAKS
@@ -27,9 +31,10 @@ namespace khtml {
 #ifdef HAVE_THAI_BREAKS
 bool isBreakable( const QChar *s, int pos, int len )
 #else
-bool isBreakable( const QChar *s, int pos, int )
+bool isBreakable( const QChar *s, int pos, int len)
 #endif    
 {
+#if !APPLE_CHANGES
     const QChar *c = s+pos;
     unsigned short ch = c->unicode();
     if ( ch > 0xff ) {
@@ -76,6 +81,26 @@ bool isBreakable( const QChar *s, int pos, int )
 	    return true;
     }
     return false;
+#else
+    OSStatus status, findStatus = 0;
+    TextBreakLocatorRef breakLocator;
+    UniCharArrayOffset end;
+    const QChar *c = s+pos;
+    unsigned short ch = c->unicode();
+    
+    if (ch > 0x7f){
+        status = UCCreateTextBreakLocator (NULL, 0, kUCTextBreakWordMask, &breakLocator);
+        if (status == 0){
+            findStatus = UCFindTextBreak (breakLocator,  kUCTextBreakWordMask, NULL, (const UniChar *)c, (UniCharCount)len-pos, (UniCharArrayOffset)0, (UniCharArrayOffset *)&end);
+        }
+        // If carbon fails, fail back on simple white space detection.
+        if (findStatus == 0)
+            return end == 0 ? true : false;
+    }
+    // What about hypenation?  We will correctly handle japanese hyphenation above, but
+    // not here.
+    return c->direction() == QChar::DirWS || ch == '\n';
+#endif    
 }
 
 };
diff --git a/WebKit/Misc.subproj/WebFileDatabase.m b/WebKit/Misc.subproj/WebFileDatabase.m
index 49e49e6..95e5ee5 100644
--- a/WebKit/Misc.subproj/WebFileDatabase.m
+++ b/WebKit/Misc.subproj/WebFileDatabase.m
@@ -603,9 +603,10 @@ static void databaseInit()
         [mutex unlock];
     }
 
-    LOG(WebFileDatabaseActivity, "<<< AFTER lazySync\n%@", WebLRUFileListDescription(lru));
-
 #ifndef NDEBUG
+    if (lru)
+        LOG(WebFileDatabaseActivity, "<<< AFTER lazySync\n%@", WebLRUFileListDescription(lru));
+
     CFTimeInterval now = CFAbsoluteTimeGetCurrent();
     LOG(WebFileDatabaseActivity, "lazySync ran in %.3f secs.", now - mark);
 #endif

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list