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

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

Issue 1360123006: Introduce RenderFrame::IsMainFrame and clean up a few things. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed use-after-free. Created 5 years, 2 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 | « content/public/renderer/render_frame.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 blink::WebNode GetContextMenuNode() const override; 340 blink::WebNode GetContextMenuNode() const override;
341 blink::WebPlugin* CreatePlugin( 341 blink::WebPlugin* CreatePlugin(
342 blink::WebFrame* frame, 342 blink::WebFrame* frame,
343 const WebPluginInfo& info, 343 const WebPluginInfo& info,
344 const blink::WebPluginParams& params, 344 const blink::WebPluginParams& params,
345 scoped_ptr<PluginInstanceThrottler> throttler) override; 345 scoped_ptr<PluginInstanceThrottler> throttler) override;
346 void LoadURLExternally(blink::WebLocalFrame* frame, 346 void LoadURLExternally(blink::WebLocalFrame* frame,
347 const blink::WebURLRequest& request, 347 const blink::WebURLRequest& request,
348 blink::WebNavigationPolicy policy) override; 348 blink::WebNavigationPolicy policy) override;
349 void ExecuteJavaScript(const base::string16& javascript) override; 349 void ExecuteJavaScript(const base::string16& javascript) override;
350 bool IsMainFrame() override;
350 bool IsHidden() override; 351 bool IsHidden() override;
351 ServiceRegistry* GetServiceRegistry() override; 352 ServiceRegistry* GetServiceRegistry() override;
352 #if defined(ENABLE_PLUGINS) 353 #if defined(ENABLE_PLUGINS)
353 void RegisterPeripheralPlugin( 354 void RegisterPeripheralPlugin(
354 const url::Origin& content_origin, 355 const url::Origin& content_origin,
355 const base::Closure& unthrottle_callback) override; 356 const base::Closure& unthrottle_callback) override;
356 PluginPowerSaverHelper* plugin_power_saver_helper() { 357 PluginPowerSaverHelper* plugin_power_saver_helper() {
357 return plugin_power_saver_helper_; 358 return plugin_power_saver_helper_;
358 } 359 }
359 #endif 360 #endif
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 // Connects to a Mojo application and returns a proxy to its exposed 857 // Connects to a Mojo application and returns a proxy to its exposed
857 // ServiceProvider. 858 // ServiceProvider.
858 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url); 859 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url);
859 860
860 // Stores the WebLocalFrame we are associated with. This is null from the 861 // Stores the WebLocalFrame we are associated with. This is null from the
861 // constructor until SetWebFrame is called, and it is null after 862 // constructor until SetWebFrame is called, and it is null after
862 // frameDetached is called until destruction (which is asynchronous in the 863 // frameDetached is called until destruction (which is asynchronous in the
863 // case of the main frame, but not subframes). 864 // case of the main frame, but not subframes).
864 blink::WebLocalFrame* frame_; 865 blink::WebLocalFrame* frame_;
865 866
866 // Boolean value indicating whether this RenderFrameImpl object is for a 867 // Boolean value indicating whether this RenderFrameImpl object is for the
867 // subframe or not. It remains accurate during destruction, even when |frame_| 868 // main frame or not. It remains accurate during destruction, even when
868 // has been invalidated. 869 // |frame_| has been invalidated.
869 bool is_subframe_; 870 bool is_main_frame_;
870 871
871 // Frame is a local root if it is rendered in a process different than parent 872 // Frame is a local root if it is rendered in a process different than parent
872 // or it is a main frame. 873 // or it is a main frame.
873 bool is_local_root_; 874 bool is_local_root_;
874 875
875 base::WeakPtr<RenderViewImpl> render_view_; 876 base::WeakPtr<RenderViewImpl> render_view_;
876 int routing_id_; 877 int routing_id_;
877 bool is_swapped_out_; 878 bool is_swapped_out_;
878 879
879 // RenderFrameProxy exists only when is_swapped_out_ is true. 880 // RenderFrameProxy exists only when is_swapped_out_ is true.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 #endif 1050 #endif
1050 1051
1051 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1052 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1052 1053
1053 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1054 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1054 }; 1055 };
1055 1056
1056 } // namespace content 1057 } // namespace content
1057 1058
1058 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1059 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW
« no previous file with comments | « content/public/renderer/render_frame.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698