Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: chrome/browser/ui/webui/print_preview_handler.cc

Issue 6903083: PrintPreview:[MAC & WIN] Added code to show the native printer management dialog. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Addressed review comments Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview_handler.h ('k') | chrome/browser/ui/webui/print_preview_ui_html_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698