From 1c4241bff5396da7ca287eee867dc8e11899562f Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Tue, 22 Jan 2019 02:13:17 +0530 Subject: [PATCH] Move BackgroundColor from widgets and child frames to the WebView. https://chromium-review.googlesource.com/c/chromium/src/+/1382861 --- atom/browser/api/atom_api_browser_window.cc | 6 ++++-- atom/browser/osr/osr_render_widget_host_view.cc | 4 ++-- atom/renderer/renderer_client_base.cc | 9 +++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/atom/browser/api/atom_api_browser_window.cc b/atom/browser/api/atom_api_browser_window.cc index 05ebd4ab1ab0..7c7afe18e587 100644 --- a/atom/browser/api/atom_api_browser_window.cc +++ b/atom/browser/api/atom_api_browser_window.cc @@ -18,6 +18,7 @@ #include "atom/common/options_switches.h" #include "base/threading/thread_task_runner_handle.h" #include "content/browser/renderer_host/render_widget_host_impl.h" +#include "content/browser/renderer_host/render_widget_host_owner_delegate.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" #include "gin/converter.h" @@ -130,7 +131,7 @@ void BrowserWindow::RenderViewCreated( render_view_host->GetProcess()->GetID(), render_view_host->GetRoutingID()); if (impl) - impl->SetBackgroundOpaque(false); + impl->owner_delegate()->SetBackgroundOpaque(false); } void BrowserWindow::DidFirstVisuallyNonEmptyPaint() { @@ -349,7 +350,8 @@ void BrowserWindow::SetVibrancy(v8::Isolate* isolate, render_view_host->GetProcess()->GetID(), render_view_host->GetRoutingID()); if (impl) - impl->SetBackgroundOpaque(type.empty() ? !window_->transparent() : false); + impl->owner_delegate()->SetBackgroundOpaque( + type.empty() ? !window_->transparent() : false); } TopLevelWindow::SetVibrancy(isolate, value); diff --git a/atom/browser/osr/osr_render_widget_host_view.cc b/atom/browser/osr/osr_render_widget_host_view.cc index 364a956c60f2..04a6afd23502 100644 --- a/atom/browser/osr/osr_render_widget_host_view.cc +++ b/atom/browser/osr/osr_render_widget_host_view.cc @@ -529,8 +529,8 @@ void OffScreenRenderWidgetHostView::SetBackgroundColor(SkColor color) { UpdateBackgroundColorFromRenderer(color); if (render_widget_host_) { - render_widget_host_->SetBackgroundOpaque(SkColorGetA(color) == - SK_AlphaOPAQUE); + render_widget_host_->owner_delegate()->SetBackgroundOpaque( + SkColorGetA(color) == SK_AlphaOPAQUE); } } diff --git a/atom/renderer/renderer_client_base.cc b/atom/renderer/renderer_client_base.cc index 81abd32bc592..5b1c975bcd7c 100644 --- a/atom/renderer/renderer_client_base.cc +++ b/atom/renderer/renderer_client_base.cc @@ -32,6 +32,7 @@ #include "third_party/blink/public/web/web_plugin_params.h" #include "third_party/blink/public/web/web_script_source.h" #include "third_party/blink/public/web/web_security_policy.h" +#include "third_party/blink/public/web/web_view.h" #include "third_party/blink/renderer/platform/weborigin/scheme_registry.h" #if defined(OS_MACOSX) @@ -221,16 +222,16 @@ void RendererClientBase::RenderFrameCreated( content::RenderView* render_view = render_frame->GetRenderView(); if (render_frame->IsMainFrame() && render_view) { - blink::WebFrameWidget* web_frame_widget = render_view->GetWebFrameWidget(); - if (web_frame_widget) { + blink::WebView* webview = render_view->GetWebView(); + if (webview) { base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); if (cmd->HasSwitch(switches::kGuestInstanceID)) { // webview. - web_frame_widget->SetBaseBackgroundColor(SK_ColorTRANSPARENT); + webview->SetBaseBackgroundColor(SK_ColorTRANSPARENT); } else { // normal window. std::string name = cmd->GetSwitchValueASCII(switches::kBackgroundColor); SkColor color = name.empty() ? SK_ColorTRANSPARENT : ParseHexColor(name); - web_frame_widget->SetBaseBackgroundColor(color); + webview->SetBaseBackgroundColor(color); } } }