OLD | NEW |
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 "content/common/content_export.h" | 8 #include "content/common/content_export.h" |
9 #include "ipc/ipc_listener.h" | 9 #include "ipc/ipc_listener.h" |
10 #include "ipc/ipc_sender.h" | 10 #include "ipc/ipc_sender.h" |
11 #include "third_party/WebKit/public/web/WebNavigationPolicy.h" | 11 #include "third_party/WebKit/public/web/WebNavigationPolicy.h" |
12 | 12 |
13 struct WebPreferences; | 13 struct WebPreferences; |
14 | 14 |
15 namespace blink { | 15 namespace blink { |
16 class WebFrame; | 16 class WebFrame; |
| 17 class WebNode; |
17 class WebPlugin; | 18 class WebPlugin; |
18 class WebURLRequest; | 19 class WebURLRequest; |
19 struct WebPluginParams; | 20 struct WebPluginParams; |
20 } | 21 } |
21 | 22 |
22 namespace content { | 23 namespace content { |
23 class ContextMenuClient; | 24 class ContextMenuClient; |
24 class RenderView; | 25 class RenderView; |
25 struct ContextMenuParams; | 26 struct ContextMenuParams; |
26 struct WebPluginInfo; | 27 struct WebPluginInfo; |
(...skipping 30 matching lines...) Expand all Loading... |
57 // | 58 // |
58 // Note: if you end up having clients outliving the RenderFrame, we should add | 59 // Note: if you end up having clients outliving the RenderFrame, we should add |
59 // a CancelContextMenuCallback function that takes a request id. | 60 // a CancelContextMenuCallback function that takes a request id. |
60 virtual int ShowContextMenu(ContextMenuClient* client, | 61 virtual int ShowContextMenu(ContextMenuClient* client, |
61 const ContextMenuParams& params) = 0; | 62 const ContextMenuParams& params) = 0; |
62 | 63 |
63 // Cancels a context menu in the event that the client is destroyed before the | 64 // Cancels a context menu in the event that the client is destroyed before the |
64 // menu is closed. | 65 // menu is closed. |
65 virtual void CancelContextMenu(int request_id) = 0; | 66 virtual void CancelContextMenu(int request_id) = 0; |
66 | 67 |
| 68 // Gets the node that the context menu was pressed over. |
| 69 virtual blink::WebNode GetContextMenuNode() const = 0; |
| 70 |
67 // Create a new NPAPI/Pepper plugin depending on |info|. Returns NULL if no | 71 // Create a new NPAPI/Pepper plugin depending on |info|. Returns NULL if no |
68 // plugin was found. | 72 // plugin was found. |
69 virtual blink::WebPlugin* CreatePlugin( | 73 virtual blink::WebPlugin* CreatePlugin( |
70 blink::WebFrame* frame, | 74 blink::WebFrame* frame, |
71 const WebPluginInfo& info, | 75 const WebPluginInfo& info, |
72 const blink::WebPluginParams& params) = 0; | 76 const blink::WebPluginParams& params) = 0; |
73 | 77 |
74 // The client should handle the navigation externally. | 78 // The client should handle the navigation externally. |
75 virtual void LoadURLExternally( | 79 virtual void LoadURLExternally( |
76 blink::WebFrame* frame, | 80 blink::WebFrame* frame, |
77 const blink::WebURLRequest& request, | 81 const blink::WebURLRequest& request, |
78 blink::WebNavigationPolicy policy) = 0; | 82 blink::WebNavigationPolicy policy) = 0; |
79 | 83 |
80 protected: | 84 protected: |
81 virtual ~RenderFrame() {} | 85 virtual ~RenderFrame() {} |
82 | 86 |
83 private: | 87 private: |
84 // This interface should only be implemented inside content. | 88 // This interface should only be implemented inside content. |
85 friend class RenderFrameImpl; | 89 friend class RenderFrameImpl; |
86 RenderFrame() {} | 90 RenderFrame() {} |
87 }; | 91 }; |
88 | 92 |
89 } // namespace content | 93 } // namespace content |
90 | 94 |
91 #endif // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_ | 95 #endif // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_ |
OLD | NEW |