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_); |