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..3d5d7c3b88a7e9e9a7247248b230a6a676a30cd7 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,32 @@ 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( |
Ken Rockot(use gerrit already)
2017/03/08 17:31:38
nit: This is a pretty weird method name for what i
catmullings
2017/03/08 18:23:00
Done.
|
+ mojom::AppWindowHandlerRequest request) { |
+ bindings_.AddBinding(this, std::move(request)); |
+} |
+ |
+void ExtensionsRenderFrameObserver::SetVisuallyDeemphasized(bool deemphasized) { |
+ if (webview_visually_deemphasized_ == deemphasized) |
+ return; |
+ |
+ webview_visually_deemphasized_ = deemphasized; |
+ |
+ SkColor color = |
+ deemphasized ? SkColorSetARGB(178, 0, 0, 0) : SK_ColorTRANSPARENT; |
+ render_frame()->GetRenderView()->GetWebView()->setPageOverlayColor(color); |
+} |
+ |
void ExtensionsRenderFrameObserver::DetailedConsoleMessageAdded( |
const base::string16& message, |
const base::string16& source, |