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

Side by Side Diff: chrome/browser/printing/print_view_manager.cc

Issue 12177009: Printing selection from context menu. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/printing/print_view_manager.h" 5 #include "chrome/browser/printing/print_view_manager.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 bool PrintViewManager::PrintToDestination() { 123 bool PrintViewManager::PrintToDestination() {
124 // TODO(mad): Remove this once we can send user metrics from the metro driver. 124 // TODO(mad): Remove this once we can send user metrics from the metro driver.
125 // crbug.com/142330 125 // crbug.com/142330
126 UMA_HISTOGRAM_ENUMERATION("Metro.Print", 0, 2); 126 UMA_HISTOGRAM_ENUMERATION("Metro.Print", 0, 2);
127 // TODO(mad): Use a passed in destination interface instead. 127 // TODO(mad): Use a passed in destination interface instead.
128 g_browser_process->print_job_manager()->SetPrintDestination( 128 g_browser_process->print_job_manager()->SetPrintDestination(
129 printing::CreatePrintDestination()); 129 printing::CreatePrintDestination());
130 return PrintNowInternal(new PrintMsg_PrintPages(routing_id())); 130 return PrintNowInternal(new PrintMsg_PrintPages(routing_id()));
131 } 131 }
132 132
133 bool PrintViewManager::PrintPreviewNow() { 133 bool PrintViewManager::PrintPreviewNow(bool selection_only) {
134 // Users can send print commands all they want and it is beyond 134 // Users can send print commands all they want and it is beyond
135 // PrintViewManager's control. Just ignore the extra commands. 135 // PrintViewManager's control. Just ignore the extra commands.
136 // See http://crbug.com/136842 for example. 136 // See http://crbug.com/136842 for example.
137 if (print_preview_state_ != NOT_PREVIEWING) 137 if (print_preview_state_ != NOT_PREVIEWING)
138 return false; 138 return false;
139 139
140 if (!PrintNowInternal(new PrintMsg_InitiatePrintPreview(routing_id()))) 140 if (!PrintNowInternal(new PrintMsg_InitiatePrintPreview(routing_id(),
141 selection_only))) {
141 return false; 142 return false;
143 }
142 144
143 print_preview_state_ = USER_INITIATED_PREVIEW; 145 print_preview_state_ = USER_INITIATED_PREVIEW;
144 return true; 146 return true;
145 } 147 }
146 148
147 void PrintViewManager::PrintPreviewForWebNode() { 149 void PrintViewManager::PrintPreviewForWebNode() {
148 DCHECK_EQ(NOT_PREVIEWING, print_preview_state_); 150 DCHECK_EQ(NOT_PREVIEWING, print_preview_state_);
149 print_preview_state_ = USER_INITIATED_PREVIEW; 151 print_preview_state_ = USER_INITIATED_PREVIEW;
150 } 152 }
151 153
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 337
336 print_preview_state_ = SCRIPTED_PREVIEW; 338 print_preview_state_ = SCRIPTED_PREVIEW;
337 base::Closure callback = 339 base::Closure callback =
338 base::Bind(&PrintViewManager::OnScriptedPrintPreviewReply, 340 base::Bind(&PrintViewManager::OnScriptedPrintPreviewReply,
339 base::Unretained(this), 341 base::Unretained(this),
340 reply_msg); 342 reply_msg);
341 map[rph] = callback; 343 map[rph] = callback;
342 scripted_print_preview_rph_ = rph; 344 scripted_print_preview_rph_ = rph;
343 345
344 dialog_controller->PrintPreview(web_contents()); 346 dialog_controller->PrintPreview(web_contents());
345 PrintPreviewUI::SetSourceIsModifiable( 347 PrintHostMsg_RequestPrintPreview_Params params;
346 dialog_controller->GetPrintPreviewForContents(web_contents()), 348 params.is_modifiable = source_is_modifiable;
347 source_is_modifiable); 349 PrintPreviewUI::SetInitialParams(
348 PrintPreviewUI::SetSourceHasSelection( 350 dialog_controller->GetPrintPreviewForContents(web_contents()), params);
349 dialog_controller->GetPrintPreviewForTab(web_contents()), false);
350 } 351 }
351 352
352 void PrintViewManager::OnScriptedPrintPreviewReply(IPC::Message* reply_msg) { 353 void PrintViewManager::OnScriptedPrintPreviewReply(IPC::Message* reply_msg) {
353 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
354 Send(reply_msg); 355 Send(reply_msg);
355 } 356 }
356 357
357 void PrintViewManager::DidStartLoading( 358 void PrintViewManager::DidStartLoading(
358 content::RenderViewHost* render_view_host) { 359 content::RenderViewHost* render_view_host) {
359 UpdateScriptedPrintingBlocked(); 360 UpdateScriptedPrintingBlocked();
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 scoped_refptr<printing::PrinterQuery> printer_query; 675 scoped_refptr<printing::PrinterQuery> printer_query;
675 print_job_manager->PopPrinterQuery(cookie, &printer_query); 676 print_job_manager->PopPrinterQuery(cookie, &printer_query);
676 if (!printer_query.get()) 677 if (!printer_query.get())
677 return; 678 return;
678 BrowserThread::PostTask( 679 BrowserThread::PostTask(
679 BrowserThread::IO, FROM_HERE, 680 BrowserThread::IO, FROM_HERE,
680 base::Bind(&PrinterQuery::StopWorker, printer_query.get())); 681 base::Bind(&PrinterQuery::StopWorker, printer_query.get()));
681 } 682 }
682 683
683 } // namespace printing 684 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_view_manager.h ('k') | chrome/browser/resources/print_preview/native_layer.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698