Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3995)

Unified Diff: extensions/renderer/extensions_render_frame_observer.cc

Issue 2724933002: Convert SetVisuallyDeemphasized IPC to mojo (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..0d89b4a98e1c56b66209646d627d08bf8687ae0c 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 {
@@ -74,14 +77,40 @@ StackTrace GetStackTraceFromMessage(base::string16* message,
} // namespace
+void ExtensionsRenderFrameObserver::Create(
+ mojom::FrameObserverRequest request) {
+ bindings_.AddBinding(this, std::move(request));
+}
+
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::Create, base::Unretained(this)));
}
ExtensionsRenderFrameObserver::~ExtensionsRenderFrameObserver() {
}
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+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);
+ }
+}
+#endif
+
void ExtensionsRenderFrameObserver::DetailedConsoleMessageAdded(
const base::string16& message,
const base::string16& source,

Powered by Google App Engine
This is Rietveld 408576698