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

Side by Side Diff: ui/message_center/views/notification_view_unittest.cc

Issue 2792133002: Paint: remove readPixels. (Closed)
Patch Set: Created 3 years, 8 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
« ui/gfx/canvas.cc ('K') | « ui/gfx/canvas.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/message_center/views/notification_view.h" 5 #include "ui/message_center/views/notification_view.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 return gfx::Size(); 125 return gfx::Size();
126 126
127 gfx::Size canvas_size = view->bounds().size(); 127 gfx::Size canvas_size = view->bounds().size();
128 gfx::Canvas canvas(canvas_size, 1.0 /* image_scale */, 128 gfx::Canvas canvas(canvas_size, 1.0 /* image_scale */,
129 true /* is_opaque */); 129 true /* is_opaque */);
130 static_assert(kBitmapColor != SK_ColorBLACK, 130 static_assert(kBitmapColor != SK_ColorBLACK,
131 "The bitmap color must match the background color"); 131 "The bitmap color must match the background color");
132 canvas.DrawColor(SK_ColorBLACK); 132 canvas.DrawColor(SK_ColorBLACK);
133 view->OnPaint(&canvas); 133 view->OnPaint(&canvas);
134 134
135 SkBitmap bitmap; 135 SkBitmap bitmap = canvas.GetBitmap();
136 bitmap.allocN32Pixels(canvas_size.width(), canvas_size.height());
137 canvas.sk_canvas()->readPixels(&bitmap, 0, 0);
138
139 // Incrementally inset each edge at its midpoint to find the bounds of the 136 // Incrementally inset each edge at its midpoint to find the bounds of the
140 // rect containing the image's color. This assumes that the image is 137 // rect containing the image's color. This assumes that the image is
141 // centered in the canvas. 138 // centered in the canvas.
142 const int kHalfWidth = canvas_size.width() / 2; 139 const int kHalfWidth = canvas_size.width() / 2;
143 const int kHalfHeight = canvas_size.height() / 2; 140 const int kHalfHeight = canvas_size.height() / 2;
144 gfx::Rect rect(canvas_size); 141 gfx::Rect rect(canvas_size);
145 while (rect.width() > 0 && 142 while (rect.width() > 0 &&
146 bitmap.getColor(rect.x(), kHalfHeight) != kBitmapColor) 143 bitmap.getColor(rect.x(), kHalfHeight) != kBitmapColor)
147 rect.Inset(1, 0, 0, 0); 144 rect.Inset(1, 0, 0, 0);
148 while (rect.height() > 0 && 145 while (rect.height() > 0 &&
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 TEST_F(NotificationViewTest, Pinned) { 706 TEST_F(NotificationViewTest, Pinned) {
710 notification()->set_pinned(true); 707 notification()->set_pinned(true);
711 708
712 UpdateNotificationViews(); 709 UpdateNotificationViews();
713 EXPECT_EQ(NULL, GetCloseButton()); 710 EXPECT_EQ(NULL, GetCloseButton());
714 } 711 }
715 712
716 #endif // defined(OS_CHROMEOS) 713 #endif // defined(OS_CHROMEOS)
717 714
718 } // namespace message_center 715 } // namespace message_center
OLDNEW
« ui/gfx/canvas.cc ('K') | « ui/gfx/canvas.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698