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

Side by Side Diff: chrome/renderer/render_view.cc

Issue 149644: Print only the focused frame. This makes more sense than trying to print all... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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
« no previous file with comments | « chrome/renderer/render_view.h ('k') | chrome/renderer/render_view_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/renderer/render_view.h" 5 #include "chrome/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 if (!CaptureThumbnail(webview(), kThumbnailWidth, kThumbnailHeight, 444 if (!CaptureThumbnail(webview(), kThumbnailWidth, kThumbnailHeight,
445 &thumbnail, &score)) 445 &thumbnail, &score))
446 return; 446 return;
447 447
448 // send the thumbnail message to the browser process 448 // send the thumbnail message to the browser process
449 Send(new ViewHostMsg_Thumbnail(routing_id_, url, score, thumbnail)); 449 Send(new ViewHostMsg_Thumbnail(routing_id_, url, score, thumbnail));
450 } 450 }
451 451
452 void RenderView::OnPrintPages() { 452 void RenderView::OnPrintPages() {
453 DCHECK(webview()); 453 DCHECK(webview());
454 if (webview()) 454 if (webview()) {
455 Print(webview()->GetMainFrame(), false); 455 // If the user has selected text in the currently focused frame we print
456 // only that frame (this makes print selection work for multiple frames).
457 if (webview()->GetFocusedFrame()->HasSelection())
458 Print(webview()->GetFocusedFrame(), false);
459 else
460 Print(webview()->GetMainFrame(), false);
461 }
456 } 462 }
457 463
458 void RenderView::OnPrintingDone(int document_cookie, bool success) { 464 void RenderView::OnPrintingDone(int document_cookie, bool success) {
459 // Ignoring document cookie here since only one print job can be outstanding 465 // Ignoring document cookie here since only one print job can be outstanding
460 // per renderer and document_cookie is 0 when printing is successful. 466 // per renderer and document_cookie is 0 when printing is successful.
461 DCHECK(print_helper_.get()); 467 DCHECK(print_helper_.get());
462 if (print_helper_.get() != NULL) { 468 if (print_helper_.get() != NULL) {
463 print_helper_->DidFinishPrinting(success); 469 print_helper_->DidFinishPrinting(success);
464 } 470 }
465 } 471 }
(...skipping 1836 matching lines...) Expand 10 before | Expand all | Expand 10 after
2302 // Save the updated IME status and mark the input focus has been updated. 2308 // Save the updated IME status and mark the input focus has been updated.
2303 // The IME status is to be sent to a browser process next time when 2309 // The IME status is to be sent to a browser process next time when
2304 // the input caret is rendered. 2310 // the input caret is rendered.
2305 if (!ime_control_busy_) { 2311 if (!ime_control_busy_) {
2306 ime_control_updated_ = true; 2312 ime_control_updated_ = true;
2307 ime_control_new_state_ = enabled; 2313 ime_control_new_state_ = enabled;
2308 } 2314 }
2309 } 2315 }
2310 2316
2311 void RenderView::ScriptedPrint(WebFrame* frame) { 2317 void RenderView::ScriptedPrint(WebFrame* frame) {
2312 Print(frame, true); 2318 DCHECK(webview());
2319 if (webview()) {
2320 // Print the full page - not just the frame the javascript is running from.
2321 Print(webview()->GetMainFrame(), true);
darin (slow to review) 2009/09/16 16:28:50 this seems like it is introducing a potential web
M-A Ruel 2009/09/16 16:35:03 That is interesting, I didn't realize that change.
2322 }
2313 } 2323 }
2314 2324
2315 void RenderView::UserMetricsRecordAction(const std::wstring& action) { 2325 void RenderView::UserMetricsRecordAction(const std::wstring& action) {
2316 Send(new ViewHostMsg_UserMetricsRecordAction(routing_id_, action)); 2326 Send(new ViewHostMsg_UserMetricsRecordAction(routing_id_, action));
2317 } 2327 }
2318 2328
2319 void RenderView::DnsPrefetch(const std::vector<std::string>& host_names) { 2329 void RenderView::DnsPrefetch(const std::vector<std::string>& host_names) {
2320 Send(new ViewHostMsg_DnsPrefetch(host_names)); 2330 Send(new ViewHostMsg_DnsPrefetch(host_names));
2321 } 2331 }
2322 2332
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
3048 Send(new ViewHostMsg_PasswordFormsSeen(routing_id_, password_forms)); 3058 Send(new ViewHostMsg_PasswordFormsSeen(routing_id_, password_forms));
3049 } 3059 }
3050 3060
3051 void RenderView::Print(WebFrame* frame, bool script_initiated) { 3061 void RenderView::Print(WebFrame* frame, bool script_initiated) {
3052 DCHECK(frame); 3062 DCHECK(frame);
3053 if (print_helper_.get() == NULL) { 3063 if (print_helper_.get() == NULL) {
3054 print_helper_.reset(new PrintWebViewHelper(this)); 3064 print_helper_.reset(new PrintWebViewHelper(this));
3055 } 3065 }
3056 print_helper_->Print(frame, script_initiated); 3066 print_helper_->Print(frame, script_initiated);
3057 } 3067 }
OLDNEW
« no previous file with comments | « chrome/renderer/render_view.h ('k') | chrome/renderer/render_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698