| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/print_preview_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/i18n/file_util_icu.h" | 9 #include "base/i18n/file_util_icu.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| 11 #include "base/path_service.h" | 11 #include "base/path_service.h" |
| 12 #include "base/threading/thread.h" | 12 #include "base/threading/thread.h" |
| 13 #include "base/threading/thread_restrictions.h" | 13 #include "base/threading/thread_restrictions.h" |
| 14 #include "base/utf_string_conversions.h" | 14 #include "base/utf_string_conversions.h" |
| 15 #include "base/values.h" | 15 #include "base/values.h" |
| 16 #include "chrome/browser/platform_util.h" | 16 #include "chrome/browser/platform_util.h" |
| 17 #include "chrome/browser/printing/printer_manager_dialog.h" |
| 17 #include "chrome/browser/printing/print_preview_tab_controller.h" | 18 #include "chrome/browser/printing/print_preview_tab_controller.h" |
| 18 #include "chrome/browser/ui/browser_list.h" | 19 #include "chrome/browser/ui/browser_list.h" |
| 19 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 20 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 20 #include "chrome/browser/ui/webui/print_preview_ui_html_source.h" | 21 #include "chrome/browser/ui/webui/print_preview_ui_html_source.h" |
| 21 #include "chrome/browser/ui/webui/print_preview_ui.h" | 22 #include "chrome/browser/ui/webui/print_preview_ui.h" |
| 22 #include "chrome/common/chrome_paths.h" | 23 #include "chrome/common/chrome_paths.h" |
| 23 #include "chrome/common/print_messages.h" | 24 #include "chrome/common/print_messages.h" |
| 24 #include "content/browser/browser_thread.h" | 25 #include "content/browser/browser_thread.h" |
| 25 #include "content/browser/renderer_host/render_view_host.h" | 26 #include "content/browser/renderer_host/render_view_host.h" |
| 26 #include "content/browser/tab_contents/tab_contents.h" | 27 #include "content/browser/tab_contents/tab_contents.h" |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 web_ui_->RegisterMessageCallback("getPrinters", | 228 web_ui_->RegisterMessageCallback("getPrinters", |
| 228 NewCallback(this, &PrintPreviewHandler::HandleGetPrinters)); | 229 NewCallback(this, &PrintPreviewHandler::HandleGetPrinters)); |
| 229 web_ui_->RegisterMessageCallback("getPreview", | 230 web_ui_->RegisterMessageCallback("getPreview", |
| 230 NewCallback(this, &PrintPreviewHandler::HandleGetPreview)); | 231 NewCallback(this, &PrintPreviewHandler::HandleGetPreview)); |
| 231 web_ui_->RegisterMessageCallback("print", | 232 web_ui_->RegisterMessageCallback("print", |
| 232 NewCallback(this, &PrintPreviewHandler::HandlePrint)); | 233 NewCallback(this, &PrintPreviewHandler::HandlePrint)); |
| 233 web_ui_->RegisterMessageCallback("getPrinterCapabilities", | 234 web_ui_->RegisterMessageCallback("getPrinterCapabilities", |
| 234 NewCallback(this, &PrintPreviewHandler::HandleGetPrinterCapabilities)); | 235 NewCallback(this, &PrintPreviewHandler::HandleGetPrinterCapabilities)); |
| 235 web_ui_->RegisterMessageCallback("showSystemDialog", | 236 web_ui_->RegisterMessageCallback("showSystemDialog", |
| 236 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); | 237 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); |
| 238 web_ui_->RegisterMessageCallback("managePrinters", |
| 239 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); |
| 237 } | 240 } |
| 238 | 241 |
| 239 TabContents* PrintPreviewHandler::preview_tab() { | 242 TabContents* PrintPreviewHandler::preview_tab() { |
| 240 return web_ui_->tab_contents(); | 243 return web_ui_->tab_contents(); |
| 241 } | 244 } |
| 242 | 245 |
| 243 void PrintPreviewHandler::HandleGetPrinters(const ListValue*) { | 246 void PrintPreviewHandler::HandleGetPrinters(const ListValue*) { |
| 244 scoped_refptr<PrintSystemTaskProxy> task = | 247 scoped_refptr<PrintSystemTaskProxy> task = |
| 245 new PrintSystemTaskProxy(AsWeakPtr(), print_backend_.get()); | 248 new PrintSystemTaskProxy(AsWeakPtr(), print_backend_.get()); |
| 246 BrowserThread::PostTask( | 249 BrowserThread::PostTask( |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 return; | 330 return; |
| 328 initiator_tab->Activate(); | 331 initiator_tab->Activate(); |
| 329 | 332 |
| 330 TabContentsWrapper* wrapper = | 333 TabContentsWrapper* wrapper = |
| 331 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab); | 334 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab); |
| 332 wrapper->print_view_manager()->PrintNow(); | 335 wrapper->print_view_manager()->PrintNow(); |
| 333 | 336 |
| 334 ClosePrintPreviewTab(); | 337 ClosePrintPreviewTab(); |
| 335 } | 338 } |
| 336 | 339 |
| 340 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) { |
| 341 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); |
| 342 } |
| 343 |
| 337 void PrintPreviewHandler::SendPrinterCapabilities( | 344 void PrintPreviewHandler::SendPrinterCapabilities( |
| 338 const DictionaryValue& settings_info) { | 345 const DictionaryValue& settings_info) { |
| 339 web_ui_->CallJavascriptFunction("updateWithPrinterCapabilities", | 346 web_ui_->CallJavascriptFunction("updateWithPrinterCapabilities", |
| 340 settings_info); | 347 settings_info); |
| 341 } | 348 } |
| 342 | 349 |
| 343 void PrintPreviewHandler::SendPrinterList( | 350 void PrintPreviewHandler::SendPrinterList( |
| 344 const ListValue& printers, | 351 const ListValue& printers, |
| 345 const FundamentalValue& default_printer_index) { | 352 const FundamentalValue& default_printer_index) { |
| 346 web_ui_->CallJavascriptFunction("setPrinters", printers, | 353 web_ui_->CallJavascriptFunction("setPrinters", printers, |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 metafile->InitFromData(data.first->memory(), data.second); | 410 metafile->InitFromData(data.first->memory(), data.second); |
| 404 | 411 |
| 405 // Updating last_saved_path_ to the newly selected folder. | 412 // Updating last_saved_path_ to the newly selected folder. |
| 406 *last_saved_path_ = path.DirName(); | 413 *last_saved_path_ = path.DirName(); |
| 407 | 414 |
| 408 PrintToPdfTask* task = new PrintToPdfTask(metafile, path); | 415 PrintToPdfTask* task = new PrintToPdfTask(metafile, path); |
| 409 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, task); | 416 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, task); |
| 410 | 417 |
| 411 ClosePrintPreviewTab(); | 418 ClosePrintPreviewTab(); |
| 412 } | 419 } |
| OLD | NEW |