Index: printing/printing_context_android.cc |
diff --git a/printing/printing_context_android.cc b/printing/printing_context_android.cc |
index 64139c8bfb837c708d0002bf4f85ff707a28e44e..ce0b75def527db2d24d36b549521a6d066b40c60 100644 |
--- a/printing/printing_context_android.cc |
+++ b/printing/printing_context_android.cc |
@@ -79,6 +79,19 @@ PrintingContextAndroid::PrintingContextAndroid(Delegate* delegate) |
PrintingContextAndroid::~PrintingContextAndroid() { |
} |
+void PrintingContextAndroid::RequestSystemDialog( |
+ const PrintSettingsCallback& callback) { |
+ callback_ = callback; |
+ |
+ JNIEnv* env = base::android::AttachCurrentThread(); |
+ if (j_printing_context_.is_null()) { |
+ j_printing_context_.Reset(Java_PrintingContext_create( |
+ env, |
+ reinterpret_cast<intptr_t>(this))); |
+ } |
+ Java_PrintingContext_showPrintDialog(env, j_printing_context_.obj()); |
+} |
+ |
void PrintingContextAndroid::AskUserForSettings( |
int max_pages, |
bool has_selection, |
@@ -132,6 +145,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_); |