[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