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