[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:59:13 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 495b279a2dd3656783cd675b10c9745c7fc7c3b0
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Mar 28 03:35:22 2002 +0000

            Added initial-layout-after-delay-if-not-layed-out-yet feature.
    
            Turned on live layout when font size or type is changed.
    
            Removed problematic code.  Not sure why it was necessary.  For now
            it prevents crasher.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@875 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 4e15ee4..6e7187e 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,10 @@
+2002-03-27  Richard Williamson  <rjw at apple.com>
+
+        Removed problematic code.  Not sure why it was necessary.  For now
+        it prevents crasher.
+        
+	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
+
 2002-03-27  Darin Adler  <darin at apple.com>
 
 	* src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 4e15ee4..6e7187e 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,10 @@
+2002-03-27  Richard Williamson  <rjw at apple.com>
+
+        Removed problematic code.  Not sure why it was necessary.  For now
+        it prevents crasher.
+        
+	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
+
 2002-03-27  Darin Adler  <darin at apple.com>
 
 	* src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 4e15ee4..6e7187e 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,10 @@
+2002-03-27  Richard Williamson  <rjw at apple.com>
+
+        Removed problematic code.  Not sure why it was necessary.  For now
+        it prevents crasher.
+        
+	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::addColInfo):
+
 2002-03-27  Darin Adler  <darin at apple.com>
 
 	* src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
diff --git a/WebCore/khtml/rendering/render_table.cpp b/WebCore/khtml/rendering/render_table.cpp
index d8f33b2..50fd1f9 100644
--- a/WebCore/khtml/rendering/render_table.cpp
+++ b/WebCore/khtml/rendering/render_table.cpp
@@ -520,8 +520,10 @@ void RenderTable::addColInfo(int _startCol, int _colSpan,
 	    }
 	}
     }
+#ifndef APPLE_CHANGES
     if ( recalc )
-	recalcColInfo( col );
+        recalcColInfo( col );
+#endif
     if ( changed )
 	setMinMaxKnown(false);
 
diff --git a/WebCore/src/kdelibs/khtml/rendering/render_table.cpp b/WebCore/src/kdelibs/khtml/rendering/render_table.cpp
index d8f33b2..50fd1f9 100644
--- a/WebCore/src/kdelibs/khtml/rendering/render_table.cpp
+++ b/WebCore/src/kdelibs/khtml/rendering/render_table.cpp
@@ -520,8 +520,10 @@ void RenderTable::addColInfo(int _startCol, int _colSpan,
 	    }
 	}
     }
+#ifndef APPLE_CHANGES
     if ( recalc )
-	recalcColInfo( col );
+        recalcColInfo( col );
+#endif
     if ( changed )
 	setMinMaxKnown(false);
 
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 6ebdfed..e94f279 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,18 @@
+2002-03-27  Richard Williamson  <rjw at apple.com>
+
+        Added initial-layout-after-delay-if-not-layed-out-yet feature.
+        
+	* Misc.subproj/WebKitDebug.h:
+	* WebKit.pbproj/project.pbxproj:
+	* WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
+	_mainReceivedProgress:forResource:fromDataSource:]):
+	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
+	setPluginsEnabled:]), (-[IFPreferences _initialTimedLayoutDelay]),
+	(-[IFPreferences _initialTimedLayoutEnabled]):
+	* WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
+	_transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]),
+	(-[IFWebFrame _state]):
+
 2002-03-27  Kenneth Kocienda  <kocienda at apple.com>
 
         Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 6ebdfed..e94f279 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,18 @@
+2002-03-27  Richard Williamson  <rjw at apple.com>
+
+        Added initial-layout-after-delay-if-not-layed-out-yet feature.
+        
+	* Misc.subproj/WebKitDebug.h:
+	* WebKit.pbproj/project.pbxproj:
+	* WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
+	_mainReceivedProgress:forResource:fromDataSource:]):
+	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
+	setPluginsEnabled:]), (-[IFPreferences _initialTimedLayoutDelay]),
+	(-[IFPreferences _initialTimedLayoutEnabled]):
+	* WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
+	_transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]),
+	(-[IFWebFrame _state]):
+
 2002-03-27  Kenneth Kocienda  <kocienda at apple.com>
 
         Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
diff --git a/WebKit/Misc.subproj/WebKitDebug.h b/WebKit/Misc.subproj/WebKitDebug.h
index 6a784df..61dbe3c 100644
--- a/WebKit/Misc.subproj/WebKitDebug.h
+++ b/WebKit/Misc.subproj/WebKitDebug.h
@@ -68,11 +68,15 @@ void WebKitLogAtLevel(unsigned int level, NSString *format, ...);
 #define WEBKITDEBUGLEVEL1(level,format,arg1) \
    WebKitDebugAtLevel (level,"[%s:%d  %s] ",  __FILE__, __LINE__, __FUNCTION__);\
    WebKitDebugAtLevel (level,format,arg1);
