[Android] Introduce new UMA action for when user copies Image URL from context menu
[chromium-blink-merge.git] / cc / test / skia_common.cc
blobe1336d295e494f8c6845e19e09cab74713cf14ef
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/test/skia_common.h"
7 #include "cc/playback/display_item_list.h"
8 #include "cc/playback/picture.h"
9 #include "skia/ext/refptr.h"
10 #include "third_party/skia/include/core/SkCanvas.h"
11 #include "ui/gfx/geometry/rect.h"
12 #include "ui/gfx/skia_util.h"
14 namespace cc {
16 void DrawPicture(unsigned char* buffer,
17 const gfx::Rect& layer_rect,
18 scoped_refptr<Picture> picture) {
19 SkImageInfo info =
20 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height());
21 SkBitmap bitmap;
22 bitmap.installPixels(info, buffer, info.minRowBytes());
23 SkCanvas canvas(bitmap);
24 canvas.clipRect(gfx::RectToSkRect(layer_rect));
25 // We're drawing the entire canvas, so the negated content region is empty.
26 gfx::Rect negated_content_region;
27 picture->Raster(&canvas, NULL, negated_content_region, 1.0f);
30 void DrawDisplayList(unsigned char* buffer,
31 const gfx::Rect& layer_rect,
32 scoped_refptr<DisplayItemList> list) {
33 SkImageInfo info =
34 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height());
35 SkBitmap bitmap;
36 bitmap.installPixels(info, buffer, info.minRowBytes());
37 SkCanvas canvas(bitmap);
38 canvas.clipRect(gfx::RectToSkRect(layer_rect));
39 list->Raster(&canvas, NULL, gfx::Rect(), 1.0f);
42 void CreateBitmap(const gfx::Size& size, const char* uri, SkBitmap* bitmap) {
43 SkImageInfo info = SkImageInfo::MakeN32Premul(size.width(), size.height());
45 bitmap->allocPixels(info);
46 bitmap->pixelRef()->setImmutable();
47 bitmap->pixelRef()->setURI(uri);
50 } // namespace cc