123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "mozilla/Unused.h"
- #include "nsIObserver.h"
- #include "PrintProgressDialogChild.h"
- class nsIWebProgress;
- class nsIRequest;
- using mozilla::Unused;
- namespace mozilla {
- namespace embedding {
- NS_IMPL_ISUPPORTS(PrintProgressDialogChild,
- nsIWebProgressListener,
- nsIPrintProgressParams)
- PrintProgressDialogChild::PrintProgressDialogChild(
- nsIObserver* aOpenObserver) :
- mOpenObserver(aOpenObserver)
- {
- MOZ_COUNT_CTOR(PrintProgressDialogChild);
- }
- PrintProgressDialogChild::~PrintProgressDialogChild()
- {
- // When the printing engine stops supplying information about printing
- // progress, it'll drop references to us and destroy us. We need to signal
- // the parent to decrement its refcount, as well as prevent it from attempting
- // to contact us further.
- Unused << Send__delete__(this);
- MOZ_COUNT_DTOR(PrintProgressDialogChild);
- }
- bool
- PrintProgressDialogChild::RecvDialogOpened()
- {
- // nsPrintEngine's observer, which we're reporting to here, doesn't care
- // what gets passed as the subject, topic or data, so we'll just send
- // nullptrs.
- mOpenObserver->Observe(nullptr, nullptr, nullptr);
- return true;
- }
- // nsIWebProgressListener
- NS_IMETHODIMP
- PrintProgressDialogChild::OnStateChange(nsIWebProgress* aProgress,
- nsIRequest* aRequest,
- uint32_t aStateFlags,
- nsresult aStatus)
- {
- Unused << SendStateChange(aStateFlags, aStatus);
- return NS_OK;
- }
- NS_IMETHODIMP
- PrintProgressDialogChild::OnProgressChange(nsIWebProgress * aProgress,
- nsIRequest * aRequest,
- int32_t aCurSelfProgress,
- int32_t aMaxSelfProgress,
- int32_t aCurTotalProgress,
- int32_t aMaxTotalProgress)
- {
- Unused << SendProgressChange(aCurSelfProgress, aMaxSelfProgress,
- aCurTotalProgress, aMaxTotalProgress);
- return NS_OK;
- }
- NS_IMETHODIMP
- PrintProgressDialogChild::OnLocationChange(nsIWebProgress* aProgress,
- nsIRequest* aRequest,
- nsIURI* aURI,
- uint32_t aFlags)
- {
- return NS_OK;
- }
- NS_IMETHODIMP
- PrintProgressDialogChild::OnStatusChange(nsIWebProgress* aProgress,
- nsIRequest* aRequest,
- nsresult aStatus,
- const char16_t* aMessage)
- {
- return NS_OK;
- }
- NS_IMETHODIMP
- PrintProgressDialogChild::OnSecurityChange(nsIWebProgress* aProgress,
- nsIRequest* aRequest,
- uint32_t aState)
- {
- return NS_OK;
- }
- // nsIPrintProgressParams
- NS_IMETHODIMP PrintProgressDialogChild::GetDocTitle(char16_t* *aDocTitle)
- {
- NS_ENSURE_ARG(aDocTitle);
- *aDocTitle = ToNewUnicode(mDocTitle);
- return NS_OK;
- }
- NS_IMETHODIMP PrintProgressDialogChild::SetDocTitle(const char16_t* aDocTitle)
- {
- mDocTitle = aDocTitle;
- Unused << SendDocTitleChange(nsString(aDocTitle));
- return NS_OK;
- }
- NS_IMETHODIMP PrintProgressDialogChild::GetDocURL(char16_t **aDocURL)
- {
- NS_ENSURE_ARG(aDocURL);
- *aDocURL = ToNewUnicode(mDocURL);
- return NS_OK;
- }
- NS_IMETHODIMP PrintProgressDialogChild::SetDocURL(const char16_t* aDocURL)
- {
- mDocURL = aDocURL;
- Unused << SendDocURLChange(nsString(aDocURL));
- return NS_OK;
- }
- } // namespace embedding
- } // namespace mozilla
|