[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 06:22:26 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 2de7232ccf0f4d3fedf2e521f601381a8d95a169
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jul 1 19:01:11 2002 +0000
Fixed 2976913.
* WebView.subproj/IFHTMLView.mm:
(-[IFHTMLView layout]):
Augmented debugging info.
(-[IFHTMLView setNeedsDisplay:]):
Augmented debugging info.
(-[IFHTMLView setNeedsLayout:]):
Removed overload of this method to also set display flag.
Why was this added?
(-[IFHTMLView setNeedsToApplyStyles:]):
Augmented debugging info.
(-[IFHTMLView drawRect:]):
Augmented debugging info.
* WebView.subproj/IFWebFramePrivate.mm:
(-[IFWebFrame _timedLayout:]):
If the view size is zero (width or height) force
a layout now, rather than depending on the lazy
layout that will happen in display. If the view
size is 0,0 the AppKit will optimize out the display.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index d89aaef..6fae753 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,26 @@
+2002-07-01 Richard Williamson <rjw at apple.com>
+
+ Fixed 2976913.
+
+ * WebView.subproj/IFHTMLView.mm:
+ (-[IFHTMLView layout]):
+ Augmented debugging info.
+ (-[IFHTMLView setNeedsDisplay:]):
+ Augmented debugging info.
+ (-[IFHTMLView setNeedsLayout:]):
+ Removed overload of this method to also set display flag.
+ Why was this added?
+ (-[IFHTMLView setNeedsToApplyStyles:]):
+ Augmented debugging info.
+ (-[IFHTMLView drawRect:]):
+ Augmented debugging info.
+ * WebView.subproj/IFWebFramePrivate.mm:
+ (-[IFWebFrame _timedLayout:]):
+ If the view size is zero (width or height) force
+ a layout now, rather than depending on the lazy
+ layout that will happen in display. If the view
+ size is 0,0 the AppKit will optimize out the display.
+
2002-07-01 Chris Blumenberg <cblu at apple.com>
Minor cleanup
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index d89aaef..6fae753 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,26 @@
+2002-07-01 Richard Williamson <rjw at apple.com>
+
+ Fixed 2976913.
+
+ * WebView.subproj/IFHTMLView.mm:
+ (-[IFHTMLView layout]):
+ Augmented debugging info.
+ (-[IFHTMLView setNeedsDisplay:]):
+ Augmented debugging info.
+ (-[IFHTMLView setNeedsLayout:]):
+ Removed overload of this method to also set display flag.
+ Why was this added?
+ (-[IFHTMLView setNeedsToApplyStyles:]):
+ Augmented debugging info.
+ (-[IFHTMLView drawRect:]):
+ Augmented debugging info.
+ * WebView.subproj/IFWebFramePrivate.mm:
+ (-[IFWebFrame _timedLayout:]):
+ If the view size is zero (width or height) force
+ a layout now, rather than depending on the lazy
+ layout that will happen in display. If the view
+ size is 0,0 the AppKit will optimize out the display.
+
2002-07-01 Chris Blumenberg <cblu at apple.com>
Minor cleanup
diff --git a/WebKit/WebView.subproj/IFHTMLView.mm b/WebKit/WebView.subproj/IFHTMLView.mm
index e6842cb..f446975 100644
--- a/WebKit/WebView.subproj/IFHTMLView.mm
+++ b/WebKit/WebView.subproj/IFHTMLView.mm
@@ -186,22 +186,22 @@
[[self window] _setShouldPostEventNotifications: YES];
if (widget && widget->part()->xmlDocImpl() &&
- widget->part()->xmlDocImpl()->renderer()) {
- if (_private->needsLayout){
+ widget->part()->xmlDocImpl()->renderer() &&
+ _private->needsLayout){
#ifdef _KWQ_TIMING
double start = CFAbsoluteTimeGetCurrent();
#endif
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "doing layout\n");
- //double start = CFAbsoluteTimeGetCurrent();
- widget->layout();
- //WebKitDebugAtLevel (WEBKIT_LOG_TIMING, "layout time %e\n", CFAbsoluteTimeGetCurrent() - start);
- _private->needsLayout = NO;
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s doing layout\n", DEBUG_OBJECT(self));
+ widget->layout();
+ _private->needsLayout = NO;
#ifdef _KWQ_TIMING
double thisTime = CFAbsoluteTimeGetCurrent() - start;
WEBKITDEBUGLEVEL (WEBKIT_LOG_TIMING, "%s layout seconds = %f\n", widget->part()->baseURL().url().latin1(), thisTime);
#endif
- }
+ }
+ else {
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s NOT doing layout\n", DEBUG_OBJECT(self));
}
}
@@ -289,23 +289,21 @@
- (void)setNeedsDisplay:(BOOL)flag
{
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "flag = %d\n", (int)flag);
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s flag = %d\n", DEBUG_OBJECT(self), (int)flag);
[super setNeedsDisplay: flag];
}
- (void)setNeedsLayout: (bool)flag
{
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "flag = %d\n", (int)flag);
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s flag = %d\n", DEBUG_OBJECT(self), (int)flag);
_private->needsLayout = flag;
- if (flag)
- [self setNeedsDisplay:YES];
}
- (void)setNeedsToApplyStyles: (bool)flag
{
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "flag = %d\n", (int)flag);
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s flag = %d\n", DEBUG_OBJECT(self), (int)flag);
_private->needsToApplyStyles = flag;
}
@@ -330,7 +328,7 @@
return;
}
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "drawing\n");
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s drawing\n", DEBUG_OBJECT(self));
[self reapplyStyles];
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.mm b/WebKit/WebView.subproj/IFWebFramePrivate.mm
index 8fec969..52f49dc 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.mm
@@ -154,9 +154,27 @@ static const char * const stateNames[6] = {
if ([self controller])
WEBKITDEBUGLEVEL (WEBKIT_LOG_TIMING, "%s: performing timed layout, %f seconds since start of document load\n", [[self name] cString], CFAbsoluteTimeGetCurrent() - [[[[self controller] mainFrame] dataSource] _loadingStartedTime]);
- if([[self webView] isDocumentHTML])
+ if([[self webView] isDocumentHTML]){
+ NSView *view = (NSView *)documentView;
+
[documentView setNeedsLayout: YES];
+ NSRect frame = [view frame];
+
+ if (frame.size.width == 0 || frame.size.height == 0){
+ // We must do the layout now, rather than depend on
+ // display to do a lazy layout because the view
+ // may be recently initialized with a zero size
+ // and the AppKit will optimize out any drawing.
+
+ // Force a layout now. At this point we could
+ // check to see if any CSS is pending and delay
+ // the layout further to avoid the flash of unstyled
+ // content.
+ [documentView layout];
+ }
+ }
+
[documentView setNeedsDisplay: YES];
}
else {
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 8fec969..52f49dc 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -154,9 +154,27 @@ static const char * const stateNames[6] = {
if ([self controller])
WEBKITDEBUGLEVEL (WEBKIT_LOG_TIMING, "%s: performing timed layout, %f seconds since start of document load\n", [[self name] cString], CFAbsoluteTimeGetCurrent() - [[[[self controller] mainFrame] dataSource] _loadingStartedTime]);
- if([[self webView] isDocumentHTML])
+ if([[self webView] isDocumentHTML]){
+ NSView *view = (NSView *)documentView;
+
[documentView setNeedsLayout: YES];
+ NSRect frame = [view frame];
+
+ if (frame.size.width == 0 || frame.size.height == 0){
+ // We must do the layout now, rather than depend on
+ // display to do a lazy layout because the view
+ // may be recently initialized with a zero size
+ // and the AppKit will optimize out any drawing.
+
+ // Force a layout now. At this point we could
+ // check to see if any CSS is pending and delay
+ // the layout further to avoid the flash of unstyled
+ // content.
+ [documentView layout];
+ }
+ }
+
[documentView setNeedsDisplay: YES];
}
else {
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index e6842cb..f446975 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -186,22 +186,22 @@
[[self window] _setShouldPostEventNotifications: YES];
if (widget && widget->part()->xmlDocImpl() &&
- widget->part()->xmlDocImpl()->renderer()) {
- if (_private->needsLayout){
+ widget->part()->xmlDocImpl()->renderer() &&
+ _private->needsLayout){
#ifdef _KWQ_TIMING
double start = CFAbsoluteTimeGetCurrent();
#endif
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "doing layout\n");
- //double start = CFAbsoluteTimeGetCurrent();
- widget->layout();
- //WebKitDebugAtLevel (WEBKIT_LOG_TIMING, "layout time %e\n", CFAbsoluteTimeGetCurrent() - start);
- _private->needsLayout = NO;
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s doing layout\n", DEBUG_OBJECT(self));
+ widget->layout();
+ _private->needsLayout = NO;
#ifdef _KWQ_TIMING
double thisTime = CFAbsoluteTimeGetCurrent() - start;
WEBKITDEBUGLEVEL (WEBKIT_LOG_TIMING, "%s layout seconds = %f\n", widget->part()->baseURL().url().latin1(), thisTime);
#endif
- }
+ }
+ else {
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s NOT doing layout\n", DEBUG_OBJECT(self));
}
}
@@ -289,23 +289,21 @@
- (void)setNeedsDisplay:(BOOL)flag
{
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "flag = %d\n", (int)flag);
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s flag = %d\n", DEBUG_OBJECT(self), (int)flag);
[super setNeedsDisplay: flag];
}
- (void)setNeedsLayout: (bool)flag
{
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "flag = %d\n", (int)flag);
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s flag = %d\n", DEBUG_OBJECT(self), (int)flag);
_private->needsLayout = flag;
- if (flag)
- [self setNeedsDisplay:YES];
}
- (void)setNeedsToApplyStyles: (bool)flag
{
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "flag = %d\n", (int)flag);
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s flag = %d\n", DEBUG_OBJECT(self), (int)flag);
_private->needsToApplyStyles = flag;
}
@@ -330,7 +328,7 @@
return;
}
- WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "drawing\n");
+ WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s drawing\n", DEBUG_OBJECT(self));
[self reapplyStyles];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list