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

Side by Side Diff: chrome/renderer/printing/print_web_view_helper_linux.cc

Issue 12087005: Async frame preparation for Preview with support if selection. (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/renderer/printing/print_web_view_helper.h" 5 #include "chrome/renderer/printing/print_web_view_helper.h"
6 6
7 #include "base/file_descriptor_posix.h" 7 #include "base/file_descriptor_posix.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 25 matching lines...) Expand all
36 scoped_ptr<Metafile> draft_metafile; 36 scoped_ptr<Metafile> draft_metafile;
37 Metafile* initial_render_metafile = print_preview_context_.metafile(); 37 Metafile* initial_render_metafile = print_preview_context_.metafile();
38 if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) { 38 if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) {
39 draft_metafile.reset(new PreviewMetafile); 39 draft_metafile.reset(new PreviewMetafile);
40 initial_render_metafile = draft_metafile.get(); 40 initial_render_metafile = draft_metafile.get();
41 } 41 }
42 42
43 base::TimeTicks begin_time = base::TimeTicks::Now(); 43 base::TimeTicks begin_time = base::TimeTicks::Now();
44 PrintPageInternal(page_params, 44 PrintPageInternal(page_params,
45 print_preview_context_.GetPrintCanvasSize(), 45 print_preview_context_.GetPrintCanvasSize(),
46 print_preview_context_.frame(), initial_render_metafile); 46 print_preview_context_.prepared_frame(),
47 initial_render_metafile);
47 print_preview_context_.RenderedPreviewPage( 48 print_preview_context_.RenderedPreviewPage(
48 base::TimeTicks::Now() - begin_time); 49 base::TimeTicks::Now() - begin_time);
49 if (draft_metafile.get()) { 50 if (draft_metafile.get()) {
50 draft_metafile->FinishDocument(); 51 draft_metafile->FinishDocument();
51 } else if (print_preview_context_.IsModifiable() && 52 } else if (print_preview_context_.IsModifiable() &&
52 print_preview_context_.generate_draft_pages()) { 53 print_preview_context_.generate_draft_pages()) {
53 DCHECK(!draft_metafile.get()); 54 DCHECK(!draft_metafile.get());
54 draft_metafile.reset( 55 draft_metafile.reset(
55 print_preview_context_.metafile()->GetMetafileForCurrentPage()); 56 print_preview_context_.metafile()->GetMetafileForCurrentPage());
56 } 57 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 } 185 }
185 RenderPageContent(frame, params.page_number, canvas_area, content_area, 186 RenderPageContent(frame, params.page_number, canvas_area, content_area,
186 scale_factor, canvas.get()); 187 scale_factor, canvas.get());
187 188
188 // Done printing. Close the device context to retrieve the compiled metafile. 189 // Done printing. Close the device context to retrieve the compiled metafile.
189 if (!metafile->FinishPage()) 190 if (!metafile->FinishPage())
190 NOTREACHED() << "metafile failed"; 191 NOTREACHED() << "metafile failed";
191 } 192 }
192 193
193 } // namespace printing 194 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/renderer/printing/print_web_view_helper_browsertest.cc ('k') | chrome/renderer/printing/print_web_view_helper_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698