[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

cblu cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:35:20 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 7c1004a37fd96bb44aa91e8225640b90b17d3865
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Apr 8 19:15:35 2003 +0000

    	Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous)
    
            Reviewed by darin.
    
            * Plugins.subproj/WebNetscapePluginDocumentView.m:
            (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that.
            * Plugins.subproj/WebNetscapePluginRepresentation.h:
            * Plugins.subproj/WebNetscapePluginRepresentation.m:
            (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source
            (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c1eb5aa..3b78d54 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,16 @@
+2003-04-08  Chris Blumenberg  <cblu at apple.com>
+
+	Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous)
+
+        Reviewed by darin.
+
+        * Plugins.subproj/WebNetscapePluginDocumentView.m:
+        (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that.
+        * Plugins.subproj/WebNetscapePluginRepresentation.h:
+        * Plugins.subproj/WebNetscapePluginRepresentation.m:
+        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source
+        (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0
+
 2003-04-07  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
index fefc18d..9cfeea2 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
@@ -54,12 +54,11 @@
 
 - (void)didStart
 {
-    if ([[dataSource data] length] > 0) {
-        // Plug-in started after data was received. Redeliver what was already received.
-        WebNetscapePluginRepresentation *representation = (WebNetscapePluginRepresentation *)[dataSource representation];
-        ASSERT([representation isKindOfClass:[WebNetscapePluginRepresentation class]]);
-        [representation redeliverStream];
-    }
+    // Deliver what has not been passed to the plug-in up to this point.
+    // Do this in case the plug-in was started after the load started.
+    WebNetscapePluginRepresentation *representation = (WebNetscapePluginRepresentation *)[dataSource representation];
+    ASSERT([representation isKindOfClass:[WebNetscapePluginRepresentation class]]);
+    [representation redeliverStream];
 }
 
 - (WebDataSource *)dataSource
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.h b/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.h
index 83f9056..3e5cae5 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.h
+++ b/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.h
@@ -13,6 +13,7 @@
 
 @interface WebNetscapePluginRepresentation : WebBaseNetscapePluginStream <WebDocumentRepresentation>
 {
+    unsigned _dataLengthReceived;
     WebDataSource *_dataSource;
     WebError *_error;
 }
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m b/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m
index 16ad63d..a4fbf45 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginRepresentation.m
@@ -37,6 +37,8 @@
 
 - (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)ds
 {
+    _dataLengthReceived += [data length];
+    
     WebNetscapePluginDocumentView *view = (WebNetscapePluginDocumentView *)[[[_dataSource webFrame] frameView] documentView];
     ASSERT([view isKindOfClass:[WebNetscapePluginDocumentView class]]);
     
@@ -90,9 +92,11 @@
 - (void)redeliverStream
 {
     if (_dataSource && [self isPluginViewStarted]) {
-        instance = NULL;
-        NSData *data = [_dataSource data];
-        if ([data length] > 0) {
+        // Deliver what has not been passed to the plug-in up to this point.
+        if (_dataLengthReceived > 0) {
+            NSData *data = [[_dataSource data] subdataWithRange:NSMakeRange(0, _dataLengthReceived)];
+            instance = NULL;
+            _dataLengthReceived = 0;
             [self receivedData:data withDataSource:_dataSource];
             if (![_dataSource isLoading]) {
                 if (_error) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list