print_dialog_cloud.h revision c407dc5cd9bdc5668497f21b26b09d988ab439de
1// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_
6#define CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_
7
8#include "base/basictypes.h"
9#include "base/gtest_prod_util.h"
10
11class Browser;
12class FilePath;
13namespace IPC {
14class Message;
15}
16
17class PrintDialogCloud {
18 public:
19  // Called on the IO thread.
20  static void CreatePrintDialogForPdf(const FilePath& path_to_pdf);
21
22 private:
23  friend class PrintDialogCloudTest;
24
25  explicit PrintDialogCloud(const FilePath& path_to_pdf);
26  ~PrintDialogCloud();
27
28  // Called as a task from the UI thread, creates an object instance
29  // to run the HTML/JS based print dialog for printing through the cloud.
30  static void CreateDialogImpl(const FilePath& path_to_pdf);
31
32  Browser* browser_;
33
34  DISALLOW_COPY_AND_ASSIGN(PrintDialogCloud);
35};
36
37#endif  // CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_
38