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

Side by Side Diff: content/renderer/gpu/gpu_benchmarking_extension.cc

Issue 2923343005: Move printing-related methods from WebFrame to WebLocalFrame. (Closed)
Patch Set: Rebasing... Created 3 years, 6 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
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 "content/renderer/gpu/gpu_benchmarking_extension.h" 5 #include "content/renderer/gpu/gpu_benchmarking_extension.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory>
9 #include <string> 10 #include <string>
10 #include <utility> 11 #include <utility>
12 #include <vector>
11 13
12 #include "base/base64.h" 14 #include "base/base64.h"
13 #include "base/command_line.h" 15 #include "base/command_line.h"
14 #include "base/files/file_path.h" 16 #include "base/files/file_path.h"
15 #include "base/files/file_util.h" 17 #include "base/files/file_util.h"
16 #include "base/macros.h" 18 #include "base/macros.h"
17 #include "base/memory/ptr_util.h" 19 #include "base/memory/ptr_util.h"
18 #include "base/strings/string_number_conversions.h" 20 #include "base/strings/string_number_conversions.h"
19 #include "cc/layers/layer.h" 21 #include "cc/layers/layer.h"
20 #include "cc/paint/skia_paint_canvas.h" 22 #include "cc/paint/skia_paint_canvas.h"
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 // progress, we will leak the callback and context. This needs to be fixed, 462 // progress, we will leak the callback and context. This needs to be fixed,
461 // somehow, see https://crbug.com/678879. 463 // somehow, see https://crbug.com/678879.
462 context.render_view_impl()->GetWidget()->QueueSyntheticGesture( 464 context.render_view_impl()->GetWidget()->QueueSyntheticGesture(
463 std::move(gesture_params), 465 std::move(gesture_params),
464 base::Bind(&OnSyntheticGestureCompleted, 466 base::Bind(&OnSyntheticGestureCompleted,
465 base::RetainedRef(callback_and_context))); 467 base::RetainedRef(callback_and_context)));
466 468
467 return true; 469 return true;
468 } 470 }
469 471
470 static void PrintDocument(blink::WebFrame* frame, SkDocument* doc) { 472 static void PrintDocument(blink::WebLocalFrame* frame, SkDocument* doc) {
471 const float kPageWidth = 612.0f; // 8.5 inch 473 const float kPageWidth = 612.0f; // 8.5 inch
472 const float kPageHeight = 792.0f; // 11 inch 474 const float kPageHeight = 792.0f; // 11 inch
473 const float kMarginTop = 29.0f; // 0.40 inch 475 const float kMarginTop = 29.0f; // 0.40 inch
474 const float kMarginLeft = 29.0f; // 0.40 inch 476 const float kMarginLeft = 29.0f; // 0.40 inch
475 const int kContentWidth = 555; // 7.71 inch 477 const int kContentWidth = 555; // 7.71 inch
476 const int kContentHeight = 735; // 10.21 inch 478 const int kContentHeight = 735; // 10.21 inch
477 blink::WebPrintParams params(blink::WebSize(kContentWidth, kContentHeight)); 479 blink::WebPrintParams params(blink::WebSize(kContentWidth, kContentHeight));
478 params.printer_dpi = 300; 480 params.printer_dpi = 300;
479 int page_count = frame->PrintBegin(params); 481 int page_count = frame->PrintBegin(params);
480 for (int i = 0; i < page_count; ++i) { 482 for (int i = 0; i < page_count; ++i) {
481 SkCanvas* sk_canvas = doc->beginPage(kPageWidth, kPageHeight); 483 SkCanvas* sk_canvas = doc->beginPage(kPageWidth, kPageHeight);
482 cc::SkiaPaintCanvas canvas(sk_canvas); 484 cc::SkiaPaintCanvas canvas(sk_canvas);
483 cc::PaintCanvasAutoRestore auto_restore(&canvas, true); 485 cc::PaintCanvasAutoRestore auto_restore(&canvas, true);
484 canvas.translate(kMarginLeft, kMarginTop); 486 canvas.translate(kMarginLeft, kMarginTop);
485 487
486 #if defined(OS_WIN) || defined(OS_MACOSX) 488 #if defined(OS_WIN) || defined(OS_MACOSX)
487 float page_shrink = frame->GetPrintPageShrink(i); 489 float page_shrink = frame->GetPrintPageShrink(i);
488 DCHECK(page_shrink > 0); 490 DCHECK_GT(page_shrink, 0);
489 canvas.scale(page_shrink, page_shrink); 491 canvas.scale(page_shrink, page_shrink);
490 #endif 492 #endif
491 493
492 frame->PrintPage(i, &canvas); 494 frame->PrintPage(i, &canvas);
493 } 495 }
494 frame->PrintEnd(); 496 frame->PrintEnd();
495 } 497 }
496 498
497 static void PrintDocumentTofile(v8::Isolate* isolate, 499 static void PrintDocumentTofile(v8::Isolate* isolate,
498 const std::string& filename, 500 const std::string& filename,
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 &gpu_driver_bug_workarounds))) { 1135 &gpu_driver_bug_workarounds))) {
1134 return; 1136 return;
1135 } 1137 }
1136 1138
1137 v8::Local<v8::Value> result; 1139 v8::Local<v8::Value> result;
1138 if (gin::TryConvertToV8(args->isolate(), gpu_driver_bug_workarounds, &result)) 1140 if (gin::TryConvertToV8(args->isolate(), gpu_driver_bug_workarounds, &result))
1139 args->Return(result); 1141 args->Return(result);
1140 } 1142 }
1141 1143
1142 } // namespace content 1144 } // namespace content
OLDNEW
« no previous file with comments | « components/printing/renderer/print_web_view_helper.cc ('k') | content/shell/test_runner/pixel_dump.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698