[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:23:10 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit b00c8c58e39fa216364a21d63bdb11d21d45e8e5
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Jul 3 08:59:27 2002 +0000
* kwq/KWQScrollView.mm:
(QScrollView::addChild):
Fixed regression that caused IFWebView frame origin to sometimes
never be set correctly. (khtml sets the x origin to -500000
during initialization, and it was never getting set correctly).
This problem manifested itself as blank white frames.
* kwq/KWQWidget.mm:
(QWidget::internalSetGeometry):
* Misc.subproj/IFNSViewExtras.m:
(-[NSView _IF_printViewHierarchy:]):
Debugging help.
* WebView.subproj/IFHTMLView.mm:
(-[IFHTMLView layout]):
Added setLayouted(false).
* WebView.subproj/IFWebFramePrivate.mm:
(-[IFWebFrame _isLoadComplete]):
Tweaks attempting to fix frame drawing problems.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 907b114..32b04ea 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,15 @@
+2002-07-03 Richard Williamson <rjw at apple.com>
+
+ * kwq/KWQScrollView.mm:
+ (QScrollView::addChild):
+ Fixed regression that caused IFWebView frame origin to sometimes
+ never be set correctly. (khtml sets the x origin to -500000
+ during initialization, and it was never getting set correctly).
+ This problem manifested itself as blank white frames.
+
+ * kwq/KWQWidget.mm:
+ (QWidget::internalSetGeometry):
+
2002-07-03 Maciej Stachowiak <mjs at apple.com>
WebKit part of fix for:
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 907b114..32b04ea 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,15 @@
+2002-07-03 Richard Williamson <rjw at apple.com>
+
+ * kwq/KWQScrollView.mm:
+ (QScrollView::addChild):
+ Fixed regression that caused IFWebView frame origin to sometimes
+ never be set correctly. (khtml sets the x origin to -500000
+ during initialization, and it was never getting set correctly).
+ This problem manifested itself as blank white frames.
+
+ * kwq/KWQWidget.mm:
+ (QWidget::internalSetGeometry):
+
2002-07-03 Maciej Stachowiak <mjs at apple.com>
WebKit part of fix for:
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 907b114..32b04ea 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,15 @@
+2002-07-03 Richard Williamson <rjw at apple.com>
+
+ * kwq/KWQScrollView.mm:
+ (QScrollView::addChild):
+ Fixed regression that caused IFWebView frame origin to sometimes
+ never be set correctly. (khtml sets the x origin to -500000
+ during initialization, and it was never getting set correctly).
+ This problem manifested itself as blank white frames.
+
+ * kwq/KWQWidget.mm:
+ (QWidget::internalSetGeometry):
+
2002-07-03 Maciej Stachowiak <mjs at apple.com>
WebKit part of fix for:
diff --git a/WebCore/kwq/KWQScrollView.mm b/WebCore/kwq/KWQScrollView.mm
index db00549..cee7547 100644
--- a/WebCore/kwq/KWQScrollView.mm
+++ b/WebCore/kwq/KWQScrollView.mm
@@ -196,7 +196,7 @@ void QScrollView::addChild(QWidget* child, int x, int y)
KWQ_ASSERT(child != this);
- if (child->x() != x || child->y() != y)
+ //if (child->x() != x || child->y() != y)
child->move(x, y);
thisView = getView();
@@ -211,6 +211,7 @@ void QScrollView::addChild(QWidget* child, int x, int y)
// code in QWidget::internalSetGeometry.
if ([subview conformsToProtocol:@protocol(WebCoreFrameView)]) {
subview = [subview superview];
+ //[subview setFrameOrigin: NSMakePoint (x, y)];
}
KWQ_ASSERT(subview != thisView);
diff --git a/WebCore/kwq/KWQWidget.mm b/WebCore/kwq/KWQWidget.mm
index e84012d..377a6eb 100644
--- a/WebCore/kwq/KWQWidget.mm
+++ b/WebCore/kwq/KWQWidget.mm
@@ -319,9 +319,8 @@ void QWidget::internalSetGeometry(int x, int y, int w, int h)
NSView *view = getView();
// A QScrollView is a widget only used to represent a frame. If
- // has an WebCoreFrameView as it's view. When
- // we resize it we actually want to resize it's containing view,
- // an IFWebView. The scrollview contained by the IFWebView
+ // this widget's view is a WebCoreFrameView the we resize it's containing
+ // view, an IFWebView. The scrollview contained by the IFWebView
// will be autosized.
if ([view conformsToProtocol:@protocol(WebCoreFrameView)]) {
view = [view superview];
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index d6c6f1d..d62d954 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,17 @@
+2002-07-03 Richard Williamson <rjw at apple.com>
+
+ * Misc.subproj/IFNSViewExtras.m:
+ (-[NSView _IF_printViewHierarchy:]):
+ Debugging help.
+
+ * WebView.subproj/IFHTMLView.mm:
+ (-[IFHTMLView layout]):
+ Added setLayouted(false).
+
+ * WebView.subproj/IFWebFramePrivate.mm:
+ (-[IFWebFrame _isLoadComplete]):
+ Tweaks attempting to fix frame drawing problems.
+
2002-07-03 Maciej Stachowiak <mjs at apple.com>
WebCore part of fix for:
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index d6c6f1d..d62d954 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,17 @@
+2002-07-03 Richard Williamson <rjw at apple.com>
+
+ * Misc.subproj/IFNSViewExtras.m:
+ (-[NSView _IF_printViewHierarchy:]):
+ Debugging help.
+
+ * WebView.subproj/IFHTMLView.mm:
+ (-[IFHTMLView layout]):
+ Added setLayouted(false).
+
+ * WebView.subproj/IFWebFramePrivate.mm:
+ (-[IFWebFrame _isLoadComplete]):
+ Tweaks attempting to fix frame drawing problems.
+
2002-07-03 Maciej Stachowiak <mjs at apple.com>
WebCore part of fix for:
diff --git a/WebKit/Misc.subproj/IFNSViewExtras.m b/WebKit/Misc.subproj/IFNSViewExtras.m
index 70f7b9e..b5dbb91 100644
--- a/WebKit/Misc.subproj/IFNSViewExtras.m
+++ b/WebKit/Misc.subproj/IFNSViewExtras.m
@@ -1,11 +1,18 @@
/*
- IFNSViewExtras.mm
- Copyright (c) 2002, Apple, Inc. All rights reserved.
+ IFNSViewExtras.mm
+ Copyright (c) 2002, Apple, Inc. All rights reserved.
*/
#import <WebKit/IFNSViewExtras.h>
#import <WebKit/IFWebView.h>
+#ifdef DEBUG_VIEWS
+ at interface NSObject (Foo)
+- (void*)_renderFramePart;
+- (id)frameForView: (id)aView;
+- (id)_controller;
+ at end
+#endif
@implementation NSView (IFExtensions)
@@ -32,4 +39,33 @@
return nil;
}
+#ifdef DEBUG_VIEWS
+- (void)_IF_printViewHierarchy: (int)level
+{
+ NSArray *subviews;
+ int _level = level, i;
+ NSRect f;
+ NSView *subview;
+ void *rfp = 0;
+
+ subviews = [self subviews];
+ _level = level;
+ while (_level-- > 0)
+ printf (" ");
+ f = [self frame];
+
+ if ([self respondsToSelector: @selector(_controller)]){
+ id aController = [self _controller];
+ id aFrame = [aController frameForView: self];
+ rfp = [aFrame _renderFramePart];
+ }
+
+ printf ("%s renderFramePart %p (%f,%f) w %f, h %f\n", [[[self class] className] cString], rfp, f.origin.x, f.origin.y, f.size.width, f.size.height);
+ for (i = 0; i < (int)[subviews count]; i++){
+ subview = [subviews objectAtIndex: i];
+ [subview _IF_printViewHierarchy: level + 1];
+ }
+}
+#endif
+
@end
diff --git a/WebKit/Misc.subproj/WebNSViewExtras.m b/WebKit/Misc.subproj/WebNSViewExtras.m
index 70f7b9e..b5dbb91 100644
--- a/WebKit/Misc.subproj/WebNSViewExtras.m
+++ b/WebKit/Misc.subproj/WebNSViewExtras.m
@@ -1,11 +1,18 @@
/*
- IFNSViewExtras.mm
- Copyright (c) 2002, Apple, Inc. All rights reserved.
+ IFNSViewExtras.mm
+ Copyright (c) 2002, Apple, Inc. All rights reserved.
*/
#import <WebKit/IFNSViewExtras.h>
#import <WebKit/IFWebView.h>
+#ifdef DEBUG_VIEWS
+ at interface NSObject (Foo)
+- (void*)_renderFramePart;
+- (id)frameForView: (id)aView;
+- (id)_controller;
+ at end
+#endif
@implementation NSView (IFExtensions)
@@ -32,4 +39,33 @@
return nil;
}
+#ifdef DEBUG_VIEWS
+- (void)_IF_printViewHierarchy: (int)level
+{
+ NSArray *subviews;
+ int _level = level, i;
+ NSRect f;
+ NSView *subview;
+ void *rfp = 0;
+
+ subviews = [self subviews];
+ _level = level;
+ while (_level-- > 0)
+ printf (" ");
+ f = [self frame];
+
+ if ([self respondsToSelector: @selector(_controller)]){
+ id aController = [self _controller];
+ id aFrame = [aController frameForView: self];
+ rfp = [aFrame _renderFramePart];
+ }
+
+ printf ("%s renderFramePart %p (%f,%f) w %f, h %f\n", [[[self class] className] cString], rfp, f.origin.x, f.origin.y, f.size.width, f.size.height);
+ for (i = 0; i < (int)[subviews count]; i++){
+ subview = [subviews objectAtIndex: i];
+ [subview _IF_printViewHierarchy: level + 1];
+ }
+}
+#endif
+
@end
diff --git a/WebKit/WebView.subproj/IFHTMLView.mm b/WebKit/WebView.subproj/IFHTMLView.mm
index b596a3a..003db22 100644
--- a/WebKit/WebView.subproj/IFHTMLView.mm
+++ b/WebKit/WebView.subproj/IFHTMLView.mm
@@ -22,6 +22,7 @@
#import <qpainter.h>
#import <qevent.h>
#import <html/html_documentimpl.h>
+#import <rendering/render_object.h>
#import <KWQKHTMLPartImpl.h>
@@ -192,6 +193,7 @@
double start = CFAbsoluteTimeGetCurrent();
#endif
+ widget->part()->xmlDocImpl()->renderer()->setLayouted(false);
WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s doing layout\n", DEBUG_OBJECT(self));
widget->layout();
_private->needsLayout = NO;
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.mm b/WebKit/WebView.subproj/IFWebFramePrivate.mm
index a4b0839..8097e22 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.mm
@@ -368,41 +368,55 @@ static const char * const stateNames[6] = {
if (![ds isLoading]) {
id mainView = [[[self controller] mainFrame] webView];
id mainDocumentView = [mainView documentView];
+#if 0
id thisView = [self webView];
id thisDocumentView = [thisView documentView];
-
+#endif
[self _setState: IFWEBFRAMESTATE_COMPLETE];
[[ds _bridge] end];
-
+
// We have to layout the main document as
// it may change the size of frames.
- if ([mainView isDocumentHTML]){
- [mainDocumentView setNeedsLayout: YES];
+ // FIXME: Why is this necessary? and recurse.
+ {
+ if ([mainView isDocumentHTML]){
+ [mainDocumentView setNeedsLayout: YES];
+ }
+ [mainDocumentView layout];
+
+ NSArray *subFrames = [[[[self controller] mainFrame] dataSource] children];
+ unsigned int i;
+ id dview;
+ for (i = 0; i < [subFrames count]; i++){
+ dview = [[[subFrames objectAtIndex: i] webView] documentView];
+ if ([[[subFrames objectAtIndex: i] webView] isDocumentHTML])
+ [dview setNeedsLayout: YES];
+ [dview layout];
+ }
}
- [mainDocumentView layout];
+#if 0
// Tell the just loaded document to layout. This may be necessary
// for non-html content that needs a layout message.
if ([thisView isDocumentHTML]){
[thisDocumentView setNeedsLayout: YES];
}
- [[thisView documentView] layout];
+ [thisDocumentView layout];
+
+ [thisDocumentView setNeedsDisplay: YES];
+ [thisDocumentView display];
+#endif
// Jump to anchor point, if necessary.
[[ds _bridge] scrollToBaseAnchor];
-
+
// FIXME: We have to draw the whole document hierarchy. We should be
// able to just draw the document associated with this
// frame, but that doesn't work. Not sure why.
[mainDocumentView setNeedsDisplay: YES];
[mainDocumentView display];
-
- // This should be redundant, given the setNeedsDisplay: on the
- // main view above.
- [thisDocumentView setNeedsDisplay: YES];
- [thisDocumentView display];
-
+
[[ds _locationChangeHandler] locationChangeDone: [ds mainDocumentError] forDataSource:ds];
//if ([ds isDocumentHTML])
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index a4b0839..8097e22 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -368,41 +368,55 @@ static const char * const stateNames[6] = {
if (![ds isLoading]) {
id mainView = [[[self controller] mainFrame] webView];
id mainDocumentView = [mainView documentView];
+#if 0
id thisView = [self webView];
id thisDocumentView = [thisView documentView];
-
+#endif
[self _setState: IFWEBFRAMESTATE_COMPLETE];
[[ds _bridge] end];
-
+
// We have to layout the main document as
// it may change the size of frames.
- if ([mainView isDocumentHTML]){
- [mainDocumentView setNeedsLayout: YES];
+ // FIXME: Why is this necessary? and recurse.
+ {
+ if ([mainView isDocumentHTML]){
+ [mainDocumentView setNeedsLayout: YES];
+ }
+ [mainDocumentView layout];
+
+ NSArray *subFrames = [[[[self controller] mainFrame] dataSource] children];
+ unsigned int i;
+ id dview;
+ for (i = 0; i < [subFrames count]; i++){
+ dview = [[[subFrames objectAtIndex: i] webView] documentView];
+ if ([[[subFrames objectAtIndex: i] webView] isDocumentHTML])
+ [dview setNeedsLayout: YES];
+ [dview layout];
+ }
}
- [mainDocumentView layout];
+#if 0
// Tell the just loaded document to layout. This may be necessary
// for non-html content that needs a layout message.
if ([thisView isDocumentHTML]){
[thisDocumentView setNeedsLayout: YES];
}
- [[thisView documentView] layout];
+ [thisDocumentView layout];
+
+ [thisDocumentView setNeedsDisplay: YES];
+ [thisDocumentView display];
+#endif
// Jump to anchor point, if necessary.
[[ds _bridge] scrollToBaseAnchor];
-
+
// FIXME: We have to draw the whole document hierarchy. We should be
// able to just draw the document associated with this
// frame, but that doesn't work. Not sure why.
[mainDocumentView setNeedsDisplay: YES];
[mainDocumentView display];
-
- // This should be redundant, given the setNeedsDisplay: on the
- // main view above.
- [thisDocumentView setNeedsDisplay: YES];
- [thisDocumentView display];
-
+
[[ds _locationChangeHandler] locationChangeDone: [ds mainDocumentError] forDataSource:ds];
//if ([ds isDocumentHTML])
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index b596a3a..003db22 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -22,6 +22,7 @@
#import <qpainter.h>
#import <qevent.h>
#import <html/html_documentimpl.h>
+#import <rendering/render_object.h>
#import <KWQKHTMLPartImpl.h>
@@ -192,6 +193,7 @@
double start = CFAbsoluteTimeGetCurrent();
#endif
+ widget->part()->xmlDocImpl()->renderer()->setLayouted(false);
WEBKITDEBUGLEVEL (WEBKIT_LOG_VIEW, "%s doing layout\n", DEBUG_OBJECT(self));
widget->layout();
_private->needsLayout = NO;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list