| Index: chrome/browser/ui/views/extensions/native_app_window_views.cc
|
| diff --git a/chrome/browser/ui/views/extensions/native_app_window_views.cc b/chrome/browser/ui/views/extensions/native_app_window_views.cc
|
| index e84b7ac0321ffe19ba6e04e0eb563507d3576d9b..4a066f60ddd913d0c695dc34408558d3bd7eff6b 100644
|
| --- a/chrome/browser/ui/views/extensions/native_app_window_views.cc
|
| +++ b/chrome/browser/ui/views/extensions/native_app_window_views.cc
|
| @@ -46,7 +46,9 @@ NativeAppWindowViews::NativeAppWindowViews(
|
| web_view_(NULL),
|
| window_(NULL),
|
| is_fullscreen_(false),
|
| - frameless_(create_params.frame == ShellWindow::FRAME_NONE) {
|
| + frameless_(create_params.frame == ShellWindow::FRAME_NONE),
|
| + transparent_background_(create_params.transparent_background) {
|
| + Observe(shell_window_->web_contents());
|
| minimum_size_ = create_params.minimum_size;
|
| maximum_size_ = create_params.maximum_size;
|
|
|
| @@ -391,6 +393,23 @@ void NativeAppWindowViews::OnWidgetActivationChanged(views::Widget* widget,
|
| shell_window_->OnNativeWindowChanged();
|
| }
|
|
|
| +// WebContentsObserver implementation.
|
| +
|
| +void NativeAppWindowViews::RenderViewCreated(
|
| + content::RenderViewHost* render_view_host) {
|
| + if (transparent_background_) {
|
| + // Use a background with transparency to trigger transparency in Webkit.
|
| + SkBitmap background;
|
| + background.setConfig(SkBitmap::kARGB_8888_Config, 1, 1);
|
| + background.allocPixels();
|
| + background.eraseARGB(0x00, 0x00, 0x00, 0x00);
|
| +
|
| + content::RenderWidgetHostView* view = render_view_host->GetView();
|
| + DCHECK(view);
|
| + view->SetBackground(background);
|
| + }
|
| +}
|
| +
|
| // views::View implementation.
|
|
|
| void NativeAppWindowViews::Layout() {
|
|
|