Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(487)

Unified Diff: printing/printing_context_android.cc

Issue 740983002: Implement window.print() on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: WIP - removing enums and new methods Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: printing/printing_context_android.cc
diff --git a/printing/printing_context_android.cc b/printing/printing_context_android.cc
index 64139c8bfb837c708d0002bf4f85ff707a28e44e..236fb2ebe7f521588dbdff1bf7bd995014a25d40 100644
--- a/printing/printing_context_android.cc
+++ b/printing/printing_context_android.cc
@@ -82,10 +82,12 @@ PrintingContextAndroid::~PrintingContextAndroid() {
void PrintingContextAndroid::AskUserForSettings(
int max_pages,
bool has_selection,
+ bool is_scripted,
const PrintSettingsCallback& callback) {
// This method is always run in the UI thread.
callback_ = callback;
+
JNIEnv* env = base::android::AttachCurrentThread();
if (j_printing_context_.is_null()) {
j_printing_context_.Reset(Java_PrintingContext_create(
@@ -93,9 +95,13 @@ void PrintingContextAndroid::AskUserForSettings(
reinterpret_cast<intptr_t>(this)));
}
- Java_PrintingContext_pageCountEstimationDone(env,
- j_printing_context_.obj(),
- max_pages);
+ if (is_scripted) {
+ Java_PrintingContext_showPrintDialog(env, j_printing_context_.obj());
+ } else {
+ Java_PrintingContext_pageCountEstimationDone(env,
+ j_printing_context_.obj(),
+ max_pages);
+ }
}
void PrintingContextAndroid::AskUserForSettingsReply(JNIEnv* env,
@@ -132,6 +138,11 @@ void PrintingContextAndroid::AskUserForSettingsReply(JNIEnv* env,
callback_.Run(OK);
}
+void PrintingContextAndroid::ShowSystemDialogDone(JNIEnv* env,
+ jobject obj) {
+ callback_.Run(SYSTEM_DIALOG_DONE);
+}
+
PrintingContext::Result PrintingContextAndroid::UseDefaultSettings() {
DCHECK(!in_print_job_);

Powered by Google App Engine
This is Rietveld 408576698