summaryrefslogtreecommitdiff
path: root/chromium/printing
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-11-21 14:09:57 +0100
committerAndras Becsi <andras.becsi@digia.com>2013-11-29 15:14:36 +0100
commiteb32ba6f51d0c21d58cd7d89785285ff8fa64624 (patch)
tree2c7c940e1dbee81b89d935626110816b494aa32c /chromium/printing
parent9427c1a0222ebd67efef1a2c7990a0fa5c9aac84 (diff)
downloadqtwebengine-chromium-eb32ba6f51d0c21d58cd7d89785285ff8fa64624.tar.gz
Update chromium to branch 1599.
Change-Id: I04e775a946a208bb4500d3b722bcb05c82b9d7cb Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'chromium/printing')
-rw-r--r--chromium/printing/image_android.cc13
-rw-r--r--chromium/printing/image_linux.cc2
-rw-r--r--chromium/printing/metafile.h6
-rw-r--r--chromium/printing/pdf_metafile_skia.cc2
-rw-r--r--chromium/printing/pdf_metafile_skia.h4
-rw-r--r--chromium/printing/printed_document.cc4
-rw-r--r--chromium/printing/printing.gyp6
-rw-r--r--chromium/printing/printing_context_android.h68
8 files changed, 95 insertions, 10 deletions
diff --git a/chromium/printing/image_android.cc b/chromium/printing/image_android.cc
new file mode 100644
index 00000000000..544cf070d93
--- /dev/null
+++ b/chromium/printing/image_android.cc
@@ -0,0 +1,13 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "printing/image.h"
+
+namespace printing {
+
+bool Image::LoadMetafile(const Metafile& metafile) {
+ return false;
+}
+
+} // namespace printing
diff --git a/chromium/printing/image_linux.cc b/chromium/printing/image_linux.cc
index 3968cfd993f..d89c4e9d808 100644
--- a/chromium/printing/image_linux.cc
+++ b/chromium/printing/image_linux.cc
@@ -4,8 +4,6 @@
#include "printing/image.h"
-#include "base/logging.h"
-
namespace printing {
bool Image::LoadMetafile(const Metafile& metafile) {
diff --git a/chromium/printing/metafile.h b/chromium/printing/metafile.h
index ca0901b2b65..e331069b505 100644
--- a/chromium/printing/metafile.h
+++ b/chromium/printing/metafile.h
@@ -29,7 +29,7 @@ class Size;
class SkDevice;
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
namespace base {
struct FileDescriptor;
}
@@ -155,12 +155,12 @@ class PRINTING_EXPORT Metafile {
gfx::NativeDrawingContext context,
const CGRect rect,
const MacRenderPageParams& params) const = 0;
-#elif defined(OS_CHROMEOS)
+#elif defined(OS_CHROMEOS) || defined(OS_ANDROID)
// Saves the underlying data to the file associated with fd. This function
// should ONLY be called after the metafile is closed.
// Returns true if writing succeeded.
virtual bool SaveToFD(const base::FileDescriptor& fd) const = 0;
-#endif // if defined(OS_CHROMEOS)
+#endif // if defined(OS_CHROMEOS) || defined(OS_ANDROID)
};
} // namespace printing
diff --git a/chromium/printing/pdf_metafile_skia.cc b/chromium/printing/pdf_metafile_skia.cc
index 3326a1d6d86..31c8c741fd4 100644
--- a/chromium/printing/pdf_metafile_skia.cc
+++ b/chromium/printing/pdf_metafile_skia.cc
@@ -192,7 +192,7 @@ bool PdfMetafileSkia::RenderPage(unsigned int page_number,
}
#endif
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
bool PdfMetafileSkia::SaveToFD(const base::FileDescriptor& fd) const {
DCHECK_GT(data_->pdf_stream_.getOffset(), 0U);
diff --git a/chromium/printing/pdf_metafile_skia.h b/chromium/printing/pdf_metafile_skia.h
index 33be6d2e0f4..c6f19712e12 100644
--- a/chromium/printing/pdf_metafile_skia.h
+++ b/chromium/printing/pdf_metafile_skia.h
@@ -63,9 +63,9 @@ class PRINTING_EXPORT PdfMetafileSkia : public Metafile {
const MacRenderPageParams& params) const OVERRIDE;
#endif
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
virtual bool SaveToFD(const base::FileDescriptor& fd) const OVERRIDE;
-#endif // if defined(OS_CHROMEOS)
+#endif // if defined(OS_CHROMEOS) || defined(OS_ANDROID)
// Return a new metafile containing just the current page in draft mode.
PdfMetafileSkia* GetMetafileForCurrentPage();
diff --git a/chromium/printing/printed_document.cc b/chromium/printing/printed_document.cc
index 6e912a11be9..59cc3856923 100644
--- a/chromium/printing/printed_document.cc
+++ b/chromium/printing/printed_document.cc
@@ -225,8 +225,8 @@ PrintedDocument::Immutable::Immutable(const PrintSettings& settings,
PrintedDocument::Immutable::~Immutable() {
}
-#if defined(OS_POSIX) && defined(USE_AURA)
-// This function is not used on aura linux/chromeos.
+#if (defined(OS_POSIX) && defined(USE_AURA)) || defined(OS_ANDROID)
+// This function is not used on aura linux/chromeos or android.
void PrintedDocument::RenderPrintedPage(const PrintedPage& page,
PrintingContext* context) const {
}
diff --git a/chromium/printing/printing.gyp b/chromium/printing/printing.gyp
index b3bbf2b04bb..890e5bfe587 100644
--- a/chromium/printing/printing.gyp
+++ b/chromium/printing/printing.gyp
@@ -37,6 +37,7 @@
'emf_win.cc',
'emf_win.h',
'image.cc',
+ 'image_android.cc',
'image_linux.cc',
'image_mac.cc',
'image_win.cc',
@@ -228,6 +229,11 @@
'printing_context_gtk.h',
],
}],
+ ['OS=="android"', {
+ 'sources': [
+ 'printing_context_android.h',
+ ],
+ }],
],
},
{
diff --git a/chromium/printing/printing_context_android.h b/chromium/printing/printing_context_android.h
new file mode 100644
index 00000000000..180382506ef
--- /dev/null
+++ b/chromium/printing/printing_context_android.h
@@ -0,0 +1,68 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PRINTING_PRINTING_CONTEXT_ANDROID_H_
+#define PRINTING_PRINTING_CONTEXT_ANDROID_H_
+
+#include <jni.h>
+
+#include <string>
+
+#include "base/android/scoped_java_ref.h"
+#include "printing/printing_context.h"
+
+namespace printing {
+
+// Android subclass of PrintingContext. The implementation for this header file
+// resides in Chrome for Android repository. This class communicates with the
+// Java side through JNI.
+class PRINTING_EXPORT PrintingContextAndroid : public PrintingContext {
+ public:
+ explicit PrintingContextAndroid(const std::string& app_locale);
+ virtual ~PrintingContextAndroid();
+
+ // Called when the page is successfully written to a PDF using the file
+ // descriptor specified, or when the printing operation failed.
+ static void PdfWritingDone(int fd, bool success);
+
+ // Called from Java, when printing settings from the user are ready or the
+ // printing operation is canceled.
+ void AskUserForSettingsReply(JNIEnv* env, jobject obj, jboolean success);
+
+ // PrintingContext implementation.
+ virtual void AskUserForSettings(
+ gfx::NativeView parent_view,
+ int max_pages,
+ bool has_selection,
+ const PrintSettingsCallback& callback) OVERRIDE;
+ virtual Result UseDefaultSettings() OVERRIDE;
+ virtual Result UpdatePrinterSettings(
+ const base::DictionaryValue& job_settings,
+ const PageRanges& ranges) OVERRIDE;
+ virtual Result InitWithSettings(const PrintSettings& settings) OVERRIDE;
+ virtual Result NewDocument(const string16& document_name) OVERRIDE;
+ virtual Result NewPage() OVERRIDE;
+ virtual Result PageDone() OVERRIDE;
+ virtual Result DocumentDone() OVERRIDE;
+ virtual void Cancel() OVERRIDE;
+ virtual void ReleaseContext() OVERRIDE;
+ virtual gfx::NativeDrawingContext context() const OVERRIDE;
+
+ // Registers JNI bindings for RegisterContext.
+ static bool RegisterPrintingContext(JNIEnv* env);
+
+ private:
+ base::android::ScopedJavaGlobalRef<jobject> j_printing_context_;
+
+ // The callback from AskUserForSettings to be called when the settings are
+ // ready on the Java side
+ PrintSettingsCallback callback_;
+
+ DISALLOW_COPY_AND_ASSIGN(PrintingContextAndroid);
+};
+
+} // namespace printing
+
+#endif // PRINTING_PRINTING_CONTEXT_ANDROID_H_
+