[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:57:04 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 1c7177cb6d7578ff94c1b4d958e4367c0b9403c6
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Mar 7 19:14:19 2002 +0000
Lots of little changes.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index e4e0a97..11b04bf 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,24 @@
+2002-03-06 Richard Williamson <rjw at apple.com>
+
+ Lots of little changes to improve drawing, and dynamic scroll bar
+ layout. We now have NO flash between pages, however, I still need
+ to add a transition timeout. As currently implemented the page will not
+ transition until the document is read.
+
+ * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
+ locationChangeDone:forFrame:]):
+ * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
+ reflectScrolledClipView:]):
+ * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
+ _transitionProvisionalToCommitted]), (-[IFWebFrame _checkLoadComplete:]):
+ * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
+ dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]),
+ (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView
+ drawRect:]), (-[IFWebView setFrame:]):
+ * WebView.subproj/IFWebViewPrivate.h:
+ * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _stopPlugins]), (-[IFWebView
+ _removeSubviews]):
+
2002-03-06 John Sullivan <sullivan at apple.com>
* Misc.subproj/IFError.h: Removed stray but evil import.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index e4e0a97..11b04bf 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,24 @@
+2002-03-06 Richard Williamson <rjw at apple.com>
+
+ Lots of little changes to improve drawing, and dynamic scroll bar
+ layout. We now have NO flash between pages, however, I still need
+ to add a transition timeout. As currently implemented the page will not
+ transition until the document is read.
+
+ * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
+ locationChangeDone:forFrame:]):
+ * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
+ reflectScrolledClipView:]):
+ * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
+ _transitionProvisionalToCommitted]), (-[IFWebFrame _checkLoadComplete:]):
+ * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
+ dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]),
+ (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView
+ drawRect:]), (-[IFWebView setFrame:]):
+ * WebView.subproj/IFWebViewPrivate.h:
+ * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _stopPlugins]), (-[IFWebView
+ _removeSubviews]):
+
2002-03-06 John Sullivan <sullivan at apple.com>
* Misc.subproj/IFError.h: Removed stray but evil import.
diff --git a/WebKit/WebView.subproj/IFBaseWebController.mm b/WebKit/WebView.subproj/IFBaseWebController.mm
index 6555f6e..4711034 100644
--- a/WebKit/WebView.subproj/IFBaseWebController.mm
+++ b/WebKit/WebView.subproj/IFBaseWebController.mm
@@ -225,8 +225,8 @@ static id IFLoadProgressMake()
- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame
{
- [[frame view] setNeedsLayout: YES];
- [[frame view] setNeedsDisplay: YES];
+ //[[frame view] setNeedsLayout: YES];
+ //[[frame view] setNeedsDisplay: YES];
}
- (void)receivedPageTitle: (NSString *)title forDataSource: (IFWebDataSource *)dataSource
diff --git a/WebKit/WebView.subproj/IFDynamicScrollBarsView.m b/WebKit/WebView.subproj/IFDynamicScrollBarsView.m
index 9306f73..596c97c 100644
--- a/WebKit/WebView.subproj/IFDynamicScrollBarsView.m
+++ b/WebKit/WebView.subproj/IFDynamicScrollBarsView.m
@@ -8,11 +8,31 @@
#import <WebKit/IFDynamicScrollBarsView.h>
+#import <WebKit/IFWebView.h>
+
+#import <WebKit/WebKitDebug.h>
+
+ at interface IFWebView (_IFPrivate)
+- (void *)_provisionalWidget;
+ at end
+
@implementation IFDynamicScrollBarsView
// make the horizontal and vertical scroll bars come and go as needed
- (void) reflectScrolledClipView: (NSClipView*)clipView
{
+ id cview = [self documentView];
+
+ WEBKITDEBUGLEVEL (0x100, "\n");
+
+ // Do nothing if the web view is in the provisional state.
+ if ([cview isKindOfClass: NSClassFromString (@"IFWebView")]){
+ if ([cview _provisionalWidget] != 0){
+ WEBKITDEBUGLEVEL (0x100, "not changing scrollview, content in provisional state.\n");
+ return;
+ }
+ }
+
if( clipView == [self contentView] ) {
BOOL scrollsVertically = [[self documentView] bounds].size.height > [self contentSize].height;
BOOL scrollsHorizontally = [[self documentView] bounds].size.width > [self contentSize].width;
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.mm b/WebKit/WebView.subproj/IFWebFramePrivate.mm
index 4c847dd..5ccc60d 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.mm
@@ -10,6 +10,9 @@
#import <WebKit/WebKitDebug.h>
+// includes from kde
+#include <khtmlview.h>
+
@implementation IFWebFramePrivate
- (void)dealloc
@@ -101,6 +104,10 @@
WEBKIT_ASSERT ([self _state] == IFWEBFRAMESTATE_PROVISIONAL);
+ [[self view] _stopPlugins];
+
+ [[self view] _removeSubviews];
+
// Set the committed data source on the frame.
[self _setDataSource: data->provisionalDataSource];
@@ -161,9 +168,11 @@
if (![[self dataSource] isLoading]){
[self _setState: IFWEBFRAMESTATE_COMPLETE];
- [[self view] setNeedsLayout: YES];
- [[self view] setNeedsDisplay: YES];
+
+ [[self dataSource] _part]->end();
+
if ([[self controller] mainFrame] == self){
+ [[self view] setNeedsLayout: YES];
[[self view] layout];
[[self view] display];
}
diff --git a/WebKit/WebView.subproj/IFWebView.mm b/WebKit/WebView.subproj/IFWebView.mm
index cf0c15c..d4bb666 100644
--- a/WebKit/WebView.subproj/IFWebView.mm
+++ b/WebKit/WebView.subproj/IFWebView.mm
@@ -30,7 +30,7 @@
((IFWebViewPrivate *)_viewPrivate)->needsLayout = YES;
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(windowResized:) name: NSWindowDidResizeNotification object: nil];
-
+
return self;
}
@@ -86,13 +86,15 @@
data->widget = data->provisionalWidget;
data->provisionalWidget = 0;
-
+
+/*
// Remove any remnants, i.e. form widgets, from the
// previous page.
[self _resetView];
// Force a layout.
[self layout];
+*/
}
@@ -111,7 +113,7 @@
if (widget->part()->xmlDocImpl() &&
widget->part()->xmlDocImpl()->renderer()){
if (((IFWebViewPrivate *)_viewPrivate)->needsLayout){
- //WEBKITDEBUGLEVEL (0x100, "doing layout\n");
+ WEBKITDEBUGLEVEL (0x100, "doing layout\n");
//double start = CFAbsoluteTimeGetCurrent();
widget->layout(TRUE);
//WebKitDebugAtLevel (0x200, "layout time %e\n", CFAbsoluteTimeGetCurrent() - start);
@@ -248,6 +250,11 @@
}
+- (BOOL)isOpaque
+{
+ return YES;
+}
+
#ifdef DELAY_LAYOUT
- delayLayout: sender
@@ -277,14 +284,14 @@
- (void)setNeedsDisplay:(BOOL)flag
{
- //WEBKITDEBUGLEVEL (0x100, "setNeedsDisplay:\n");
+ WEBKITDEBUGLEVEL1 (0x100, "flag = %d\n", (int)flag);
[super setNeedsDisplay: flag];
}
- (void)setNeedsLayout: (bool)flag
{
- //WEBKITDEBUGLEVEL (0x100, "setNeedsLayout:\n");
+ WEBKITDEBUGLEVEL1 (0x100, "flag = %d\n", (int)flag);
((IFWebViewPrivate *)_viewPrivate)->needsLayout = flag;
}
@@ -292,10 +299,15 @@
// This should eventually be removed.
- (void)drawRect:(NSRect)rect {
KHTMLView *widget = ((IFWebViewPrivate *)_viewPrivate)->widget;
+ IFWebViewPrivate *data = ((IFWebViewPrivate *)_viewPrivate);
- //WEBKITDEBUGLEVEL (0x100, "drawRect:\n");
+ if (data->provisionalWidget != 0){
+ WEBKITDEBUGLEVEL (0x100, "not drawing, frame in provisional state.\n");
+ return;
+ }
+
if (widget != 0l){
- //WEBKITDEBUGLEVEL (0x100, "drawRect: drawing\n");
+ WEBKITDEBUGLEVEL (0x100, "drawing\n");
[self layout];
#ifdef _KWQ_TIMING
@@ -353,10 +365,10 @@
// Override superclass implementation. We want to relayout when the frame size is changed.
-- (void)setFrame:(NSRect)frameRect
+- (void)setFrame:(NSRect)rect
{
- [super setFrame:frameRect];
- //[self setNeedsLayout: YES];
+ WEBKITDEBUGLEVEL4 (0x100, "(%f,%f) width = %f, height = %f\n", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
+ [super setFrame:rect];
}
- (void)windowResized: (NSNotification *)notification
diff --git a/WebKit/WebView.subproj/IFWebViewPrivate.h b/WebKit/WebView.subproj/IFWebViewPrivate.h
index f6ac554..a33ee55 100644
--- a/WebKit/WebView.subproj/IFWebViewPrivate.h
+++ b/WebKit/WebView.subproj/IFWebViewPrivate.h
@@ -29,10 +29,11 @@ class KHTMLView;
@interface IFWebView (IFPrivate)
- (void)_setController: (id <IFWebController>)controller;
-- (void)_resetView;
- (void)_resetWidget;
- (KHTMLView *)_widget;
- (KHTMLView *)_provisionalWidget;
+- (void)_stopPlugins;
+- (void)_removeSubviews;
- (void)_setFrameScrollView: (IFDynamicScrollBarsView *)sv;
- (IFDynamicScrollBarsView *)_frameScrollView;
@end
diff --git a/WebKit/WebView.subproj/IFWebViewPrivate.mm b/WebKit/WebView.subproj/IFWebViewPrivate.mm
index c718a6a..f169861 100644
--- a/WebKit/WebView.subproj/IFWebViewPrivate.mm
+++ b/WebKit/WebView.subproj/IFWebViewPrivate.mm
@@ -5,8 +5,10 @@
in WebCore. Instances of this class are referenced by _viewPrivate in
NSWebPageView.
*/
-#import <IFWebViewPrivate.h>
-#import <IFPluginView.h>
+#import <WebKit/WebKitDebug.h>
+
+#import <WebKit/IFWebViewPrivate.h>
+#import <WebKit/IFPluginView.h>
// Includes from KDE
#include <khtmlview.h>
@@ -51,25 +53,39 @@
((IFWebViewPrivate *)_viewPrivate)->widget = 0;
}
-- (void)_resetView
+- (void)_stopPlugins
{
NSArray *views = [self subviews];
int count;
count = [views count];
while (count--){
- //WebKitDebugAtLevel(0x200, "Removing %p %s\n", [views objectAtIndex: 0], DEBUG_OBJECT([[[views objectAtIndex: 0] class] className]));
id view;
view = [views objectAtIndex: count];
if ([view isKindOfClass: NSClassFromString (@"IFPluginView")])
[(IFPluginView *)view stop];
+ }
+}
+
+
+- (void)_removeSubviews
+{
+ // Remove all the views. They will be be re-added if this
+ // is a re-layout.
+ NSArray *views = [self subviews];
+ int count;
+
+ count = [views count];
+ while (count--){
+ id view;
+ view = [views objectAtIndex: count];
[view removeFromSuperviewWithoutNeedingDisplay];
}
- [self setFrameSize: NSMakeSize (0,0)];
}
+
- (void)_setController: (id <IFWebController>)controller
{
// Not retained.
diff --git a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
index 9306f73..596c97c 100644
--- a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
+++ b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
@@ -8,11 +8,31 @@
#import <WebKit/IFDynamicScrollBarsView.h>
+#import <WebKit/IFWebView.h>
+
+#import <WebKit/WebKitDebug.h>
+
+ at interface IFWebView (_IFPrivate)
+- (void *)_provisionalWidget;
+ at end
+
@implementation IFDynamicScrollBarsView
// make the horizontal and vertical scroll bars come and go as needed
- (void) reflectScrolledClipView: (NSClipView*)clipView
{
+ id cview = [self documentView];
+
+ WEBKITDEBUGLEVEL (0x100, "\n");
+
+ // Do nothing if the web view is in the provisional state.
+ if ([cview isKindOfClass: NSClassFromString (@"IFWebView")]){
+ if ([cview _provisionalWidget] != 0){
+ WEBKITDEBUGLEVEL (0x100, "not changing scrollview, content in provisional state.\n");
+ return;
+ }
+ }
+
if( clipView == [self contentView] ) {
BOOL scrollsVertically = [[self documentView] bounds].size.height > [self contentSize].height;
BOOL scrollsHorizontally = [[self documentView] bounds].size.width > [self contentSize].width;
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 4c847dd..5ccc60d 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -10,6 +10,9 @@
#import <WebKit/WebKitDebug.h>
+// includes from kde
+#include <khtmlview.h>
+
@implementation IFWebFramePrivate
- (void)dealloc
@@ -101,6 +104,10 @@
WEBKIT_ASSERT ([self _state] == IFWEBFRAMESTATE_PROVISIONAL);
+ [[self view] _stopPlugins];
+
+ [[self view] _removeSubviews];
+
// Set the committed data source on the frame.
[self _setDataSource: data->provisionalDataSource];
@@ -161,9 +168,11 @@
if (![[self dataSource] isLoading]){
[self _setState: IFWEBFRAMESTATE_COMPLETE];
- [[self view] setNeedsLayout: YES];
- [[self view] setNeedsDisplay: YES];
+
+ [[self dataSource] _part]->end();
+
if ([[self controller] mainFrame] == self){
+ [[self view] setNeedsLayout: YES];
[[self view] layout];
[[self view] display];
}
diff --git a/WebKit/WebView.subproj/WebFrameView.m b/WebKit/WebView.subproj/WebFrameView.m
index cf0c15c..d4bb666 100644
--- a/WebKit/WebView.subproj/WebFrameView.m
+++ b/WebKit/WebView.subproj/WebFrameView.m
@@ -30,7 +30,7 @@
((IFWebViewPrivate *)_viewPrivate)->needsLayout = YES;
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(windowResized:) name: NSWindowDidResizeNotification object: nil];
-
+
return self;
}
@@ -86,13 +86,15 @@
data->widget = data->provisionalWidget;
data->provisionalWidget = 0;
-
+
+/*
// Remove any remnants, i.e. form widgets, from the
// previous page.
[self _resetView];
// Force a layout.
[self layout];
+*/
}
@@ -111,7 +113,7 @@
if (widget->part()->xmlDocImpl() &&
widget->part()->xmlDocImpl()->renderer()){
if (((IFWebViewPrivate *)_viewPrivate)->needsLayout){
- //WEBKITDEBUGLEVEL (0x100, "doing layout\n");
+ WEBKITDEBUGLEVEL (0x100, "doing layout\n");
//double start = CFAbsoluteTimeGetCurrent();
widget->layout(TRUE);
//WebKitDebugAtLevel (0x200, "layout time %e\n", CFAbsoluteTimeGetCurrent() - start);
@@ -248,6 +250,11 @@
}
+- (BOOL)isOpaque
+{
+ return YES;
+}
+
#ifdef DELAY_LAYOUT
- delayLayout: sender
@@ -277,14 +284,14 @@
- (void)setNeedsDisplay:(BOOL)flag
{
- //WEBKITDEBUGLEVEL (0x100, "setNeedsDisplay:\n");
+ WEBKITDEBUGLEVEL1 (0x100, "flag = %d\n", (int)flag);
[super setNeedsDisplay: flag];
}
- (void)setNeedsLayout: (bool)flag
{
- //WEBKITDEBUGLEVEL (0x100, "setNeedsLayout:\n");
+ WEBKITDEBUGLEVEL1 (0x100, "flag = %d\n", (int)flag);
((IFWebViewPrivate *)_viewPrivate)->needsLayout = flag;
}
@@ -292,10 +299,15 @@
// This should eventually be removed.
- (void)drawRect:(NSRect)rect {
KHTMLView *widget = ((IFWebViewPrivate *)_viewPrivate)->widget;
+ IFWebViewPrivate *data = ((IFWebViewPrivate *)_viewPrivate);
- //WEBKITDEBUGLEVEL (0x100, "drawRect:\n");
+ if (data->provisionalWidget != 0){
+ WEBKITDEBUGLEVEL (0x100, "not drawing, frame in provisional state.\n");
+ return;
+ }
+
if (widget != 0l){
- //WEBKITDEBUGLEVEL (0x100, "drawRect: drawing\n");
+ WEBKITDEBUGLEVEL (0x100, "drawing\n");
[self layout];
#ifdef _KWQ_TIMING
@@ -353,10 +365,10 @@
// Override superclass implementation. We want to relayout when the frame size is changed.
-- (void)setFrame:(NSRect)frameRect
+- (void)setFrame:(NSRect)rect
{
- [super setFrame:frameRect];
- //[self setNeedsLayout: YES];
+ WEBKITDEBUGLEVEL4 (0x100, "(%f,%f) width = %f, height = %f\n", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
+ [super setFrame:rect];
}
- (void)windowResized: (NSNotification *)notification
diff --git a/WebKit/WebView.subproj/WebFrameViewInternal.h b/WebKit/WebView.subproj/WebFrameViewInternal.h
index f6ac554..a33ee55 100644
--- a/WebKit/WebView.subproj/WebFrameViewInternal.h
+++ b/WebKit/WebView.subproj/WebFrameViewInternal.h
@@ -29,10 +29,11 @@ class KHTMLView;
@interface IFWebView (IFPrivate)
- (void)_setController: (id <IFWebController>)controller;
-- (void)_resetView;
- (void)_resetWidget;
- (KHTMLView *)_widget;
- (KHTMLView *)_provisionalWidget;
+- (void)_stopPlugins;
+- (void)_removeSubviews;
- (void)_setFrameScrollView: (IFDynamicScrollBarsView *)sv;
- (IFDynamicScrollBarsView *)_frameScrollView;
@end
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.h b/WebKit/WebView.subproj/WebFrameViewPrivate.h
index f6ac554..a33ee55 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.h
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.h
@@ -29,10 +29,11 @@ class KHTMLView;
@interface IFWebView (IFPrivate)
- (void)_setController: (id <IFWebController>)controller;
-- (void)_resetView;
- (void)_resetWidget;
- (KHTMLView *)_widget;
- (KHTMLView *)_provisionalWidget;
+- (void)_stopPlugins;
+- (void)_removeSubviews;
- (void)_setFrameScrollView: (IFDynamicScrollBarsView *)sv;
- (IFDynamicScrollBarsView *)_frameScrollView;
@end
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.m b/WebKit/WebView.subproj/WebFrameViewPrivate.m
index c718a6a..f169861 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.m
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.m
@@ -5,8 +5,10 @@
in WebCore. Instances of this class are referenced by _viewPrivate in
NSWebPageView.
*/
-#import <IFWebViewPrivate.h>
-#import <IFPluginView.h>
+#import <WebKit/WebKitDebug.h>
+
+#import <WebKit/IFWebViewPrivate.h>
+#import <WebKit/IFPluginView.h>
// Includes from KDE
#include <khtmlview.h>
@@ -51,25 +53,39 @@
((IFWebViewPrivate *)_viewPrivate)->widget = 0;
}
-- (void)_resetView
+- (void)_stopPlugins
{
NSArray *views = [self subviews];
int count;
count = [views count];
while (count--){
- //WebKitDebugAtLevel(0x200, "Removing %p %s\n", [views objectAtIndex: 0], DEBUG_OBJECT([[[views objectAtIndex: 0] class] className]));
id view;
view = [views objectAtIndex: count];
if ([view isKindOfClass: NSClassFromString (@"IFPluginView")])
[(IFPluginView *)view stop];
+ }
+}
+
+
+- (void)_removeSubviews
+{
+ // Remove all the views. They will be be re-added if this
+ // is a re-layout.
+ NSArray *views = [self subviews];
+ int count;
+
+ count = [views count];
+ while (count--){
+ id view;
+ view = [views objectAtIndex: count];
[view removeFromSuperviewWithoutNeedingDisplay];
}
- [self setFrameSize: NSMakeSize (0,0)];
}
+
- (void)_setController: (id <IFWebController>)controller
{
// Not retained.
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list