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 <ctype.h> | 7 #include <ctype.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/base64.h" | 12 #include "base/base64.h" |
| 13 #include "base/bind.h" |
| 14 #include "base/bind_helpers.h" |
13 #if !defined(OS_CHROMEOS) | 15 #if !defined(OS_CHROMEOS) |
14 #include "base/command_line.h" | 16 #include "base/command_line.h" |
15 #endif | 17 #endif |
16 #include "base/i18n/file_util_icu.h" | 18 #include "base/i18n/file_util_icu.h" |
17 #include "base/json/json_reader.h" | 19 #include "base/json/json_reader.h" |
18 #include "base/memory/ref_counted.h" | 20 #include "base/memory/ref_counted.h" |
19 #include "base/metrics/histogram.h" | 21 #include "base/metrics/histogram.h" |
20 #include "base/path_service.h" | 22 #include "base/path_service.h" |
21 #include "base/string_split.h" | 23 #include "base/string_split.h" |
22 #include "base/string_util.h" | 24 #include "base/string_util.h" |
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 ReportUserActionHistogram(PREVIEW_STARTED); | 549 ReportUserActionHistogram(PREVIEW_STARTED); |
548 } | 550 } |
549 | 551 |
550 PrintPreviewHandler::~PrintPreviewHandler() { | 552 PrintPreviewHandler::~PrintPreviewHandler() { |
551 if (select_file_dialog_.get()) | 553 if (select_file_dialog_.get()) |
552 select_file_dialog_->ListenerDestroyed(); | 554 select_file_dialog_->ListenerDestroyed(); |
553 } | 555 } |
554 | 556 |
555 void PrintPreviewHandler::RegisterMessages() { | 557 void PrintPreviewHandler::RegisterMessages() { |
556 web_ui_->RegisterMessageCallback("getDefaultPrinter", | 558 web_ui_->RegisterMessageCallback("getDefaultPrinter", |
557 NewCallback(this, &PrintPreviewHandler::HandleGetDefaultPrinter)); | 559 base::Bind(&PrintPreviewHandler::HandleGetDefaultPrinter, |
| 560 base::Unretained(this))); |
558 web_ui_->RegisterMessageCallback("getPrinters", | 561 web_ui_->RegisterMessageCallback("getPrinters", |
559 NewCallback(this, &PrintPreviewHandler::HandleGetPrinters)); | 562 base::Bind(&PrintPreviewHandler::HandleGetPrinters, |
| 563 base::Unretained(this))); |
560 web_ui_->RegisterMessageCallback("getPreview", | 564 web_ui_->RegisterMessageCallback("getPreview", |
561 NewCallback(this, &PrintPreviewHandler::HandleGetPreview)); | 565 base::Bind(&PrintPreviewHandler::HandleGetPreview, |
| 566 base::Unretained(this))); |
562 web_ui_->RegisterMessageCallback("print", | 567 web_ui_->RegisterMessageCallback("print", |
563 NewCallback(this, &PrintPreviewHandler::HandlePrint)); | 568 base::Bind(&PrintPreviewHandler::HandlePrint, |
| 569 base::Unretained(this))); |
564 web_ui_->RegisterMessageCallback("getPrinterCapabilities", | 570 web_ui_->RegisterMessageCallback("getPrinterCapabilities", |
565 NewCallback(this, &PrintPreviewHandler::HandleGetPrinterCapabilities)); | 571 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, |
| 572 base::Unretained(this))); |
566 web_ui_->RegisterMessageCallback("showSystemDialog", | 573 web_ui_->RegisterMessageCallback("showSystemDialog", |
567 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); | 574 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, |
| 575 base::Unretained(this))); |
568 web_ui_->RegisterMessageCallback("signIn", | 576 web_ui_->RegisterMessageCallback("signIn", |
569 NewCallback(this, &PrintPreviewHandler::HandleSignin)); | 577 base::Bind(&PrintPreviewHandler::HandleSignin, |
| 578 base::Unretained(this))); |
570 web_ui_->RegisterMessageCallback("manageCloudPrinters", | 579 web_ui_->RegisterMessageCallback("manageCloudPrinters", |
571 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 580 base::Bind(&PrintPreviewHandler::HandleManageCloudPrint, |
| 581 base::Unretained(this))); |
572 web_ui_->RegisterMessageCallback("manageLocalPrinters", | 582 web_ui_->RegisterMessageCallback("manageLocalPrinters", |
573 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); | 583 base::Bind(&PrintPreviewHandler::HandleManagePrinters, |
| 584 base::Unretained(this))); |
574 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab", | 585 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab", |
575 NewCallback(this, &PrintPreviewHandler::HandleReloadCrashedInitiatorTab)); | 586 base::Bind(&PrintPreviewHandler::HandleReloadCrashedInitiatorTab, |
| 587 base::Unretained(this))); |
576 web_ui_->RegisterMessageCallback("closePrintPreviewTab", | 588 web_ui_->RegisterMessageCallback("closePrintPreviewTab", |
577 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); | 589 base::Bind(&PrintPreviewHandler::HandleClosePreviewTab, |
| 590 base::Unretained(this))); |
578 web_ui_->RegisterMessageCallback("hidePreview", | 591 web_ui_->RegisterMessageCallback("hidePreview", |
579 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); | 592 base::Bind(&PrintPreviewHandler::HandleHidePreview, |
| 593 base::Unretained(this))); |
580 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", | 594 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", |
581 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest)); | 595 base::Bind(&PrintPreviewHandler::HandleCancelPendingPrintRequest, |
| 596 base::Unretained(this))); |
582 web_ui_->RegisterMessageCallback("saveLastPrinter", | 597 web_ui_->RegisterMessageCallback("saveLastPrinter", |
583 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter)); | 598 base::Bind(&PrintPreviewHandler::HandleSaveLastPrinter, |
| 599 base::Unretained(this))); |
584 web_ui_->RegisterMessageCallback("getInitiatorTabTitle", | 600 web_ui_->RegisterMessageCallback("getInitiatorTabTitle", |
585 NewCallback(this, &PrintPreviewHandler::HandleGetInitiatorTabTitle)); | 601 base::Bind(&PrintPreviewHandler::HandleGetInitiatorTabTitle, |
| 602 base::Unretained(this))); |
586 } | 603 } |
587 | 604 |
588 TabContentsWrapper* PrintPreviewHandler::preview_tab_wrapper() const { | 605 TabContentsWrapper* PrintPreviewHandler::preview_tab_wrapper() const { |
589 return TabContentsWrapper::GetCurrentWrapperForContents(preview_tab()); | 606 return TabContentsWrapper::GetCurrentWrapperForContents(preview_tab()); |
590 } | 607 } |
591 TabContents* PrintPreviewHandler::preview_tab() const { | 608 TabContents* PrintPreviewHandler::preview_tab() const { |
592 return web_ui_->tab_contents(); | 609 return web_ui_->tab_contents(); |
593 } | 610 } |
594 | 611 |
595 void PrintPreviewHandler::HandleGetDefaultPrinter(const ListValue* /*args*/) { | 612 void PrintPreviewHandler::HandleGetDefaultPrinter(const ListValue* /*args*/) { |
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 return; | 1176 return; |
1160 | 1177 |
1161 // We no longer require the initiator tab details. Remove those details | 1178 // We no longer require the initiator tab details. Remove those details |
1162 // associated with the preview tab to allow the initiator tab to create | 1179 // associated with the preview tab to allow the initiator tab to create |
1163 // another preview tab. | 1180 // another preview tab. |
1164 printing::PrintPreviewTabController* tab_controller = | 1181 printing::PrintPreviewTabController* tab_controller = |
1165 printing::PrintPreviewTabController::GetInstance(); | 1182 printing::PrintPreviewTabController::GetInstance(); |
1166 if (tab_controller) | 1183 if (tab_controller) |
1167 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper()); | 1184 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper()); |
1168 } | 1185 } |
OLD | NEW |