Bug 704691 - Fire STATE_IS_NETWORK notifications with print status so that the download manager can track "Save as PDF" prints. r=bz

This commit is contained in:
Margaret Leibovic 2011-11-28 13:43:33 -08:00
Родитель e9c13fa050
Коммит 2bf058bd97
2 изменённых файлов: 5 добавлений и 6 удалений

Просмотреть файл

@ -134,7 +134,7 @@ nsPrintData::~nsPrintData()
void nsPrintData::OnStartPrinting() void nsPrintData::OnStartPrinting()
{ {
if (!mOnStartSent) { if (!mOnStartSent) {
DoOnProgressChange(0, 0, true, nsIWebProgressListener::STATE_START|nsIWebProgressListener::STATE_IS_DOCUMENT); DoOnProgressChange(0, 0, true, nsIWebProgressListener::STATE_START|nsIWebProgressListener::STATE_IS_DOCUMENT|nsIWebProgressListener::STATE_IS_NETWORK);
mOnStartSent = true; mOnStartSent = true;
} }
} }
@ -142,19 +142,18 @@ void nsPrintData::OnStartPrinting()
void nsPrintData::OnEndPrinting() void nsPrintData::OnEndPrinting()
{ {
DoOnProgressChange(100, 100, true, nsIWebProgressListener::STATE_STOP|nsIWebProgressListener::STATE_IS_DOCUMENT); DoOnProgressChange(100, 100, true, nsIWebProgressListener::STATE_STOP|nsIWebProgressListener::STATE_IS_DOCUMENT);
DoOnProgressChange(100, 100, true, nsIWebProgressListener::STATE_STOP|nsIWebProgressListener::STATE_IS_NETWORK);
} }
void void
nsPrintData::DoOnProgressChange(PRInt32 aProgess, nsPrintData::DoOnProgressChange(PRInt32 aProgress,
PRInt32 aMaxProgress, PRInt32 aMaxProgress,
bool aDoStartStop, bool aDoStartStop,
PRInt32 aFlag) PRInt32 aFlag)
{ {
if (aProgess == 0) return;
for (PRInt32 i=0;i<mPrintProgressListeners.Count();i++) { for (PRInt32 i=0;i<mPrintProgressListeners.Count();i++) {
nsIWebProgressListener* wpl = mPrintProgressListeners.ObjectAt(i); nsIWebProgressListener* wpl = mPrintProgressListeners.ObjectAt(i);
wpl->OnProgressChange(nsnull, nsnull, aProgess, aMaxProgress, aProgess, aMaxProgress); wpl->OnProgressChange(nsnull, nsnull, aProgress, aMaxProgress, aProgress, aMaxProgress);
if (aDoStartStop) { if (aDoStartStop) {
wpl->OnStateChange(nsnull, nsnull, aFlag, 0); wpl->OnStateChange(nsnull, nsnull, aFlag, 0);
} }

Просмотреть файл

@ -85,7 +85,7 @@ public:
// Listener Helper Methods // Listener Helper Methods
void OnEndPrinting(); void OnEndPrinting();
void OnStartPrinting(); void OnStartPrinting();
void DoOnProgressChange(PRInt32 aProgess, void DoOnProgressChange(PRInt32 aProgress,
PRInt32 aMaxProgress, PRInt32 aMaxProgress,
bool aDoStartStop, bool aDoStartStop,
PRInt32 aFlag); PRInt32 aFlag);