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

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

Issue 2310563002: Adds routed interface support between RenderFrameHost and RenderFrame (Closed)
Patch Set: rebase 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 "ipc/ipc_listener.h" 16 #include "ipc/ipc_listener.h"
17 #include "ipc/ipc_sender.h" 17 #include "ipc/ipc_sender.h"
18 #include "ipc/ipc_sync_channel.h"
jam 2016/09/14 17:05:06 nit: not needed
jam 2016/09/14 17:05:58 oops, ignore this was from an earlier patchset and
18 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h" 19 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h"
19 #include "third_party/WebKit/public/web/WebNavigationPolicy.h" 20 #include "third_party/WebKit/public/web/WebNavigationPolicy.h"
20 21
21 class GURL; 22 class GURL;
22 23
23 namespace blink { 24 namespace blink {
24 class WebFrame; 25 class WebFrame;
25 class WebLocalFrame; 26 class WebLocalFrame;
26 class WebPlugin; 27 class WebPlugin;
27 class WebURLRequest; 28 class WebURLRequest;
(...skipping 15 matching lines...) Expand all
43 class Origin; 44 class Origin;
44 } 45 }
45 46
46 namespace v8 { 47 namespace v8 {
47 template <typename T> class Local; 48 template <typename T> class Local;
48 class Context; 49 class Context;
49 class Isolate; 50 class Isolate;
50 } 51 }
51 52
52 namespace content { 53 namespace content {
54 class AssociatedInterfaceProvider;
55 class AssociatedInterfaceRegistry;
53 class ContextMenuClient; 56 class ContextMenuClient;
54 class PluginInstanceThrottler; 57 class PluginInstanceThrottler;
55 class RenderAccessibility; 58 class RenderAccessibility;
56 class RenderView; 59 class RenderView;
57 struct ContextMenuParams; 60 struct ContextMenuParams;
58 struct WebPluginInfo; 61 struct WebPluginInfo;
59 struct WebPreferences; 62 struct WebPreferences;
60 63
61 // This interface wraps functionality, which is specific to frames, such as 64 // This interface wraps functionality, which is specific to frames, such as
62 // navigation. It provides communication with a corresponding RenderFrameHost 65 // 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; 151 virtual bool IsHidden() = 0;
149 152
150 // Returns the InterfaceRegistry that this process uses to expose interfaces 153 // Returns the InterfaceRegistry that this process uses to expose interfaces
151 // to the application running in this frame. 154 // to the application running in this frame.
152 virtual shell::InterfaceRegistry* GetInterfaceRegistry() = 0; 155 virtual shell::InterfaceRegistry* GetInterfaceRegistry() = 0;
153 156
154 // Returns the InterfaceProvider that this process can use to bind 157 // Returns the InterfaceProvider that this process can use to bind
155 // interfaces exposed to it by the application running in this frame. 158 // interfaces exposed to it by the application running in this frame.
156 virtual shell::InterfaceProvider* GetRemoteInterfaces() = 0; 159 virtual shell::InterfaceProvider* GetRemoteInterfaces() = 0;
157 160
161 // Returns the AssociatedInterfaceRegistry this frame can use to expose
162 // frame-specific Channel-associated interfaces to the remote RenderFrameHost.
163 virtual AssociatedInterfaceRegistry* GetAssociatedInterfaceRegistry() = 0;
164
165 // Returns the AssociatedInterfaceProvider this frame can use to access
166 // frame-specific Channel-assocaited interfaces from the remote
167 // RenderFrameHost.
168 virtual AssociatedInterfaceProvider* GetRemoteAssociatedInterfaces() = 0;
169
158 #if defined(ENABLE_PLUGINS) 170 #if defined(ENABLE_PLUGINS)
159 // Registers a plugin that has been marked peripheral. If the origin 171 // Registers a plugin that has been marked peripheral. If the origin
160 // whitelist is later updated and includes |content_origin|, then 172 // whitelist is later updated and includes |content_origin|, then
161 // |unthrottle_callback| will be called. 173 // |unthrottle_callback| will be called.
162 virtual void RegisterPeripheralPlugin( 174 virtual void RegisterPeripheralPlugin(
163 const url::Origin& content_origin, 175 const url::Origin& content_origin,
164 const base::Closure& unthrottle_callback) = 0; 176 const base::Closure& unthrottle_callback) = 0;
165 177
166 // Returns the peripheral content heuristic decision. 178 // Returns the peripheral content heuristic decision.
167 // 179 //
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 246
235 private: 247 private:
236 // This interface should only be implemented inside content. 248 // This interface should only be implemented inside content.
237 friend class RenderFrameImpl; 249 friend class RenderFrameImpl;
238 RenderFrame() {} 250 RenderFrame() {}
239 }; 251 };
240 252
241 } // namespace content 253 } // namespace content
242 254
243 #endif // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_ 255 #endif // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698