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

Unified Diff: cc/layers/heads_up_display_layer_impl.cc

Issue 900063002: Fixes for two different HUD issues related to win32k lockdown (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: better adoptref Created 5 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 side-by-side diff with in-line comments
Download patch
Index: cc/layers/heads_up_display_layer_impl.cc
diff --git a/cc/layers/heads_up_display_layer_impl.cc b/cc/layers/heads_up_display_layer_impl.cc
index cdb000ffa17a18560359c8729672c9e4fe9dd846..60d984b004915014ef4a94ac6c83c7529f4114a4 100644
--- a/cc/layers/heads_up_display_layer_impl.cc
+++ b/cc/layers/heads_up_display_layer_impl.cc
@@ -69,11 +69,10 @@ double HeadsUpDisplayLayerImpl::Graph::UpdateUpperBound() {
HeadsUpDisplayLayerImpl::HeadsUpDisplayLayerImpl(LayerTreeImpl* tree_impl,
int id)
: LayerImpl(tree_impl, id),
- typeface_(skia::AdoptRef(
- SkTypeface::CreateFromName("monospace", SkTypeface::kBold))),
fps_graph_(60.0, 80.0),
paint_time_graph_(16.0, 48.0),
- fade_step_(0) {}
+ fade_step_(0) {
+}
HeadsUpDisplayLayerImpl::~HeadsUpDisplayLayerImpl() {}
@@ -173,36 +172,36 @@ void HeadsUpDisplayLayerImpl::UpdateHudTexture(
return;
SkISize canvas_size;
- if (hud_canvas_)
- canvas_size = hud_canvas_->getDeviceSize();
+ if (hud_surface_)
+ canvas_size = hud_surface_->getCanvas()->getDeviceSize();
else
canvas_size.set(0, 0);
if (canvas_size.width() != content_bounds().width() ||
- canvas_size.height() != content_bounds().height() || !hud_canvas_) {
+ canvas_size.height() != content_bounds().height() || !hud_surface_) {
TRACE_EVENT0("cc", "ResizeHudCanvas");
- bool opaque = false;
- hud_canvas_ = make_scoped_ptr(skia::CreateBitmapCanvas(
- content_bounds().width(), content_bounds().height(), opaque));
+
+ hud_surface_ = skia::AdoptRef(SkSurface::NewRasterN32Premul(
+ content_bounds().width(), content_bounds().height()));
}
UpdateHudContents();
{
TRACE_EVENT0("cc", "DrawHudContents");
- hud_canvas_->clear(SkColorSetARGB(0, 0, 0, 0));
- hud_canvas_->save();
- hud_canvas_->scale(contents_scale_x(), contents_scale_y());
+ hud_surface_->getCanvas()->clear(SkColorSetARGB(0, 0, 0, 0));
+ hud_surface_->getCanvas()->save();
+ hud_surface_->getCanvas()->scale(contents_scale_x(), contents_scale_y());
- DrawHudContents(hud_canvas_.get());
+ DrawHudContents(hud_surface_->getCanvas());
- hud_canvas_->restore();
+ hud_surface_->getCanvas()->restore();
}
TRACE_EVENT0("cc", "UploadHudTexture");
SkImageInfo info;
size_t row_bytes = 0;
- const void* pixels = hud_canvas_->peekPixels(&info, &row_bytes);
+ const void* pixels = hud_surface_->getCanvas()->peekPixels(&info, &row_bytes);
DCHECK(pixels);
gfx::Rect content_rect(content_bounds());
DCHECK(info.colorType() == kN32_SkColorType);
@@ -300,7 +299,7 @@ void HeadsUpDisplayLayerImpl::DrawText(SkCanvas* canvas,
paint->setTextSize(size);
paint->setTextAlign(align);
- paint->setTypeface(typeface_.get());
+ paint->setTypeface(layer_tree_impl()->settings().hud_typeface.get());
canvas->drawText(text.c_str(), text.length(), x, y, *paint);
paint->setAntiAlias(anti_alias);
@@ -706,7 +705,7 @@ void HeadsUpDisplayLayerImpl::DrawDebugRect(
SkPaint label_paint = CreatePaint();
label_paint.setTextSize(kFontHeight);
- label_paint.setTypeface(typeface_.get());
+ label_paint.setTypeface(layer_tree_impl()->settings().hud_typeface.get());
label_paint.setColor(stroke_color);
const SkScalar label_text_width =

Powered by Google App Engine
This is Rietveld 408576698