Chromium Code Reviews| Index: extensions/renderer/extensions_render_frame_observer.cc |
| diff --git a/extensions/renderer/extensions_render_frame_observer.cc b/extensions/renderer/extensions_render_frame_observer.cc |
| index be6dbccd2f1e12e36e90bbc7021516595a1dbbec..4fff370bdda0739779be50689ecb50be21b1bd30 100644 |
| --- a/extensions/renderer/extensions_render_frame_observer.cc |
| +++ b/extensions/renderer/extensions_render_frame_observer.cc |
| @@ -9,9 +9,12 @@ |
| #include "base/strings/string_split.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "content/public/renderer/render_frame.h" |
| +#include "content/public/renderer/render_view.h" |
| #include "extensions/common/extension_messages.h" |
| #include "extensions/common/stack_frame.h" |
| +#include "services/service_manager/public/cpp/interface_registry.h" |
| #include "third_party/WebKit/public/web/WebLocalFrame.h" |
| +#include "third_party/WebKit/public/web/WebView.h" |
| namespace extensions { |
| @@ -76,12 +79,37 @@ StackTrace GetStackTraceFromMessage(base::string16* message, |
| ExtensionsRenderFrameObserver::ExtensionsRenderFrameObserver( |
| content::RenderFrame* render_frame) |
| - : content::RenderFrameObserver(render_frame) { |
| + : content::RenderFrameObserver(render_frame), |
| + webview_visually_deemphasized_(false) { |
| + render_frame->GetInterfaceRegistry()->AddInterface( |
| + base::Bind(&ExtensionsRenderFrameObserver::AssociateBindings, |
| + base::Unretained(this))); |
| } |
| ExtensionsRenderFrameObserver::~ExtensionsRenderFrameObserver() { |
| } |
| +void ExtensionsRenderFrameObserver::AssociateBindings( |
| + mojom::AppWindowHandlerRequest request) { |
| + bindings_.AddBinding(this, std::move(request)); |
| +} |
| + |
| +void ExtensionsRenderFrameObserver::SetVisuallyDeemphasized(bool deemphasized) { |
| + if (webview_visually_deemphasized_ == deemphasized) |
| + return; |
| + |
| + webview_visually_deemphasized_ = deemphasized; |
| + |
| + if (deemphasized) { |
| + // 70% opaque grey. |
| + SkColor greyish = SkColorSetARGB(178, 0, 0, 0); |
| + render_frame()->GetRenderView()->GetWebView()->setPageOverlayColor(greyish); |
| + } else { |
| + render_frame()->GetRenderView()->GetWebView()->setPageOverlayColor( |
| + SK_ColorTRANSPARENT); |
|
Devlin
2017/03/07 19:39:05
I realize this was just copy-paste, so not your co
catmullings
2017/03/08 01:52:02
Done.
|
| + } |
| +} |
| + |
| void ExtensionsRenderFrameObserver::DetailedConsoleMessageAdded( |
| const base::string16& message, |
| const base::string16& source, |