-            
+
+#if NDEBUG
+#define WEBKITDEBUGLEVEL2(level,format,arg1,arg2)
+#else
 #define WEBKITDEBUGLEVEL2(level,format,arg1,arg2) \
    WebKitDebugAtLevel (level,"[%s:%d  %s] ",  __FILE__, __LINE__, __FUNCTION__);\
    WebKitDebugAtLevel (level,format,arg1,arg2);
-            
+#endif
+
 #define WEBKITDEBUGLEVEL3(level,format,arg1,arg2,arg3) \
    WebKitDebugAtLevel (level,"[%s:%d  %s] ",  __FILE__, __LINE__, __FUNCTION__);\
    WebKitDebugAtLevel (level,format,arg1,arg2,arg3);
diff --git a/WebKit/WebKit.pbproj/project.pbxproj b/WebKit/WebKit.pbproj/project.pbxproj
index f07fee2..60f609e 100644
--- a/WebKit/WebKit.pbproj/project.pbxproj
+++ b/WebKit/WebKit.pbproj/project.pbxproj
@@ -204,6 +204,7 @@
 				F5F084BB024BDC8E01CA1520,
 				F5F084BF024BDCA701CA1520,
 				F58BAB3B025036CA01C1A526,
+				9CAE9D080252A4130ECA16EA,
 			);
 			isa = PBXHeadersBuildPhase;
 		};
@@ -975,11 +976,27 @@
 				F5143A370221DCCE01A80181,
 				F5D538E802441F2601A80181,
 				F5D538EC02441FDD01A80181,
+				9CAE9D070252A4130ECA16EA,
 			);
 			isa = PBXGroup;
 			name = WebView;
 			refType = 4;
 		};
+		9CAE9D070252A4130ECA16EA = {
+			isa = PBXFileReference;
+			name = IFPreferencesPrivate.h;
+			path = WebView.subproj/IFPreferencesPrivate.h;
+			refType = 2;
+		};
+		9CAE9D080252A4130ECA16EA = {
+			fileRef = 9CAE9D070252A4130ECA16EA;
+			isa = PBXBuildFile;
+			settings = {
+				ATTRIBUTES = (
+					Private,
+				);
+			};
+		};
 		9CF0E249021361B00ECA16EA = {
 			isa = PBXFileReference;
 			name = IFWebFramePrivate.h;
diff --git a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
index 200dbaf..0141384 100644
--- a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
+++ b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
@@ -60,17 +60,18 @@
     if (progress->bytesSoFar == -1 && progress->totalToLoad == -1){
 	WEBKITDEBUGLEVEL1 (WEBKIT_LOG_LOADING, "cancelled resource = %s\n", [[[dataSource inputURL] absoluteString] cString]);
     }
-    
-    // Check to see if this is the first complete load of a resource associated with a data source, if so
-    // we need to transition the data source from provisional to committed.
+
+    // Check to see if this is these are the first bits of a provisional data source,
+    // if so we need to transition the data source from provisional to committed.
+    if([frame provisionalDataSource] == dataSource){
+        WEBKITDEBUGLEVEL1 (WEBKIT_LOG_LOADING, "committing resource = %s\n", [[[dataSource inputURL] absoluteString] cString]);
+        [frame _transitionProvisionalToCommitted];
+    }
+
+    // If the load is complete, make the primary load as done.  The primary load is the load
+    // of the main document.  Other resources may still be arriving.
     if (progress->bytesSoFar == progress->totalToLoad){
-    
         [dataSource _setPrimaryLoadComplete: YES];
-        
-        if([frame provisionalDataSource] == dataSource){
-            WEBKITDEBUGLEVEL1 (WEBKIT_LOG_LOADING, "committing resource = %s\n", [[[dataSource inputURL] absoluteString] cString]);
-            [frame _transitionProvisionalToCommitted];
-        }
     }
     
     // This resouce has completed, so check if the load is complete for all frames.
diff --git a/WebKit/WebView.subproj/IFPreferences.mm b/WebKit/WebView.subproj/IFPreferences.mm
index f393ede..2c29cb5 100644
--- a/WebKit/WebView.subproj/IFPreferences.mm
+++ b/WebKit/WebView.subproj/IFPreferences.mm
@@ -19,6 +19,8 @@
 #define	WebKitJavaEnabledPreferenceKey		@"WebKitJavaEnabled"
 #define	WebKitJScriptEnabledPreferenceKey	@"WebKitJScriptEnabled"
 #define	WebKitPluginsEnabledPreferenceKey	@"WebKitPluginsEnabled"
+#define	WebKitInitialTimedLayoutDelayPreferenceKey	@"WebKitInitialTimedLayoutDelay"
+#define	WebKitInitialTimedLayoutEnabledPreferenceKey	@"WebKitInitialTimedLayoutEnabled"
 
 @implementation IFPreferences
 
@@ -42,6 +44,7 @@ static IFPreferences *_standardPreferences = nil;
     NSNumber *pluginsEnabled = [NSNumber numberWithBool:TRUE];
     NSNumber *javaEnabled = [NSNumber numberWithBool:FALSE];
     NSNumber *jScriptEnabled = [NSNumber numberWithBool:TRUE];
+    NSNumber *timedLayoutEnabled = [NSNumber numberWithBool:TRUE];
 
     NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
         @"0x0", 		WebKitLogLevelPreferenceKey,
@@ -52,6 +55,8 @@ static IFPreferences *_standardPreferences = nil;
         @"Apple Chancery", 	WebKitCursiveFontPreferenceKey,
         @"Papyrus", 		WebKitFantasyFontPreferenceKey,
         @"6", 			WebKitMinimumFontSizePreferenceKey,
+        @"1.5", 		WebKitInitialTimedLayoutDelayPreferenceKey,
+        timedLayoutEnabled,	WebKitInitialTimedLayoutEnabledPreferenceKey,
         fontSizeArray,		WebKitFontSizesPreferenceKey,
         javaEnabled,		WebKitJavaEnabledPreferenceKey,
         jScriptEnabled,		WebKitJScriptEnabledPreferenceKey,
@@ -175,4 +180,15 @@ static IFPreferences *_standardPreferences = nil;
 }
 
 
