From 87f307a9eaed364c8ee9de8384f2dc1dce889ebf Mon Sep 17 00:00:00 2001 From: "danm%netscape.com" Date: Wed, 12 Sep 2007 17:48:09 +0000 Subject: [PATCH] the 'url has changed' alert in OnStopRequest now asks the channel for an nsIPrompt before defaulting to nsNetSupportDialog. bugs 25684,44171. r=rjc@netscape.com git-svn-id: svn://10.0.0.236/trunk@235684 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/suite/browser/src/nsBookmarksService.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mozilla/suite/browser/src/nsBookmarksService.cpp b/mozilla/suite/browser/src/nsBookmarksService.cpp index 7f270207532..fc897975c7c 100644 --- a/mozilla/suite/browser/src/nsBookmarksService.cpp +++ b/mozilla/suite/browser/src/nsBookmarksService.cpp @@ -2653,8 +2653,16 @@ nsBookmarksService::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, // show an alert? if (schedule.Find(NS_ConvertASCIItoUCS2("alert"), PR_TRUE, 0) >= 0) { - NS_WITH_SERVICE(nsIPrompt, dialog, kNetSupportDialogCID, &rv); - if (NS_SUCCEEDED(rv)) + nsCOMPtr interfaces; + nsCOMPtr prompter; + + channel->GetNotificationCallbacks(getter_AddRefs(interfaces)); + if (interfaces) + interfaces->GetInterface(NS_GET_IID(nsIPrompt), getter_AddRefs(prompter)); + if (!prompter) + prompter = do_GetService(kNetSupportDialogCID); + + if (prompter) { nsAutoString promptStr; getLocaleString("WebPageUpdated", promptStr); @@ -2696,7 +2704,7 @@ nsBookmarksService::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, nsAutoString stopOption; getLocaleString("WebPageAskStopOption", stopOption); PRBool stopCheckingFlag = PR_FALSE; - rv = dialog->ConfirmCheck(nsnull, promptStr.GetUnicode(), stopOption.GetUnicode(), + rv = prompter->ConfirmCheck(nsnull, promptStr.GetUnicode(), stopOption.GetUnicode(), &stopCheckingFlag, &openURLFlag); if (NS_FAILED(rv)) {