summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/print_dialog_cloud.h
diff options
context:
space:
mode:
authormaruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 00:38:12 +0000
committermaruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 00:38:12 +0000
commit73852b8f9c03c6b7a27436f828ed888f71232257 (patch)
treeda07fd53317f13964f93383f9591fcdfdfa61ea7 /chrome/browser/printing/print_dialog_cloud.h
parent564551a2ece790b22fd2a70aeb8591805fe943be (diff)
downloadchromium_src-73852b8f9c03c6b7a27436f828ed888f71232257.zip
chromium_src-73852b8f9c03c6b7a27436f828ed888f71232257.tar.gz
chromium_src-73852b8f9c03c6b7a27436f828ed888f71232257.tar.bz2
[Large; Chromium OS] Work to host the cloud print dialog when built
for Chromium OS. Currently disabled by default behind a command line switch, and containing a non-real URL for now, this code is at prototype level. It works (when enabled and pointed at a functioning cloud print service URL), has the beginnings of some unit tests, and has the beginnings of deeper communication with the dialog contents, and it shuts off the DOM UI access from the dialog contents. Patch contributed by Scott Byer Review URL: http://codereview.chromium.org/1769006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47228 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/printing/print_dialog_cloud.h')
-rw-r--r--chrome/browser/printing/print_dialog_cloud.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/chrome/browser/printing/print_dialog_cloud.h b/chrome/browser/printing/print_dialog_cloud.h
new file mode 100644
index 0000000..7e8515b
--- /dev/null
+++ b/chrome/browser/printing/print_dialog_cloud.h
@@ -0,0 +1,38 @@
+// 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_
+
+#include "base/basictypes.h"
+
+#include "testing/gtest/include/gtest/gtest_prod.h"
+
+class Browser;
+class FilePath;
+namespace IPC {
+class Message;
+}
+
+class PrintDialogCloud {
+ public:
+ // Called on the IO thread.
+ static void CreatePrintDialogForPdf(const FilePath& path_to_pdf);
+
+ private:
+ FRIEND_TEST(PrintDialogCloudTest, HandlersRegistered);
+
+ explicit PrintDialogCloud(const FilePath& path_to_pdf);
+ ~PrintDialogCloud();
+
+ // 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);
+
+ Browser* browser_;
+
+ DISALLOW_COPY_AND_ASSIGN(PrintDialogCloud);
+};
+
+#endif // CHROME_BROWSER_PRINTING_PRINT_DIALOG_CLOUD_H_