+- (NSTimeInterval)_initialTimedLayoutDelay
+{
+    return (NSTimeInterval)[[NSUserDefaults standardUserDefaults] floatForKey:WebKitInitialTimedLayoutDelayPreferenceKey];
+}
+
+- (BOOL)_initialTimedLayoutEnabled
+{
+    return [[NSUserDefaults standardUserDefaults] boolForKey:WebKitInitialTimedLayoutEnabledPreferenceKey];
+}
+
+
 @end
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.mm b/WebKit/WebView.subproj/IFWebFramePrivate.mm
index 7e77e20..a07b033 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.mm
@@ -8,6 +8,7 @@
 #import <WebKit/IFWebViewPrivate.h>
 #import <WebKit/IFWebFramePrivate.h>
 #import <WebKit/IFError.h>
+#import <WebKit/IFPreferencesPrivate.h>
 
 #import <WebKit/WebKitDebug.h>
 
@@ -142,6 +143,14 @@
         
             [[self controller] locationChangeCommittedForFrame: self];
             
+            // Start a timer to guarantee that we get an initial layout after
+            // X internal, even if the document and resources are not completely
+            // loaded.
+            BOOL timedDelayEnabled = [[IFPreferences standardPreferences] _initialTimedLayoutEnabled];
+            if (timedDelayEnabled){
+                NSTimeInterval timedDelay = [[IFPreferences standardPreferences] _initialTimedLayoutDelay];
+                [NSTimer scheduledTimerWithTimeInterval:timedDelay target:self selector: @selector(_initialLayout:) userInfo: nil repeats:FALSE];
+            }
             break;
         }
         
@@ -156,13 +165,6 @@
     }
 }
 
-- (IFWebFrameState)_state
-{
-    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
-    
-    return data->state;
-}
-
 char *stateNames[5] = {
     "zero state",
     "IFWEBFRAMESTATE_UNINITIALIZED",
@@ -170,6 +172,27 @@ char *stateNames[5] = {
     "IFWEBFRAMESTATE_COMMITTED",
     "IFWEBFRAMESTATE_COMPLETE" };
 
+
+- (void)_initialLayout: userInfo
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+
+    WEBKITDEBUGLEVEL1 (WEBKIT_LOG_LOADING, "state = %s\n", stateNames[data->state]);
+    
+    if (data->state == IFWEBFRAMESTATE_COMMITTED){
+        WEBKITDEBUGLEVEL (WEBKIT_LOG_LOADING, "performing timed layout\n");
+        [[self view] setNeedsLayout: YES];
+        [[self view] setNeedsDisplay: YES];
+    }
+}
+
+- (IFWebFrameState)_state
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    
+    return data->state;
+}
+
 - (void)_setState: (IFWebFrameState)newState
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 7e77e20..a07b033 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -8,6 +8,7 @@
 #import <WebKit/IFWebViewPrivate.h>
 #import <WebKit/IFWebFramePrivate.h>
 #import <WebKit/IFError.h>
