[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:20:51 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 46dffca1b220ec1f77eb5dc26c8a831d0cc2f9a6
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jun 21 01:27:34 2002 +0000
* WebCoreSupport.subproj/IFImageRenderer.m:
(-[IFImageRenderer frameDuration]):
Added minimum 1/60th second duration per frame.
* WebView.subproj/IFDynamicScrollBarsView.m:
(-[IFDynamicScrollBarsView updateScrollers]):
Only display scrollview if scrollers changed.
* WebView.subproj/IFWebFramePrivate.mm:
(-[IFWebFrame _setState:]):
Explicity turn on copiesOnScroll. This may cause problems w/
plugins. Need to verify once plugins are no longer crashing.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 3e28250..3bbab25 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,16 @@
+2002-06-20 Richard Williamson (local) <rjw at apple.com>
+
+ * WebCoreSupport.subproj/IFImageRenderer.m:
+ (-[IFImageRenderer frameDuration]):
+ Added minimum 1/60th second duration per frame.
+ * WebView.subproj/IFDynamicScrollBarsView.m:
+ (-[IFDynamicScrollBarsView updateScrollers]):
+ Only display scrollview if scrollers changed.
+ * WebView.subproj/IFWebFramePrivate.mm:
+ (-[IFWebFrame _setState:]):
+ Explicity turn on copiesOnScroll. This may cause problems w/
+ plugins. Need to verify once plugins are no longer crashing.
+
2002-06-20 Darin Adler <darin at apple.com>
Fix for leak where sub-frame IFHTMLViews would not call _stopPlugins.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 3e28250..3bbab25 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,16 @@
+2002-06-20 Richard Williamson (local) <rjw at apple.com>
+
+ * WebCoreSupport.subproj/IFImageRenderer.m:
+ (-[IFImageRenderer frameDuration]):
+ Added minimum 1/60th second duration per frame.
+ * WebView.subproj/IFDynamicScrollBarsView.m:
+ (-[IFDynamicScrollBarsView updateScrollers]):
+ Only display scrollview if scrollers changed.
+ * WebView.subproj/IFWebFramePrivate.mm:
+ (-[IFWebFrame _setState:]):
+ Explicity turn on copiesOnScroll. This may cause problems w/
+ plugins. Need to verify once plugins are no longer crashing.
+
2002-06-20 Darin Adler <darin at apple.com>
Fix for leak where sub-frame IFHTMLViews would not call _stopPlugins.
diff --git a/WebKit/WebCoreSupport.subproj/IFImageRenderer.m b/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
index d9cf278..1d70b97 100644
--- a/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
+++ b/WebKit/WebCoreSupport.subproj/IFImageRenderer.m
@@ -113,7 +113,21 @@ static NSMutableArray *activeImageRenderers;
- (float)frameDuration
{
id property = [self firstRepProperty:NSImageCurrentFrameDuration];
- return property != nil ? [property floatValue] : 0.0;
+ float duration = (property != nil ? [property floatValue] : 0.0);
+ if (duration < 0.0167){
+ /*
+ Many annoying ads specify a 0 duration to make an image flash
+ as quickly as possible. However a zero duration is faster than
+ the refresh rate. We need to pick a minimum duration.
+
+ Browsers handle the minimum time case differently. IE seems to use something
+ close to 1/60th of a second. Konqueror uses 0. The ImageMagick library
+ uses 1/100th. The units in the GIF specification are 1/100th of second.
+ We will use 1/60th of second as the minimum time.
+ */
+ duration = .0167;
+ }
+ return duration;
}
- (void)nextFrame:(id)context
diff --git a/WebKit/WebCoreSupport.subproj/WebImageRenderer.m b/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
index d9cf278..1d70b97 100644
--- a/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
+++ b/WebKit/WebCoreSupport.subproj/WebImageRenderer.m
@@ -113,7 +113,21 @@ static NSMutableArray *activeImageRenderers;
- (float)frameDuration
{
id property = [self firstRepProperty:NSImageCurrentFrameDuration];
- return property != nil ? [property floatValue] : 0.0;
+ float duration = (property != nil ? [property floatValue] : 0.0);
+ if (duration < 0.0167){
+ /*
+ Many annoying ads specify a 0 duration to make an image flash
+ as quickly as possible. However a zero duration is faster than
+ the refresh rate. We need to pick a minimum duration.
+
+ Browsers handle the minimum time case differently. IE seems to use something
+ close to 1/60th of a second. Konqueror uses 0. The ImageMagick library
+ uses 1/100th. The units in the GIF specification are 1/100th of second.
+ We will use 1/60th of second as the minimum time.
+ */
+ duration = .0167;
+ }
+ return duration;
}
- (void)nextFrame:(id)context
diff --git a/WebKit/WebView.subproj/IFDynamicScrollBarsView.m b/WebKit/WebView.subproj/IFDynamicScrollBarsView.m
index 76256fc..687bef3 100644
--- a/WebKit/WebView.subproj/IFDynamicScrollBarsView.m
+++ b/WebKit/WebView.subproj/IFDynamicScrollBarsView.m
@@ -36,6 +36,7 @@
- (void)updateScrollers
{
+ BOOL scrollersChanged = NO;
if (allowsScrolling){
BOOL scrollsVertically;
BOOL scrollsHorizontally;
@@ -51,11 +52,21 @@
if (scrollsHorizontally && !scrollsVertically)
scrollsVertically = ([dview bounds].size.height + [NSScroller scrollerWidth]) > [self frame].size.height;
- [self setHasVerticalScroller: scrollsVertically];
- [self setHasHorizontalScroller: scrollsHorizontally];
+ if ([self hasVerticalScroller] != scrollsVertically){
+ [self setHasVerticalScroller: scrollsVertically];
+ scrollersChanged = YES;
+ }
+
+ if ([self hasHorizontalScroller] != scrollsHorizontally){
+ [self setHasHorizontalScroller: scrollsHorizontally];
+ scrollersChanged = YES;
+ }
+ }
+
+ if (scrollersChanged){
+ [self tile];
+ [self setNeedsDisplay: YES];
}
- [self tile];
- [self setNeedsDisplay: YES];
}
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.mm b/WebKit/WebView.subproj/IFWebFramePrivate.mm
index 083af91..d61ecd7 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.mm
@@ -297,7 +297,9 @@ static const char * const stateNames[6] = {
}
if (_private->state == IFWEBFRAMESTATE_COMPLETE){
- [[[self webView] frameScrollView] setDrawsBackground: YES];
+ NSScrollView *sv = [[self webView] frameScrollView];
+ [sv setDrawsBackground: YES];
+ [[sv contentView] setCopiesOnScroll: YES];
}
}
diff --git a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
index 76256fc..687bef3 100644
--- a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
+++ b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
@@ -36,6 +36,7 @@
- (void)updateScrollers
{
+ BOOL scrollersChanged = NO;
if (allowsScrolling){
BOOL scrollsVertically;
BOOL scrollsHorizontally;
@@ -51,11 +52,21 @@
if (scrollsHorizontally && !scrollsVertically)
scrollsVertically = ([dview bounds].size.height + [NSScroller scrollerWidth]) > [self frame].size.height;
- [self setHasVerticalScroller: scrollsVertically];
- [self setHasHorizontalScroller: scrollsHorizontally];
+ if ([self hasVerticalScroller] != scrollsVertically){
+ [self setHasVerticalScroller: scrollsVertically];
+ scrollersChanged = YES;
+ }
+
+ if ([self hasHorizontalScroller] != scrollsHorizontally){
+ [self setHasHorizontalScroller: scrollsHorizontally];
+ scrollersChanged = YES;
+ }
+ }
+
+ if (scrollersChanged){
+ [self tile];
+ [self setNeedsDisplay: YES];
}
- [self tile];
- [self setNeedsDisplay: YES];
}
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 083af91..d61ecd7 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -297,7 +297,9 @@ static const char * const stateNames[6] = {
}
if (_private->state == IFWEBFRAMESTATE_COMPLETE){
- [[[self webView] frameScrollView] setDrawsBackground: YES];
+ NSScrollView *sv = [[self webView] frameScrollView];
+ [sv setDrawsBackground: YES];
+ [[sv contentView] setCopiesOnScroll: YES];
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list