| Index: printing/printing_context.h
|
| diff --git a/printing/printing_context.h b/printing/printing_context.h
|
| index 823a5af446678fe32d30c0eae831807e89b8997c..875c0703de4e0a4bf214aedeffca73864f0fdc66 100644
|
| --- a/printing/printing_context.h
|
| +++ b/printing/printing_context.h
|
| @@ -25,6 +25,19 @@ namespace printing {
|
| // printer and manage the document and page breaks.
|
| class PRINTING_EXPORT PrintingContext {
|
| public:
|
| + // Printing context delegate.
|
| + class Delegate {
|
| + public:
|
| + Delegate() {};
|
| + virtual ~Delegate() {};
|
| +
|
| + // Returns parent view to use for modal dialogs.
|
| + virtual gfx::NativeView GetParentView() = 0;
|
| +
|
| + // Returns application locale.
|
| + virtual std::string GetAppLocale() = 0;
|
| + };
|
| +
|
| // Tri-state result for user behavior-dependent functions.
|
| enum Result {
|
| OK,
|
| @@ -42,8 +55,7 @@ class PRINTING_EXPORT PrintingContext {
|
| // context with the select device settings. The result of the call is returned
|
| // in the callback. This is necessary for Linux, which only has an
|
| // asynchronous printing API.
|
| - virtual void AskUserForSettings(gfx::NativeView parent_view,
|
| - int max_pages,
|
| + virtual void AskUserForSettings(int max_pages,
|
| bool has_selection,
|
| const PrintSettingsCallback& callback) = 0;
|
|
|
| @@ -98,9 +110,8 @@ class PRINTING_EXPORT PrintingContext {
|
| virtual gfx::NativeDrawingContext context() const = 0;
|
|
|
| // Creates an instance of this object. Implementers of this interface should
|
| - // implement this method to create an object of their implementation. The
|
| - // caller owns the returned object.
|
| - static PrintingContext* Create(const std::string& app_locale);
|
| + // implement this method to create an object of their implementation.
|
| + static scoped_ptr<PrintingContext> Create(Delegate* delegate);
|
|
|
| void set_margin_type(MarginType type);
|
|
|
| @@ -109,7 +120,7 @@ class PRINTING_EXPORT PrintingContext {
|
| }
|
|
|
| protected:
|
| - explicit PrintingContext(const std::string& app_locale);
|
| + explicit PrintingContext(Delegate* delegate);
|
|
|
| // Reinitializes the settings for object reuse.
|
| void ResetSettings();
|
| @@ -120,6 +131,9 @@ class PRINTING_EXPORT PrintingContext {
|
| // Complete print context settings.
|
| PrintSettings settings_;
|
|
|
| + // Printing context delegate.
|
| + Delegate* delegate_;
|
| +
|
| // The dialog box has been dismissed.
|
| volatile bool dialog_box_dismissed_;
|
|
|
| @@ -129,9 +143,6 @@ class PRINTING_EXPORT PrintingContext {
|
| // Did the user cancel the print job.
|
| volatile bool abort_printing_;
|
|
|
| - // The application locale.
|
| - std::string app_locale_;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(PrintingContext);
|
| };
|
|
|