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
3// found in the LICENSE file.
4
5#include "chrome/renderer/webview_color_overlay.h"
6
7#include "base/logging.h"
8#include "content/public/renderer/render_view.h"
9#include "third_party/skia/include/core/SkCanvas.h"
10#include "third_party/skia/include/core/SkPaint.h"
11#include "third_party/skia/include/core/SkRect.h"
12#include "third_party/WebKit/public/web/WebView.h"
13#include "ui/gfx/size.h"
14#include "ui/gfx/skia_util.h"
15
16WebViewColorOverlay::WebViewColorOverlay(content::RenderView* render_view,
17                                         SkColor color)
18    : render_view_(render_view),
19      color_(color) {
20  render_view_->GetWebView()->addPageOverlay(this, 0);
21}
22
23WebViewColorOverlay::~WebViewColorOverlay() {
24  if (render_view_->GetWebView())
25    render_view_->GetWebView()->removePageOverlay(this);
26}
27
28void WebViewColorOverlay::paintPageOverlay(blink::WebCanvas* canvas) {
29  SkRect rect = gfx::RectToSkRect(gfx::Rect(render_view_->GetSize()));
30  SkPaint paint;
31  paint.setColor(color_);
32  paint.setStyle(SkPaint::kFill_Style);
33  canvas->drawRect(rect, paint);
34}
35