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())); |