mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 08:18:41 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
158
embedding/components/printingui/ipc/PrintDataUtils.cpp
Normal file
158
embedding/components/printingui/ipc/PrintDataUtils.cpp
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* vim: set sw=4 ts=8 et tw=80 : */
|
||||
/* 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 "PrintDataUtils.h"
|
||||
#include "nsIPrintSettings.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsIWebBrowserPrint.h"
|
||||
#include "nsXPIDLString.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace embedding {
|
||||
|
||||
/**
|
||||
* MockWebBrowserPrint is a mostly useless implementation of nsIWebBrowserPrint,
|
||||
* but wraps a PrintData so that it's able to return information to print
|
||||
* settings dialogs that need an nsIWebBrowserPrint to interrogate.
|
||||
*/
|
||||
|
||||
NS_IMPL_ISUPPORTS(MockWebBrowserPrint, nsIWebBrowserPrint);
|
||||
|
||||
MockWebBrowserPrint::MockWebBrowserPrint(const PrintData &aData)
|
||||
: mData(aData)
|
||||
{
|
||||
MOZ_COUNT_CTOR(MockWebBrowserPrint);
|
||||
}
|
||||
|
||||
MockWebBrowserPrint::~MockWebBrowserPrint()
|
||||
{
|
||||
MOZ_COUNT_DTOR(MockWebBrowserPrint);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetGlobalPrintSettings(nsIPrintSettings **aGlobalPrintSettings)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetCurrentPrintSettings(nsIPrintSettings **aCurrentPrintSettings)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetCurrentChildDOMWindow(mozIDOMWindowProxy **aCurrentPrintSettings)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetDoingPrint(bool *aDoingPrint)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetDoingPrintPreview(bool *aDoingPrintPreview)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetIsFramesetDocument(bool *aIsFramesetDocument)
|
||||
{
|
||||
*aIsFramesetDocument = mData.isFramesetDocument();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetIsFramesetFrameSelected(bool *aIsFramesetFrameSelected)
|
||||
{
|
||||
*aIsFramesetFrameSelected = mData.isFramesetFrameSelected();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetIsIFrameSelected(bool *aIsIFrameSelected)
|
||||
{
|
||||
*aIsIFrameSelected = mData.isIFrameSelected();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetIsRangeSelection(bool *aIsRangeSelection)
|
||||
{
|
||||
*aIsRangeSelection = mData.isRangeSelection();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::GetPrintPreviewNumPages(int32_t *aPrintPreviewNumPages)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::Print(nsIPrintSettings* aThePrintSettings,
|
||||
nsIWebProgressListener* aWPListener)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::PrintPreview(nsIPrintSettings* aThePrintSettings,
|
||||
mozIDOMWindowProxy* aChildDOMWin,
|
||||
nsIWebProgressListener* aWPListener)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::PrintPreviewNavigate(int16_t aNavType,
|
||||
int32_t aPageNum)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::Cancel()
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::EnumerateDocumentNames(uint32_t* aCount,
|
||||
char16_t*** aResult)
|
||||
{
|
||||
*aCount = 0;
|
||||
*aResult = nullptr;
|
||||
|
||||
if (mData.printJobName().IsEmpty()) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// The only consumer that cares about this is the OS X printing
|
||||
// dialog, and even then, it only cares about the first document
|
||||
// name. That's why we only send a single document name through
|
||||
// PrintData.
|
||||
char16_t** array = (char16_t**) moz_xmalloc(sizeof(char16_t*));
|
||||
array[0] = ToNewUnicode(mData.printJobName());
|
||||
|
||||
*aCount = 1;
|
||||
*aResult = array;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
MockWebBrowserPrint::ExitPrintPreview()
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
} // namespace embedding
|
||||
} // namespace mozilla
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue