summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui/print_preview_ui.cc
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-11-18 18:32:45 +0000
committerBen Murdoch <benm@google.com>2010-11-18 18:38:07 +0000
commit513209b27ff55e2841eac0e4120199c23acce758 (patch)
treeaeba30bb08c5f47c57003544e378a377c297eee6 /chrome/browser/dom_ui/print_preview_ui.cc
parent164f7496de0fbee436b385a79ead9e3cb81a50c1 (diff)
downloadexternal_chromium-513209b27ff55e2841eac0e4120199c23acce758.zip
external_chromium-513209b27ff55e2841eac0e4120199c23acce758.tar.gz
external_chromium-513209b27ff55e2841eac0e4120199c23acce758.tar.bz2
Merge Chromium at r65505: Initial merge by git.
Change-Id: I31d8f1d8cd33caaf7f47ffa7350aef42d5fbdb45
Diffstat (limited to 'chrome/browser/dom_ui/print_preview_ui.cc')
-rw-r--r--chrome/browser/dom_ui/print_preview_ui.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/chrome/browser/dom_ui/print_preview_ui.cc b/chrome/browser/dom_ui/print_preview_ui.cc
index 7c34dfd..a153518 100644
--- a/chrome/browser/dom_ui/print_preview_ui.cc
+++ b/chrome/browser/dom_ui/print_preview_ui.cc
@@ -13,7 +13,9 @@
#include "base/string_piece.h"
#include "base/values.h"
#include "chrome/browser/browser_thread.h"
+#include "chrome/browser/dom_ui/chrome_url_data_manager.h"
#include "chrome/browser/dom_ui/dom_ui_theme_source.h"
+#include "chrome/browser/dom_ui/print_preview_handler.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/common/jstemplate_builder.h"
#include "chrome/common/url_constants.h"
@@ -27,6 +29,8 @@ namespace {
void SetLocalizedStrings(DictionaryValue* localized_strings) {
localized_strings->SetString(std::string("title"),
l10n_util::GetStringUTF8(IDS_PRINT_PREVIEW_TITLE));
+ localized_strings->SetString(std::string("no-printer"),
+ l10n_util::GetStringUTF8(IDS_PRINT_PREVIEW_NO_PRINTER));
}
} // namespace
@@ -37,6 +41,22 @@ void SetLocalizedStrings(DictionaryValue* localized_strings) {
//
////////////////////////////////////////////////////////////////////////////////
+class PrintPreviewUIHTMLSource : public ChromeURLDataManager::DataSource {
+ public:
+ PrintPreviewUIHTMLSource();
+ virtual ~PrintPreviewUIHTMLSource();
+
+ // Called when the network layer has requested a resource underneath
+ // the path we registered.
+ virtual void StartDataRequest(const std::string& path,
+ bool is_off_the_record,
+ int request_id);
+ virtual std::string GetMimeType(const std::string&) const;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(PrintPreviewUIHTMLSource);
+};
+
PrintPreviewUIHTMLSource::PrintPreviewUIHTMLSource()
: DataSource(chrome::kChromeUIPrintHost, MessageLoop::current()) {
}
@@ -74,6 +94,10 @@ std::string PrintPreviewUIHTMLSource::GetMimeType(const std::string&) const {
////////////////////////////////////////////////////////////////////////////////
PrintPreviewUI::PrintPreviewUI(TabContents* contents) : DOMUI(contents) {
+ // PrintPreviewUI owns |handler|.
+ PrintPreviewHandler* handler = new PrintPreviewHandler();
+ AddMessageHandler(handler->Attach(this));
+
// Set up the chrome://print/ source.
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,