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

Side by Side Diff: content/renderer/render_frame_impl.h

Issue 138333006: Now that RenderFrame is 1:1 with WebFrame, add the associated getters and start cleaning up assumpt… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
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_RENDERER_RENDER_FRAME_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 class CONTENT_EXPORT RenderFrameImpl 43 class CONTENT_EXPORT RenderFrameImpl
44 : public RenderFrame, 44 : public RenderFrame,
45 NON_EXPORTED_BASE(public blink::WebFrameClient) { 45 NON_EXPORTED_BASE(public blink::WebFrameClient) {
46 public: 46 public:
47 // Creates a new RenderFrame. |render_view| is the RenderView object that this 47 // Creates a new RenderFrame. |render_view| is the RenderView object that this
48 // frame belongs to. 48 // frame belongs to.
49 // Callers *must* call |SetWebFrame| immediately after creation. 49 // Callers *must* call |SetWebFrame| immediately after creation.
50 // TODO(creis): We should structure this so that |SetWebFrame| isn't needed. 50 // TODO(creis): We should structure this so that |SetWebFrame| isn't needed.
51 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); 51 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id);
52 52
53 // For subframes, look up the RenderFrameImpl for the given WebFrame. Returns 53 // Just like RenderFrame::FromWebFrame but returns the implementation.
54 // NULL for main frames. 54 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame);
55 // This only works when using --site-per-process, and returns NULL otherwise.
56 // TODO(creis): Remove this when the RenderView methods dealing with frames
57 // have moved to RenderFrame.
58 static RenderFrameImpl* FindByWebFrame(blink::WebFrame* web_frame);
59 55
60 // Used by content_layouttest_support to hook into the creation of 56 // Used by content_layouttest_support to hook into the creation of
61 // RenderFrameImpls. 57 // RenderFrameImpls.
62 static void InstallCreateHook( 58 static void InstallCreateHook(
63 RenderFrameImpl* (*create_render_frame_impl)(RenderViewImpl*, int32)); 59 RenderFrameImpl* (*create_render_frame_impl)(RenderViewImpl*, int32));
64 60
65 virtual ~RenderFrameImpl(); 61 virtual ~RenderFrameImpl();
66 // TODO(nasko): Remove when no longer needed. 62 // TODO(nasko): Remove when no longer needed.
67 // See comment on the implementation of this method for more details. 63 // See comment on the implementation of this method for more details.
68 void operator delete(void*); 64 void operator delete(void*);
69 65
70 bool is_swapped_out() const { 66 bool is_swapped_out() const {
71 return is_swapped_out_; 67 return is_swapped_out_;
72 } 68 }
73 69
74 // TODO(jam): this is a temporary getter until all the code is transitioned 70 // TODO(jam): this is a temporary getter until all the code is transitioned
75 // to using RenderFrame instead of RenderView. 71 // to using RenderFrame instead of RenderView.
76 RenderViewImpl* render_view() { return render_view_; } 72 RenderViewImpl* render_view() { return render_view_; }
77 73
78 RendererWebCookieJarImpl* cookie_jar() { return &cookie_jar_; } 74 RendererWebCookieJarImpl* cookie_jar() { return &cookie_jar_; }
79 75
80 // Returns the RenderWidget associated with this frame. 76 // Returns the RenderWidget associated with this frame.
81 RenderWidget* GetRenderWidget(); 77 RenderWidget* GetRenderWidget();
82 78
83 // Called by RenderView right after creating this object when the 79 // This is called right after creation with the WebFrame for this RenderFrame.
84 // blink::WebFrame has been created.
85 void MainWebFrameCreated(blink::WebFrame* frame);
86
87 // In --site-per-process mode, we keep track of which WebFrame this
88 // RenderFrameImpl is for.
89 void SetWebFrame(blink::WebFrame* web_frame); 80 void SetWebFrame(blink::WebFrame* web_frame);
90 81
91 #if defined(ENABLE_PLUGINS) 82 #if defined(ENABLE_PLUGINS)
92 // Notification that a PPAPI plugin has been created. 83 // Notification that a PPAPI plugin has been created.
93 void PepperPluginCreated(RendererPpapiHost* host); 84 void PepperPluginCreated(RendererPpapiHost* host);
94 85
95 // Notifies that |instance| has changed the cursor. 86 // Notifies that |instance| has changed the cursor.
96 // This will update the cursor appearance if it is currently over the plugin 87 // This will update the cursor appearance if it is currently over the plugin
97 // instance. 88 // instance.
98 void PepperDidChangeCursor(PepperPluginInstanceImpl* instance, 89 void PepperDidChangeCursor(PepperPluginInstanceImpl* instance,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 136
146 // IPC::Sender 137 // IPC::Sender
147 virtual bool Send(IPC::Message* msg) OVERRIDE; 138 virtual bool Send(IPC::Message* msg) OVERRIDE;
148 139
149 // IPC::Listener 140 // IPC::Listener
150 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; 141 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
151 142
152 // RenderFrame implementation: 143 // RenderFrame implementation:
153 virtual RenderView* GetRenderView() OVERRIDE; 144 virtual RenderView* GetRenderView() OVERRIDE;
154 virtual int GetRoutingID() OVERRIDE; 145 virtual int GetRoutingID() OVERRIDE;
146 virtual blink::WebFrame* GetWebFrame() OVERRIDE;
155 virtual WebPreferences& GetWebkitPreferences() OVERRIDE; 147 virtual WebPreferences& GetWebkitPreferences() OVERRIDE;
156 virtual int ShowContextMenu(ContextMenuClient* client, 148 virtual int ShowContextMenu(ContextMenuClient* client,
157 const ContextMenuParams& params) OVERRIDE; 149 const ContextMenuParams& params) OVERRIDE;
158 virtual void CancelContextMenu(int request_id) OVERRIDE; 150 virtual void CancelContextMenu(int request_id) OVERRIDE;
159 virtual blink::WebPlugin* CreatePlugin( 151 virtual blink::WebPlugin* CreatePlugin(
160 blink::WebFrame* frame, 152 blink::WebFrame* frame,
161 const WebPluginInfo& info, 153 const WebPluginInfo& info,
162 const blink::WebPluginParams& params) OVERRIDE; 154 const blink::WebPluginParams& params) OVERRIDE;
163 virtual void LoadURLExternally( 155 virtual void LoadURLExternally(
164 blink::WebFrame* frame, 156 blink::WebFrame* frame,
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 // Functions to add and remove observers for this object. 312 // Functions to add and remove observers for this object.
321 void AddObserver(RenderFrameObserver* observer); 313 void AddObserver(RenderFrameObserver* observer);
322 void RemoveObserver(RenderFrameObserver* observer); 314 void RemoveObserver(RenderFrameObserver* observer);
323 315
324 // IPC message handlers ------------------------------------------------------ 316 // IPC message handlers ------------------------------------------------------
325 // 317 //
326 // The documentation for these functions should be in 318 // The documentation for these functions should be in
327 // content/common/*_messages.h for the message that the function is handling. 319 // content/common/*_messages.h for the message that the function is handling.
328 void OnSwapOut(); 320 void OnSwapOut();
329 321
330 // In --site-per-process mode, stores the WebFrame we are associated with. 322 // Stores the WebFrame we are associated with.
331 // NULL otherwise.
332 blink::WebFrame* frame_; 323 blink::WebFrame* frame_;
333 324
334 RenderViewImpl* render_view_; 325 RenderViewImpl* render_view_;
335 int routing_id_; 326 int routing_id_;
336 bool is_swapped_out_; 327 bool is_swapped_out_;
337 bool is_detaching_; 328 bool is_detaching_;
338 329
339 #if defined(ENABLE_PLUGINS) 330 #if defined(ENABLE_PLUGINS)
340 // Current text input composition text. Empty if no composition is in 331 // Current text input composition text. Empty if no composition is in
341 // progress. 332 // progress.
342 base::string16 pepper_composition_text_; 333 base::string16 pepper_composition_text_;
343 #endif 334 #endif
344 335
345 RendererWebCookieJarImpl cookie_jar_; 336 RendererWebCookieJarImpl cookie_jar_;
346 337
347 // All the registered observers. 338 // All the registered observers.
348 ObserverList<RenderFrameObserver> observers_; 339 ObserverList<RenderFrameObserver> observers_;
349 340
350 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 341 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
351 }; 342 };
352 343
353 } // namespace content 344 } // namespace content
354 345
355 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 346 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698