+#import <WebKit/IFPreferencesPrivate.h>
 
 #import <WebKit/WebKitDebug.h>
 
@@ -142,6 +143,14 @@
         
             [[self controller] locationChangeCommittedForFrame: self];
             
+            // Start a timer to guarantee that we get an initial layout after
+            // X internal, even if the document and resources are not completely
+            // loaded.
+            BOOL timedDelayEnabled = [[IFPreferences standardPreferences] _initialTimedLayoutEnabled];
+            if (timedDelayEnabled){
+                NSTimeInterval timedDelay = [[IFPreferences standardPreferences] _initialTimedLayoutDelay];
+                [NSTimer scheduledTimerWithTimeInterval:timedDelay target:self selector: @selector(_initialLayout:) userInfo: nil repeats:FALSE];
+            }
             break;
         }
         
@@ -156,13 +165,6 @@
     }
 }
 
-- (IFWebFrameState)_state
-{
-    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
-    
-    return data->state;
-}
-
 char *stateNames[5] = {
     "zero state",
     "IFWEBFRAMESTATE_UNINITIALIZED",
@@ -170,6 +172,27 @@ char *stateNames[5] = {
     "IFWEBFRAMESTATE_COMMITTED",
     "IFWEBFRAMESTATE_COMPLETE" };
 
+
+- (void)_initialLayout: userInfo
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+
+    WEBKITDEBUGLEVEL1 (WEBKIT_LOG_LOADING, "state = %s\n", stateNames[data->state]);
+    
+    if (data->state == IFWEBFRAMESTATE_COMMITTED){
+        WEBKITDEBUGLEVEL (WEBKIT_LOG_LOADING, "performing timed layout\n");
+        [[self view] setNeedsLayout: YES];
+        [[self view] setNeedsDisplay: YES];
+    }
+}
+
+- (IFWebFrameState)_state
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    
+    return data->state;
+}
+
 - (void)_setState: (IFWebFrameState)newState
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
diff --git a/WebKit/WebView.subproj/WebPreferences.m b/WebKit/WebView.subproj/WebPreferences.m
index f393ede..2c29cb5 100644
--- a/WebKit/WebView.subproj/WebPreferences.m
+++ b/WebKit/WebView.subproj/WebPreferences.m
@@ -19,6 +19,8 @@
 #define	WebKitJavaEnabledPreferenceKey		@"WebKitJavaEnabled"
 #define	WebKitJScriptEnabledPreferenceKey	@"WebKitJScriptEnabled"
 #define	WebKitPluginsEnabledPreferenceKey	@"WebKitPluginsEnabled"
+#define	WebKitInitialTimedLayoutDelayPreferenceKey	@"WebKitInitialTimedLayoutDelay"
+#define	WebKitInitialTimedLayoutEnabledPreferenceKey	@"WebKitInitialTimedLayoutEnabled"
 
 @implementation IFPreferences
 
@@ -42,6 +44,7 @@ static IFPreferences *_standardPreferences = nil;
     NSNumber *pluginsEnabled = [NSNumber numberWithBool:TRUE];
     NSNumber *javaEnabled = [NSNumber numberWithBool:FALSE];
     NSNumber *jScriptEnabled = [NSNumber numberWithBool:TRUE];
+    NSNumber *timedLayoutEnabled = [NSNumber numberWithBool:TRUE];
 
     NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
         @"0x0", 		WebKitLogLevelPreferenceKey,
@@ -52,6 +55,8 @@ static IFPreferences *_standardPreferences = nil;
         @"Apple Chancery", 	WebKitCursiveFontPreferenceKey,
         @"Papyrus", 		WebKitFantasyFontPreferenceKey,
         @"6", 			WebKitMinimumFontSizePreferenceKey,
+        @"1.5", 		WebKitInitialTimedLayoutDelayPreferenceKey,
+        timedLayoutEnabled,	WebKitInitialTimedLayoutEnabledPreferenceKey,
         fontSizeArray,		WebKitFontSizesPreferenceKey,
         javaEnabled,		WebKitJavaEnabledPreferenceKey,
         jScriptEnabled,		WebKitJScriptEnabledPreferenceKey,
@@ -175,4 +180,15 @@ static IFPreferences *_standardPreferences = nil;
 }
 
 
+- (NSTimeInterval)_initialTimedLayoutDelay
+{
+    return (NSTimeInterval)[[NSUserDefaults standardUserDefaults] floatForKey:WebKitInitialTimedLayoutDelayPreferenceKey];
+}
+
+- (BOOL)_initialTimedLayoutEnabled
+{
+    return [[NSUserDefaults standardUserDefaults] boolForKey:WebKitInitialTimedLayoutEnabledPreferenceKey];
+}
+
+
 @end

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list