1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ANDROID_WEBVIEW_NATIVE_AW_PDF_EXPORTER_H_
6 #define ANDROID_WEBVIEW_NATIVE_AW_PDF_EXPORTER_H_
10 #include "android_webview/browser/renderer_host/print_manager.h"
11 #include "base/android/jni_weak_ref.h"
12 #include "base/android/scoped_java_ref.h"
13 #include "base/basictypes.h"
14 #include "base/memory/scoped_ptr.h"
15 #include "skia/ext/refptr.h"
25 namespace android_webview
{
27 class AwPdfExporter
: public PrintManagerDelegate
{
29 AwPdfExporter(JNIEnv
* env
,
31 content::WebContents
* web_contents
);
33 ~AwPdfExporter() override
;
35 void ExportToPdf(JNIEnv
* env
,
38 jobject cancel_signal
);
40 // Implement PrintManagerDelegate methods
41 void DidExportPdf(bool success
) override
;
42 bool IsCancelled() override
;
45 void CreatePdfSettings(JNIEnv
* env
, jobject obj
);
47 JavaObjectWeakGlobalRef java_ref_
;
48 content::WebContents
* web_contents_
;
50 scoped_ptr
<printing::PrintSettings
> print_settings_
;
52 DISALLOW_COPY_AND_ASSIGN(AwPdfExporter
);
55 bool RegisterAwPdfExporter(JNIEnv
* env
);
57 } // namespace android_webview
59 #endif // ANDROID_WEBVIEW_NATIVE_AW_PDF_EXPORTER_H_