| diff --git ui/views/controls/native/native_view_host.cc ui/views/controls/native/native_view_host.cc |
| index b29553ae8f7b..c31233db9ab2 100644 |
| --- ui/views/controls/native/native_view_host.cc |
| +++ ui/views/controls/native/native_view_host.cc |
| @@ -154,7 +154,7 @@ void NativeViewHost::OnPaint(gfx::Canvas* canvas) { |
| // It would be nice if this used some approximation of the page's |
| // current background color. |
| if (native_wrapper_->HasInstalledClip()) |
| - canvas->FillRect(GetLocalBounds(), SK_ColorWHITE); |
| + canvas->FillRect(GetLocalBounds(), resize_background_color_); |
| } |
| |
| void NativeViewHost::VisibilityChanged(View* starting_from, bool is_visible) { |
| diff --git ui/views/controls/native/native_view_host.h ui/views/controls/native/native_view_host.h |
| index f92961e9f79b..f1ff80b244ef 100644 |
| --- ui/views/controls/native/native_view_host.h |
| +++ ui/views/controls/native/native_view_host.h |
| @@ -86,6 +86,12 @@ class VIEWS_EXPORT NativeViewHost : public View { |
| void set_fast_resize(bool fast_resize) { fast_resize_ = fast_resize; } |
| bool fast_resize() const { return fast_resize_; } |
| |
| + // Sets the color to paint the background during a resize that involves a |
| + // clip. This is white by default. |
| + void set_resize_background_color(SkColor resize_background_color) { |
| + resize_background_color_ = resize_background_color; |
| + } |
| + |
| gfx::NativeView native_view() const { return native_view_; } |
| |
| void NativeViewDestroyed(); |
| @@ -132,6 +138,9 @@ class VIEWS_EXPORT NativeViewHost : public View { |
| // in the setter/accessor above. |
| bool fast_resize_ = false; |
| |
| + // Color to paint in the background while resizing. |
| + SkColor resize_background_color_ = SK_ColorWHITE; |
| + |
| DISALLOW_COPY_AND_ASSIGN(NativeViewHost); |
| }; |
| |
| diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc |
| index 7bef84b8c9ea..9b9f0a789fe9 100644 |
| --- ui/views/controls/webview/webview.cc |
| +++ ui/views/controls/webview/webview.cc |
| @@ -127,6 +127,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size, |
| MaybeEnableAutoResize(); |
| } |
| |
| +void WebView::SetResizeBackgroundColor(SkColor resize_background_color) { |
| + holder_->set_resize_background_color(resize_background_color); |
| +} |
| + |
| void WebView::SetCrashedOverlayView(View* crashed_overlay_view) { |
| if (crashed_overlay_view_ == crashed_overlay_view) |
| return; |
| diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h |
| index 84d5cd520f7a..c7a2c7644c4f 100644 |
| --- ui/views/controls/webview/webview.h |
| +++ ui/views/controls/webview/webview.h |
| @@ -82,6 +82,10 @@ class WEBVIEW_EXPORT WebView : public View, |
| void EnableSizingFromWebContents(const gfx::Size& min_size, |
| const gfx::Size& max_size); |
| |
| + // Set the background color to use while resizing with a clip. This is white |
| + // by default. |
| + void SetResizeBackgroundColor(SkColor resize_background_color); |
| + |
| // If provided, this View will be shown in place of the web contents |
| // when the web contents is in a crashed state. This is cleared automatically |
| // if the web contents is changed. |