blob: 01fc5c9243a631bd6fd129e630cbcbae4bf97ed2 [file] [log] [blame]
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_
#define CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_
#pragma once
#include "base/basictypes.h"
#include "base/string16.h"
class Browser;
class FilePath;
namespace IPC {
class Message;
}
class PrintDialogCloud {
public:
// Called on the IO or UI thread.
static void CreatePrintDialogForPdf(const FilePath& path_to_pdf,
const string16& print_job_title,
bool modal);
private:
friend class PrintDialogCloudTest;
explicit PrintDialogCloud(const FilePath& path_to_pdf,
const string16& print_job_title,
bool modal);
~PrintDialogCloud();
void Init(const FilePath& path_to_pdf,
const string16& print_job_title,
bool modal);
// Called as a task from the UI thread, creates an object instance
// to run the HTML/JS based print dialog for printing through the cloud.
static void CreateDialogImpl(const FilePath& path_to_pdf,
const string16& print_job_title,
bool modal);
Browser* browser_;
DISALLOW_COPY_AND_ASSIGN(PrintDialogCloud);
};
#endif // CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_