| Index: chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| index 1119b974cb21344b9e07167d50ae48668930743d..e2ed4d1df7cae632a7507fe1468cc28e19bc5935 100644
|
| --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
| @@ -70,8 +70,8 @@
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/navigation_controller.h"
|
| #include "content/public/browser/navigation_entry.h"
|
| +#include "content/public/browser/render_frame_host.h"
|
| #include "content/public/browser/render_process_host.h"
|
| -#include "content/public/browser/render_view_host.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/browser/web_ui.h"
|
| #include "google_apis/gaia/oauth2_token_service.h"
|
| @@ -95,8 +95,9 @@
|
| #endif
|
|
|
| using content::BrowserThread;
|
| -using content::RenderViewHost;
|
| +using content::RenderFrameHost;
|
| using content::WebContents;
|
| +using printing::PrintViewManager;
|
|
|
| namespace {
|
|
|
| @@ -409,8 +410,7 @@ void EnumeratePrintersOnBlockingPoolThread(base::ListValue* printers) {
|
| print_backend->EnumeratePrinters(&printer_list);
|
|
|
| for (const printing::PrinterBasicInfo& printer : printer_list) {
|
| - std::unique_ptr<base::DictionaryValue> printer_info(
|
| - new base::DictionaryValue);
|
| + auto printer_info = base::MakeUnique<base::DictionaryValue>();
|
| const auto printer_name_description = GetPrinterNameAndDescription(printer);
|
| const std::string& printer_name = printer_name_description.first;
|
| const std::string& printer_description = printer_name_description.second;
|
| @@ -473,7 +473,7 @@ GetPrinterCapabilitiesOnBlockingPoolThread(const std::string& device_name) {
|
| const std::string& printer_name = printer_name_description.first;
|
| const std::string& printer_description = printer_name_description.second;
|
|
|
| - printer_info.reset(new base::DictionaryValue);
|
| + printer_info = base::MakeUnique<base::DictionaryValue>();
|
| printer_info->SetString(kPrinterId, device_name);
|
| printer_info->SetString(printing::kSettingPrinterName, printer_name);
|
| printer_info->SetString(printing::kSettingPrinterDescription,
|
| @@ -783,7 +783,11 @@ void PrintPreviewHandler::HandleGetPreview(const base::ListValue* args) {
|
| ++regenerate_preview_request_count_;
|
|
|
| WebContents* initiator = GetInitiator();
|
| - if (!initiator) {
|
| + content::RenderFrameHost* rfh =
|
| + initiator
|
| + ? PrintViewManager::FromWebContents(initiator)->print_preview_rfh()
|
| + : nullptr;
|
| + if (!rfh) {
|
| ReportUserActionHistogram(INITIATOR_CLOSED);
|
| print_preview_ui()->OnClosePrintPreviewDialog();
|
| return;
|
| @@ -841,8 +845,7 @@ void PrintPreviewHandler::HandleGetPreview(const base::ListValue* args) {
|
| NOTREACHED();
|
| }
|
|
|
| - RenderViewHost* rvh = initiator->GetRenderViewHost();
|
| - rvh->Send(new PrintMsg_PrintPreview(rvh->GetRoutingID(), *settings));
|
| + rfh->Send(new PrintMsg_PrintPreview(rfh->GetRoutingID(), *settings));
|
| }
|
|
|
| void PrintPreviewHandler::HandlePrint(const base::ListValue* args) {
|
| @@ -1008,17 +1011,16 @@ void PrintPreviewHandler::HandlePrint(const base::ListValue* args) {
|
| // Set ID to know whether printing is for preview.
|
| settings->SetInteger(printing::kPreviewUIID,
|
| print_preview_ui()->GetIDForPrintPreviewUI());
|
| - RenderViewHost* rvh = preview_web_contents()->GetRenderViewHost();
|
| - rvh->Send(new PrintMsg_PrintForPrintPreview(rvh->GetRoutingID(),
|
| - *settings));
|
| + RenderFrameHost* rfh = preview_web_contents()->GetMainFrame();
|
| + rfh->Send(
|
| + new PrintMsg_PrintForPrintPreview(rfh->GetRoutingID(), *settings));
|
|
|
| // For all other cases above, the preview dialog will stay open until the
|
| // printing has finished. Then the dialog closes and PrintPreviewDone() gets
|
| // called. In the case below, since the preview dialog will be hidden and
|
| // not closed, we need to make this call.
|
| if (initiator) {
|
| - printing::PrintViewManager* print_view_manager =
|
| - printing::PrintViewManager::FromWebContents(initiator);
|
| + auto* print_view_manager = PrintViewManager::FromWebContents(initiator);
|
| print_view_manager->PrintPreviewDone();
|
| }
|
| #else
|
| @@ -1156,8 +1158,7 @@ void PrintPreviewHandler::HandleShowSystemDialog(
|
| if (!initiator)
|
| return;
|
|
|
| - printing::PrintViewManager* print_view_manager =
|
| - printing::PrintViewManager::FromWebContents(initiator);
|
| + auto* print_view_manager = PrintViewManager::FromWebContents(initiator);
|
| print_view_manager->PrintForSystemDialogNow(
|
| base::Bind(&PrintPreviewHandler::ClosePreviewDialog,
|
| weak_factory_.GetWeakPtr()));
|
|
|