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

Side by Side Diff: content/public/renderer/render_frame.h

Issue 2310563002: Adds routed interface support between RenderFrameHost and RenderFrame (Closed)
Patch Set: . Created 4 years, 3 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_ 5 #ifndef CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
6 #define CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_ 6 #define CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <memory> 10 #include <memory>
11 11
12 #include "base/callback_forward.h" 12 #include "base/callback_forward.h"
13 #include "base/strings/string16.h" 13 #include "base/strings/string16.h"
14 #include "content/common/content_export.h" 14 #include "content/common/content_export.h"
15 #include "content/public/common/console_message_level.h" 15 #include "content/public/common/console_message_level.h"
16 #include "content/public/renderer/render_thread.h"
Sam McNally 2016/09/09 05:33:15 These extra includes aren't needed anymore.
Ken Rockot(use gerrit already) 2016/09/09 16:01:50 Removed
16 #include "ipc/ipc_listener.h" 17 #include "ipc/ipc_listener.h"
17 #include "ipc/ipc_sender.h" 18 #include "ipc/ipc_sender.h"
19 #include "ipc/ipc_sync_channel.h"
20 #include "mojo/public/cpp/bindings/associated_interface_ptr.h"
21 #include "mojo/public/cpp/bindings/associated_interface_request.h"
18 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h" 22 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h"
19 #include "third_party/WebKit/public/web/WebNavigationPolicy.h" 23 #include "third_party/WebKit/public/web/WebNavigationPolicy.h"
20 24
21 class GURL; 25 class GURL;
22 26
23 namespace blink { 27 namespace blink {
24 class WebFrame; 28 class WebFrame;
25 class WebLocalFrame; 29 class WebLocalFrame;
26 class WebPlugin; 30 class WebPlugin;
27 class WebURLRequest; 31 class WebURLRequest;
(...skipping 15 matching lines...) Expand all
43 class Origin; 47 class Origin;
44 } 48 }
45 49
46 namespace v8 { 50 namespace v8 {
47 template <typename T> class Local; 51 template <typename T> class Local;
48 class Context; 52 class Context;
49 class Isolate; 53 class Isolate;
50 } 54 }
51 55
52 namespace content { 56 namespace content {
57 class AssociatedInterfaceProvider;
58 class AssociatedInterfaceRegistry;
53 class ContextMenuClient; 59 class ContextMenuClient;
54 class PluginInstanceThrottler; 60 class PluginInstanceThrottler;
55 class RenderAccessibility; 61 class RenderAccessibility;
56 class RenderView; 62 class RenderView;
57 struct ContextMenuParams; 63 struct ContextMenuParams;
58 struct WebPluginInfo; 64 struct WebPluginInfo;
59 struct WebPreferences; 65 struct WebPreferences;
60 66
61 // This interface wraps functionality, which is specific to frames, such as 67 // This interface wraps functionality, which is specific to frames, such as
62 // navigation. It provides communication with a corresponding RenderFrameHost 68 // navigation. It provides communication with a corresponding RenderFrameHost
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 virtual bool IsHidden() = 0; 154 virtual bool IsHidden() = 0;
149 155
150 // Returns the InterfaceRegistry that this process uses to expose interfaces 156 // Returns the InterfaceRegistry that this process uses to expose interfaces
151 // to the application running in this frame. 157 // to the application running in this frame.
152 virtual shell::InterfaceRegistry* GetInterfaceRegistry() = 0; 158 virtual shell::InterfaceRegistry* GetInterfaceRegistry() = 0;
153 159
154 // Returns the InterfaceProvider that this process can use to bind 160 // Returns the InterfaceProvider that this process can use to bind
155 // interfaces exposed to it by the application running in this frame. 161 // interfaces exposed to it by the application running in this frame.
156 virtual shell::InterfaceProvider* GetRemoteInterfaces() = 0; 162 virtual shell::InterfaceProvider* GetRemoteInterfaces() = 0;
157 163
164 // Returns the AssociatedInterfaceRegistry this frame can use to expose
165 // frame-specific Channel-associated interfaces to the remote RenderFrameHost.
166 virtual AssociatedInterfaceRegistry* GetAssociatedInterfaceRegistry() = 0;
167
168 // Returns the AssociatedInterfaceProvider this frame can use to access
169 // frame-specific Channel-assocaited interfaces from the remote
170 // RenderFrameHost.
171 virtual AssociatedInterfaceProvider* GetRemoteAssociatedInterfaces() = 0;
172
158 #if defined(ENABLE_PLUGINS) 173 #if defined(ENABLE_PLUGINS)
159 // Registers a plugin that has been marked peripheral. If the origin 174 // Registers a plugin that has been marked peripheral. If the origin
160 // whitelist is later updated and includes |content_origin|, then 175 // whitelist is later updated and includes |content_origin|, then
161 // |unthrottle_callback| will be called. 176 // |unthrottle_callback| will be called.
162 virtual void RegisterPeripheralPlugin( 177 virtual void RegisterPeripheralPlugin(
163 const url::Origin& content_origin, 178 const url::Origin& content_origin,
164 const base::Closure& unthrottle_callback) = 0; 179 const base::Closure& unthrottle_callback) = 0;
165 180
166 // Returns the peripheral content heuristic decision. 181 // Returns the peripheral content heuristic decision.
167 // 182 //
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 249
235 private: 250 private:
236 // This interface should only be implemented inside content. 251 // This interface should only be implemented inside content.
237 friend class RenderFrameImpl; 252 friend class RenderFrameImpl;
238 RenderFrame() {} 253 RenderFrame() {}
239 }; 254 };
240 255
241 } // namespace content 256 } // namespace content
242 257
243 #endif // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_ 258 #endif // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698