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

Side by Side Diff: extensions/renderer/extensions_render_frame_observer.cc

Issue 2724933002: Convert SetVisuallyDeemphasized IPC to mojo (Closed)
Patch Set: Addressed Ken's comments Created 3 years, 9 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 unified diff | Download patch
« no previous file with comments | « extensions/renderer/extensions_render_frame_observer.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/renderer/extensions_render_frame_observer.h" 5 #include "extensions/renderer/extensions_render_frame_observer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/strings/string_split.h" 9 #include "base/strings/string_split.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "content/public/renderer/render_frame.h" 11 #include "content/public/renderer/render_frame.h"
12 #include "content/public/renderer/render_view.h"
12 #include "extensions/common/extension_messages.h" 13 #include "extensions/common/extension_messages.h"
13 #include "extensions/common/stack_frame.h" 14 #include "extensions/common/stack_frame.h"
15 #include "services/service_manager/public/cpp/interface_registry.h"
14 #include "third_party/WebKit/public/web/WebLocalFrame.h" 16 #include "third_party/WebKit/public/web/WebLocalFrame.h"
17 #include "third_party/WebKit/public/web/WebView.h"
15 18
16 namespace extensions { 19 namespace extensions {
17 20
18 namespace { 21 namespace {
19 22
20 // The delimiter for a stack trace provided by WebKit. 23 // The delimiter for a stack trace provided by WebKit.
21 const char kStackFrameDelimiter[] = "\n at "; 24 const char kStackFrameDelimiter[] = "\n at ";
22 25
23 // Get a stack trace from a WebKit console message. 26 // Get a stack trace from a WebKit console message.
24 // There are three possible scenarios: 27 // There are three possible scenarios:
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 base::string16() /* no function name */ )); 72 base::string16() /* no function name */ ));
70 } 73 }
71 74
72 return result; 75 return result;
73 } 76 }
74 77
75 } // namespace 78 } // namespace
76 79
77 ExtensionsRenderFrameObserver::ExtensionsRenderFrameObserver( 80 ExtensionsRenderFrameObserver::ExtensionsRenderFrameObserver(
78 content::RenderFrame* render_frame) 81 content::RenderFrame* render_frame)
79 : content::RenderFrameObserver(render_frame) { 82 : content::RenderFrameObserver(render_frame),
83 webview_visually_deemphasized_(false) {
84 render_frame->GetInterfaceRegistry()->AddInterface(
85 base::Bind(&ExtensionsRenderFrameObserver::BindAppWindowRequest,
86 base::Unretained(this)));
80 } 87 }
81 88
82 ExtensionsRenderFrameObserver::~ExtensionsRenderFrameObserver() { 89 ExtensionsRenderFrameObserver::~ExtensionsRenderFrameObserver() {
83 } 90 }
84 91
92 void ExtensionsRenderFrameObserver::BindAppWindowRequest(
93 mojom::AppWindowRequest request) {
94 bindings_.AddBinding(this, std::move(request));
95 }
96
97 void ExtensionsRenderFrameObserver::SetVisuallyDeemphasized(bool deemphasized) {
98 if (webview_visually_deemphasized_ == deemphasized)
99 return;
100
101 webview_visually_deemphasized_ = deemphasized;
102
103 SkColor color =
104 deemphasized ? SkColorSetARGB(178, 0, 0, 0) : SK_ColorTRANSPARENT;
105 render_frame()->GetRenderView()->GetWebView()->setPageOverlayColor(color);
106 }
107
85 void ExtensionsRenderFrameObserver::DetailedConsoleMessageAdded( 108 void ExtensionsRenderFrameObserver::DetailedConsoleMessageAdded(
86 const base::string16& message, 109 const base::string16& message,
87 const base::string16& source, 110 const base::string16& source,
88 const base::string16& stack_trace_string, 111 const base::string16& stack_trace_string,
89 uint32_t line_number, 112 uint32_t line_number,
90 int32_t severity_level) { 113 int32_t severity_level) {
91 base::string16 trimmed_message = message; 114 base::string16 trimmed_message = message;
92 StackTrace stack_trace = GetStackTraceFromMessage( 115 StackTrace stack_trace = GetStackTraceFromMessage(
93 &trimmed_message, 116 &trimmed_message,
94 source, 117 source,
95 stack_trace_string, 118 stack_trace_string,
96 line_number); 119 line_number);
97 Send(new ExtensionHostMsg_DetailedConsoleMessageAdded( 120 Send(new ExtensionHostMsg_DetailedConsoleMessageAdded(
98 routing_id(), trimmed_message, source, stack_trace, severity_level)); 121 routing_id(), trimmed_message, source, stack_trace, severity_level));
99 } 122 }
100 123
101 void ExtensionsRenderFrameObserver::OnDestruct() { 124 void ExtensionsRenderFrameObserver::OnDestruct() {
102 delete this; 125 delete this;
103 } 126 }
104 127
105 } // namespace extensions 128 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/renderer/extensions_render_frame_observer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698