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

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: i am a plumber 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..3eba051e46a093ba665242839218b54a2d247f50 100644
--- a/cc/layers/heads_up_display_layer_impl.cc
+++ b/cc/layers/heads_up_display_layer_impl.cc
@@ -67,19 +67,21 @@ double HeadsUpDisplayLayerImpl::Graph::UpdateUpperBound() {
}
HeadsUpDisplayLayerImpl::HeadsUpDisplayLayerImpl(LayerTreeImpl* tree_impl,
- int id)
+ int id,
+ SkTypeface* typeface)
: LayerImpl(tree_impl, id),
- typeface_(skia::AdoptRef(
- SkTypeface::CreateFromName("monospace", SkTypeface::kBold))),
+ hud_canvas_(nullptr),
+ typeface_(typeface),
fps_graph_(60.0, 80.0),
paint_time_graph_(16.0, 48.0),
- fade_step_(0) {}
+ fade_step_(0) {
+}
HeadsUpDisplayLayerImpl::~HeadsUpDisplayLayerImpl() {}
scoped_ptr<LayerImpl> HeadsUpDisplayLayerImpl::CreateLayerImpl(
LayerTreeImpl* tree_impl) {
- return HeadsUpDisplayLayerImpl::Create(tree_impl, id());
+ return HeadsUpDisplayLayerImpl::Create(tree_impl, id(), typeface_);
}
void HeadsUpDisplayLayerImpl::AcquireResource(
@@ -181,9 +183,10 @@ void HeadsUpDisplayLayerImpl::UpdateHudTexture(
if (canvas_size.width() != content_bounds().width() ||
canvas_size.height() != content_bounds().height() || !hud_canvas_) {
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()));
+ hud_canvas_ = hud_surface_->getCanvas();
}
UpdateHudContents();
@@ -194,7 +197,7 @@ void HeadsUpDisplayLayerImpl::UpdateHudTexture(
hud_canvas_->save();
hud_canvas_->scale(contents_scale_x(), contents_scale_y());
- DrawHudContents(hud_canvas_.get());
+ DrawHudContents(hud_canvas_);
hud_canvas_->restore();
}
@@ -300,7 +303,7 @@ void HeadsUpDisplayLayerImpl::DrawText(SkCanvas* canvas,
paint->setTextSize(size);
paint->setTextAlign(align);
- paint->setTypeface(typeface_.get());
+ paint->setTypeface(typeface_);
canvas->drawText(text.c_str(), text.length(), x, y, *paint);
paint->setAntiAlias(anti_alias);
@@ -706,7 +709,7 @@ void HeadsUpDisplayLayerImpl::DrawDebugRect(
SkPaint label_paint = CreatePaint();
label_paint.setTextSize(kFontHeight);
- label_paint.setTypeface(typeface_.get());
+ label_paint.setTypeface(typeface_);
label_paint.setColor(stroke_color);
const SkScalar label_text_width =

Powered by Google App Engine
This is Rietveld 408576698