Closed Bug 349245 Opened 18 years ago Closed 11 years ago

NPP_DestroyStream is not Called When User Hits Stop

Categories

(Core Graveyard :: Plug-ins, defect)

1.8 Branch
x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: lmcquarr, Unassigned)

References

()

Details

Firefox 1.5.0.6 (and mozilla 1.7.13) do not call plug-in API NPP_DestroyStream when the user presses the stop button.   This can cause a very serious hang with Firefox and PDF files, especially when the PDF files are not optimized for Fast Web View.
To duplicate:

1 - Install Adobe Reader 7.X from www.adobe.com.
2 - Browse to the URL given.  
3 - While it is downloading, hit the stop button.
4 - Then try to scroll the document to the end.
5 - Firefox and Reader will hang. 

I set breakpoints in NPP_DestroyStream and it is never called when the stop button is pressed.  This worked for a very long time in older versions of the Netscape plug-in. I do not know when the regression happened. 

The documentation says that it should be called and indeed, I see no other way short of hacks to find out if the button has been pressed in order to prevent this type of hang (I work on the plug-in for PDF to Firefox/Mozilla at Adobe).

Documentation:
NPRES_USER_BREAK: The user canceled the stream directly by clicking the Stop button or indirectly by some action, such as by deleting the instance or initiating higher-priority network operations. 

http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/streams.html#999293
BTW -- I also notice that the documentation says that NPP_DestroyStream will be called in the case of a Network error:

NPRES_NETWORK_ERR: The stream failed because of problems with the network, disk I/O error, lack of memory, or some other problem. 

This also is not happening.  I can not detect network errors in Firefox therefore and prevent this type of hang.  I get network error notifications in other browsers. 
Component: General → Plug-ins
Product: Firefox → Core
QA Contact: general → plugins
Version: 1.5.0.x Branch → 1.8 Branch
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.