In order to generate tagged PDF later, we need the ability to associate printed content with semantic document content. The BrowsingContext id is the easiest way to do this without too much coupling of modules. Differential Revision: https://phabricator.services.mozilla.com/D285957
37 lines
1.3 KiB
C++
37 lines
1.3 KiB
C++
/* 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/. */
|
|
#ifndef nsDeviceContextAndroid_h_
|
|
#define nsDeviceContextAndroid_h_
|
|
|
|
#include "nsIDeviceContextSpec.h"
|
|
#include "nsCOMPtr.h"
|
|
#include "mozilla/gfx/Point.h"
|
|
#include "mozilla/gfx/PrintPromise.h"
|
|
|
|
class nsDeviceContextSpecAndroid final : public nsIDeviceContextSpec {
|
|
private:
|
|
virtual ~nsDeviceContextSpecAndroid();
|
|
|
|
public:
|
|
using IntSize = mozilla::gfx::IntSize;
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
already_AddRefed<PrintTarget> MakePrintTarget() final;
|
|
|
|
NS_IMETHOD Init(nsIPrintSettings* aPS, bool aIsPrintPreview) override;
|
|
NS_IMETHOD BeginDocument(const nsAString& aTitle,
|
|
const nsAString& aPrintToFileName,
|
|
uint64_t aBrowsingContextId, int32_t aStartPage,
|
|
int32_t aEndPage) override;
|
|
RefPtr<mozilla::gfx::PrintEndDocumentPromise> EndDocument() override;
|
|
NS_IMETHOD BeginPage(const IntSize& aSizeInPoints) override { return NS_OK; }
|
|
NS_IMETHOD EndPage() override { return NS_OK; }
|
|
|
|
private:
|
|
nsresult DoEndDocument();
|
|
nsCOMPtr<nsIFile> mTempFile;
|
|
};
|
|
#endif // nsDeviceContextAndroid_h_
|