| Index: chrome/browser/renderer_host/render_widget_host_view_win.cc
|
| diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.cc b/chrome/browser/renderer_host/render_widget_host_view_win.cc
|
| index 022d027f4aafbe8787895ed25d4e31f9395d90e2..6f53af5a52b6b3e16dd9fcc7b2fc91a9bb1fcaed 100644
|
| --- a/chrome/browser/renderer_host/render_widget_host_view_win.cc
|
| +++ b/chrome/browser/renderer_host/render_widget_host_view_win.cc
|
| @@ -261,8 +261,7 @@ void DrawDeemphasized(const gfx::Rect& paint_rect,
|
| paint_rect.y(),
|
| SRCCOPY);
|
| canvas.endPlatformPaint();
|
| - // 178 is 70% grey.
|
| - canvas.FillRectInt(SkColorSetARGB(178, 0, 0, 0), 0, 0,
|
| + canvas.FillRectInt(overlay_color_, 0, 0,
|
| paint_rect.width(), paint_rect.height());
|
| canvas.getTopPlatformDevice().drawToHDC(paint_dc, paint_rect.x(),
|
| paint_rect.y(), NULL);
|
| @@ -296,7 +295,7 @@ RenderWidgetHostViewWin::RenderWidgetHostViewWin(RenderWidgetHost* widget)
|
| shutdown_factory_(this),
|
| parent_hwnd_(NULL),
|
| is_loading_(false),
|
| - visually_deemphasized_(false),
|
| + overlay_color_(0),
|
| text_input_type_(WebKit::WebTextInputTypeNone) {
|
| render_widget_host_->set_view(this);
|
| registrar_.Add(this,
|
| @@ -808,11 +807,16 @@ bool RenderWidgetHostViewWin::ContainsNativeView(
|
| return false;
|
| }
|
|
|
| -void RenderWidgetHostViewWin::SetVisuallyDeemphasized(bool deemphasized) {
|
| - if (visually_deemphasized_ == deemphasized)
|
| +void RenderWidgetHostViewWin::SetVisuallyDeemphasized(const SkColor* color,
|
| + bool animate) {
|
| + // |animate| is not yet implemented, and currently isn't used.
|
| + CHECK(!animate);
|
| +
|
| + overlay_color = color ? *color : 0;
|
| + if (overlay_color_ == overlay_color)
|
| return;
|
| + overlay_color_ = overlay_color;
|
|
|
| - visually_deemphasized_ = deemphasized;
|
| InvalidateRect(NULL, FALSE);
|
| }
|
|
|
| @@ -922,7 +926,7 @@ void RenderWidgetHostViewWin::OnPaint(HDC unused_dc) {
|
| for (DWORD i = 0; i < region_data->rdh.nCount; ++i) {
|
| gfx::Rect paint_rect = bitmap_rect.Intersect(gfx::Rect(region_rects[i]));
|
| if (!paint_rect.IsEmpty()) {
|
| - if (visually_deemphasized_) {
|
| + if (SkColorGetA(overlay_coolor_) > 0) {
|
| DrawDeemphasized(paint_rect, backing_store->hdc(), paint_dc.m_hDC);
|
| } else {
|
| BitBlt(paint_dc.m_hDC,
|
|
|