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

Side by Side Diff: ui/snapshot/snapshot_aura.cc

Issue 141113003: Refactor base/safe_numerics.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 11 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 | « ui/base/clipboard/clipboard_win.cc ('k') | win8/metro_driver/print_document_source.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) 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 "ui/snapshot/snapshot.h" 5 #include "ui/snapshot/snapshot.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/safe_numerics.h" 10 #include "base/numerics/safe_conversions.h"
11 #include "base/task_runner_util.h" 11 #include "base/task_runner_util.h"
12 #include "cc/output/copy_output_request.h" 12 #include "cc/output/copy_output_request.h"
13 #include "cc/output/copy_output_result.h" 13 #include "cc/output/copy_output_result.h"
14 #include "skia/ext/image_operations.h" 14 #include "skia/ext/image_operations.h"
15 #include "third_party/skia/include/core/SkBitmap.h" 15 #include "third_party/skia/include/core/SkBitmap.h"
16 #include "third_party/skia/include/core/SkPixelRef.h" 16 #include "third_party/skia/include/core/SkPixelRef.h"
17 #include "ui/aura/root_window.h" 17 #include "ui/aura/root_window.h"
18 #include "ui/aura/window.h" 18 #include "ui/aura/window.h"
19 #include "ui/compositor/compositor.h" 19 #include "ui/compositor/compositor.h"
20 #include "ui/compositor/dip_util.h" 20 #include "ui/compositor/dip_util.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 gfx::Size target_size_pre_rotation, 78 gfx::Size target_size_pre_rotation,
79 gfx::Display::Rotation rotation) { 79 gfx::Display::Rotation rotation) {
80 SkBitmap bitmap = 80 SkBitmap bitmap =
81 ScaleAndRotateBitmap(input_bitmap, target_size_pre_rotation, rotation); 81 ScaleAndRotateBitmap(input_bitmap, target_size_pre_rotation, rotation);
82 scoped_refptr<base::RefCountedBytes> png_data(new base::RefCountedBytes); 82 scoped_refptr<base::RefCountedBytes> png_data(new base::RefCountedBytes);
83 unsigned char* pixels = 83 unsigned char* pixels =
84 reinterpret_cast<unsigned char*>(bitmap.pixelRef()->pixels()); 84 reinterpret_cast<unsigned char*>(bitmap.pixelRef()->pixels());
85 if (!gfx::PNGCodec::Encode(pixels, 85 if (!gfx::PNGCodec::Encode(pixels,
86 gfx::PNGCodec::FORMAT_BGRA, 86 gfx::PNGCodec::FORMAT_BGRA,
87 gfx::Size(bitmap.width(), bitmap.height()), 87 gfx::Size(bitmap.width(), bitmap.height()),
88 base::checked_numeric_cast<int>(bitmap.rowBytes()), 88 base::checked_cast<int>(bitmap.rowBytes()),
89 true, 89 true,
90 std::vector<gfx::PNGCodec::Comment>(), 90 std::vector<gfx::PNGCodec::Comment>(),
91 &png_data->data())) { 91 &png_data->data())) {
92 return scoped_refptr<base::RefCountedBytes>(); 92 return scoped_refptr<base::RefCountedBytes>();
93 } 93 }
94 return png_data; 94 return png_data;
95 } 95 }
96 96
97 void ScaleAndRotateCopyOutputResult( 97 void ScaleAndRotateCopyOutputResult(
98 const GrabWindowSnapshotAsyncCallback& callback, 98 const GrabWindowSnapshotAsyncCallback& callback,
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 void GrabViewSnapshotAsync( 246 void GrabViewSnapshotAsync(
247 gfx::NativeView view, 247 gfx::NativeView view,
248 const gfx::Rect& source_rect, 248 const gfx::Rect& source_rect,
249 scoped_refptr<base::TaskRunner> background_task_runner, 249 scoped_refptr<base::TaskRunner> background_task_runner,
250 const GrabWindowSnapshotAsyncPNGCallback& callback) { 250 const GrabWindowSnapshotAsyncPNGCallback& callback) {
251 GrabWindowSnapshotAsync(view, source_rect, background_task_runner, callback); 251 GrabWindowSnapshotAsync(view, source_rect, background_task_runner, callback);
252 } 252 }
253 253
254 254
255 } // namespace ui 255 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/clipboard/clipboard_win.cc ('k') | win8/metro_driver/print_document_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698