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

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

Issue 1873783003: Convert //content/renderer from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/renderer/raster_worker_pool.cc ('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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <memory>
11 #include <string> 12 #include <string>
12 #include <vector> 13 #include <vector>
13 14
14 #include "base/files/file_path.h" 15 #include "base/files/file_path.h"
15 #include "base/gtest_prod_util.h" 16 #include "base/gtest_prod_util.h"
16 #include "base/id_map.h" 17 #include "base/id_map.h"
17 #include "base/macros.h" 18 #include "base/macros.h"
18 #include "base/memory/linked_ptr.h" 19 #include "base/memory/linked_ptr.h"
19 #include "base/memory/scoped_ptr.h"
20 #include "base/memory/weak_ptr.h" 20 #include "base/memory/weak_ptr.h"
21 #include "base/observer_list.h" 21 #include "base/observer_list.h"
22 #include "base/process/process_handle.h" 22 #include "base/process/process_handle.h"
23 #include "build/build_config.h" 23 #include "build/build_config.h"
24 #include "content/common/accessibility_mode_enums.h" 24 #include "content/common/accessibility_mode_enums.h"
25 #include "content/common/frame_message_enums.h" 25 #include "content/common/frame_message_enums.h"
26 #include "content/common/mojo/service_registry_impl.h" 26 #include "content/common/mojo/service_registry_impl.h"
27 #include "content/public/common/console_message_level.h" 27 #include "content/public/common/console_message_level.h"
28 #include "content/public/common/javascript_message_type.h" 28 #include "content/public/common/javascript_message_type.h"
29 #include "content/public/common/referrer.h" 29 #include "content/public/common/referrer.h"
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 blink::WebElement GetFocusedElement() const override; 380 blink::WebElement GetFocusedElement() const override;
381 WebPreferences& GetWebkitPreferences() override; 381 WebPreferences& GetWebkitPreferences() override;
382 int ShowContextMenu(ContextMenuClient* client, 382 int ShowContextMenu(ContextMenuClient* client,
383 const ContextMenuParams& params) override; 383 const ContextMenuParams& params) override;
384 void CancelContextMenu(int request_id) override; 384 void CancelContextMenu(int request_id) override;
385 blink::WebNode GetContextMenuNode() const override; 385 blink::WebNode GetContextMenuNode() const override;
386 blink::WebPlugin* CreatePlugin( 386 blink::WebPlugin* CreatePlugin(
387 blink::WebFrame* frame, 387 blink::WebFrame* frame,
388 const WebPluginInfo& info, 388 const WebPluginInfo& info,
389 const blink::WebPluginParams& params, 389 const blink::WebPluginParams& params,
390 scoped_ptr<PluginInstanceThrottler> throttler) override; 390 std::unique_ptr<PluginInstanceThrottler> throttler) override;
391 void LoadURLExternally(const blink::WebURLRequest& request, 391 void LoadURLExternally(const blink::WebURLRequest& request,
392 blink::WebNavigationPolicy policy) override; 392 blink::WebNavigationPolicy policy) override;
393 void ExecuteJavaScript(const base::string16& javascript) override; 393 void ExecuteJavaScript(const base::string16& javascript) override;
394 bool IsMainFrame() override; 394 bool IsMainFrame() override;
395 bool IsHidden() override; 395 bool IsHidden() override;
396 ServiceRegistry* GetServiceRegistry() override; 396 ServiceRegistry* GetServiceRegistry() override;
397 #if defined(ENABLE_PLUGINS) 397 #if defined(ENABLE_PLUGINS)
398 void RegisterPeripheralPlugin( 398 void RegisterPeripheralPlugin(
399 const url::Origin& content_origin, 399 const url::Origin& content_origin,
400 const base::Closure& unthrottle_callback) override; 400 const base::Closure& unthrottle_callback) override;
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 // Binds this render frame's service registry. 635 // Binds this render frame's service registry.
636 void BindServiceRegistry( 636 void BindServiceRegistry(
637 mojo::shell::mojom::InterfaceProviderRequest services, 637 mojo::shell::mojom::InterfaceProviderRequest services,
638 mojo::shell::mojom::InterfaceProviderPtr exposed_services); 638 mojo::shell::mojom::InterfaceProviderPtr exposed_services);
639 639
640 ManifestManager* manifest_manager(); 640 ManifestManager* manifest_manager();
641 641
642 // TODO(creis): Remove when the only caller, the HistoryController, is no 642 // TODO(creis): Remove when the only caller, the HistoryController, is no
643 // more. 643 // more.
644 void SetPendingNavigationParams( 644 void SetPendingNavigationParams(
645 scoped_ptr<NavigationParams> navigation_params); 645 std::unique_ptr<NavigationParams> navigation_params);
646 646
647 media::MediaPermission* GetMediaPermission(); 647 media::MediaPermission* GetMediaPermission();
648 648
649 // Sends the current frame's navigation state to the browser. 649 // Sends the current frame's navigation state to the browser.
650 void SendUpdateState(); 650 void SendUpdateState();
651 651
652 // Creates a MojoBindingsController if Mojo bindings have been enabled for 652 // Creates a MojoBindingsController if Mojo bindings have been enabled for
653 // this frame. For WebUI, this allows the page to communicate with the browser 653 // this frame. For WebUI, this allows the page to communicate with the browser
654 // process; for layout tests, this allows the test to mock out services at 654 // process; for layout tests, this allows the test to mock out services at
655 // the Mojo IPC layer. 655 // the Mojo IPC layer.
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 bool is_history_navigation_in_new_child); 823 bool is_history_navigation_in_new_child);
824 824
825 // Performs a navigation in the frame. This provides a unified function for 825 // Performs a navigation in the frame. This provides a unified function for
826 // the current code path and the browser-side navigation path (in 826 // the current code path and the browser-side navigation path (in
827 // development). Currently used by OnNavigate, with all *NavigationParams 827 // development). Currently used by OnNavigate, with all *NavigationParams
828 // provided by the browser. |stream_params| should be null. 828 // provided by the browser. |stream_params| should be null.
829 // PlzNavigate: used by OnCommitNavigation, with |common_params| and 829 // PlzNavigate: used by OnCommitNavigation, with |common_params| and
830 // |request_params| received by the browser. |stream_params| should be non 830 // |request_params| received by the browser. |stream_params| should be non
831 // null and created from the information provided by the browser. 831 // null and created from the information provided by the browser.
832 // |start_params| is not used. 832 // |start_params| is not used.
833 void NavigateInternal(const CommonNavigationParams& common_params, 833 void NavigateInternal(
834 const StartNavigationParams& start_params, 834 const CommonNavigationParams& common_params,
835 const RequestNavigationParams& request_params, 835 const StartNavigationParams& start_params,
836 scoped_ptr<StreamOverrideParameters> stream_params); 836 const RequestNavigationParams& request_params,
837 std::unique_ptr<StreamOverrideParameters> stream_params);
837 838
838 // Update current main frame's encoding and send it to browser window. 839 // Update current main frame's encoding and send it to browser window.
839 // Since we want to let users see the right encoding info from menu 840 // Since we want to let users see the right encoding info from menu
840 // before finishing loading, we call the UpdateEncoding in 841 // before finishing loading, we call the UpdateEncoding in
841 // a) function:DidCommitLoadForFrame. When this function is called, 842 // a) function:DidCommitLoadForFrame. When this function is called,
842 // that means we have got first data. In here we try to get encoding 843 // that means we have got first data. In here we try to get encoding
843 // of page if it has been specified in http header. 844 // of page if it has been specified in http header.
844 // b) function:DidReceiveTitle. When this function is called, 845 // b) function:DidReceiveTitle. When this function is called,
845 // that means we have got specified title. Because in most of webpages, 846 // that means we have got specified title. Because in most of webpages,
846 // title tags will follow meta tags. In here we try to get encoding of 847 // title tags will follow meta tags. In here we try to get encoding of
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 // possible to create a MediaStreamClient (e.g., WebRTC is disabled), then 881 // possible to create a MediaStreamClient (e.g., WebRTC is disabled), then
881 // |web_user_media_client_| will remain NULL. 882 // |web_user_media_client_| will remain NULL.
882 void InitializeUserMediaClient(); 883 void InitializeUserMediaClient();
883 884
884 blink::WebMediaPlayer* CreateWebMediaPlayerForMediaStream( 885 blink::WebMediaPlayer* CreateWebMediaPlayerForMediaStream(
885 blink::WebMediaPlayerClient* client, 886 blink::WebMediaPlayerClient* client,
886 const blink::WebString& sink_id, 887 const blink::WebString& sink_id,
887 const blink::WebSecurityOrigin& security_origin); 888 const blink::WebSecurityOrigin& security_origin);
888 889
889 // Creates a factory object used for creating audio and video renderers. 890 // Creates a factory object used for creating audio and video renderers.
890 scoped_ptr<MediaStreamRendererFactory> CreateRendererFactory(); 891 std::unique_ptr<MediaStreamRendererFactory> CreateRendererFactory();
891 892
892 // Does preparation for the navigation to |url|. 893 // Does preparation for the navigation to |url|.
893 void PrepareRenderViewForNavigation( 894 void PrepareRenderViewForNavigation(
894 const GURL& url, 895 const GURL& url,
895 const RequestNavigationParams& request_params); 896 const RequestNavigationParams& request_params);
896 897
897 // PlzNavigate 898 // PlzNavigate
898 // Sends a FrameHostMsg_BeginNavigation to the browser based on the contents 899 // Sends a FrameHostMsg_BeginNavigation to the browser based on the contents
899 // of the WebURLRequest. 900 // of the WebURLRequest.
900 // |should_replace_current_entry| indicates that the current history entry 901 // |should_replace_current_entry| indicates that the current history entry
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 int proxy_routing_id_; 1036 int proxy_routing_id_;
1036 1037
1037 // Non-null when the RenderFrame is a local root for compositing, input, 1038 // Non-null when the RenderFrame is a local root for compositing, input,
1038 // layout, etc. A local frame is also a local root iff it does not have a 1039 // layout, etc. A local frame is also a local root iff it does not have a
1039 // parent that is a local frame. 1040 // parent that is a local frame.
1040 scoped_refptr<RenderWidget> render_widget_; 1041 scoped_refptr<RenderWidget> render_widget_;
1041 1042
1042 // Temporarily holds state pertaining to a navigation that has been initiated 1043 // Temporarily holds state pertaining to a navigation that has been initiated
1043 // until the NavigationState corresponding to the new navigation is created in 1044 // until the NavigationState corresponding to the new navigation is created in
1044 // didCreateDataSource(). 1045 // didCreateDataSource().
1045 scoped_ptr<NavigationParams> pending_navigation_params_; 1046 std::unique_ptr<NavigationParams> pending_navigation_params_;
1046 1047
1047 // Stores the current history item for this frame, so that updates to it can 1048 // Stores the current history item for this frame, so that updates to it can
1048 // be reported to the browser process via SendUpdateState. 1049 // be reported to the browser process via SendUpdateState.
1049 blink::WebHistoryItem current_history_item_; 1050 blink::WebHistoryItem current_history_item_;
1050 1051
1051 #if defined(ENABLE_PLUGINS) 1052 #if defined(ENABLE_PLUGINS)
1052 // Current text input composition text. Empty if no composition is in 1053 // Current text input composition text. Empty if no composition is in
1053 // progress. 1054 // progress.
1054 base::string16 pepper_composition_text_; 1055 base::string16 pepper_composition_text_;
1055 1056
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 // along with the RenderFrame automatically. This is why we just store weak 1101 // along with the RenderFrame automatically. This is why we just store weak
1101 // references. 1102 // references.
1102 1103
1103 // Dispatches permission requests for Web Notifications. 1104 // Dispatches permission requests for Web Notifications.
1104 NotificationPermissionDispatcher* notification_permission_dispatcher_; 1105 NotificationPermissionDispatcher* notification_permission_dispatcher_;
1105 1106
1106 // Destroyed via the RenderFrameObserver::OnDestruct() mechanism. 1107 // Destroyed via the RenderFrameObserver::OnDestruct() mechanism.
1107 UserMediaClientImpl* web_user_media_client_; 1108 UserMediaClientImpl* web_user_media_client_;
1108 1109
1109 // EncryptedMediaClient attached to this frame; lazily initialized. 1110 // EncryptedMediaClient attached to this frame; lazily initialized.
1110 scoped_ptr<media::WebEncryptedMediaClientImpl> web_encrypted_media_client_; 1111 std::unique_ptr<media::WebEncryptedMediaClientImpl>
1112 web_encrypted_media_client_;
1111 1113
1112 // The media permission dispatcher attached to this frame. 1114 // The media permission dispatcher attached to this frame.
1113 scoped_ptr<MediaPermissionDispatcher> media_permission_dispatcher_; 1115 std::unique_ptr<MediaPermissionDispatcher> media_permission_dispatcher_;
1114 1116
1115 #if defined(ENABLE_MOJO_MEDIA) 1117 #if defined(ENABLE_MOJO_MEDIA)
1116 // The media interface provider attached to this frame, lazily initialized. 1118 // The media interface provider attached to this frame, lazily initialized.
1117 scoped_ptr<MediaInterfaceProvider> media_interface_provider_; 1119 std::unique_ptr<MediaInterfaceProvider> media_interface_provider_;
1118 #endif 1120 #endif
1119 1121
1120 // MidiClient attached to this frame; lazily initialized. 1122 // MidiClient attached to this frame; lazily initialized.
1121 MidiDispatcher* midi_dispatcher_; 1123 MidiDispatcher* midi_dispatcher_;
1122 1124
1123 #if defined(OS_ANDROID) 1125 #if defined(OS_ANDROID)
1124 // Manages all media players and sessions in this render frame for 1126 // Manages all media players and sessions in this render frame for
1125 // communicating with the real media player and sessions in the 1127 // communicating with the real media player and sessions in the
1126 // browser process. It's okay to use raw pointers since they're both 1128 // browser process. It's okay to use raw pointers since they're both
1127 // RenderFrameObservers. 1129 // RenderFrameObservers.
1128 RendererMediaPlayerManager* media_player_manager_; 1130 RendererMediaPlayerManager* media_player_manager_;
1129 RendererMediaSessionManager* media_session_manager_; 1131 RendererMediaSessionManager* media_session_manager_;
1130 #endif 1132 #endif
1131 1133
1132 media::SurfaceManager* media_surface_manager_; 1134 media::SurfaceManager* media_surface_manager_;
1133 1135
1134 #if defined(ENABLE_BROWSER_CDMS) 1136 #if defined(ENABLE_BROWSER_CDMS)
1135 // Manage all CDMs in this render frame for communicating with the real CDM in 1137 // Manage all CDMs in this render frame for communicating with the real CDM in
1136 // the browser process. It's okay to use a raw pointer since it's a 1138 // the browser process. It's okay to use a raw pointer since it's a
1137 // RenderFrameObserver. 1139 // RenderFrameObserver.
1138 RendererCdmManager* cdm_manager_; 1140 RendererCdmManager* cdm_manager_;
1139 #endif 1141 #endif
1140 1142
1141 // The CDM and decoder factory attached to this frame, lazily initialized. 1143 // The CDM and decoder factory attached to this frame, lazily initialized.
1142 scoped_ptr<media::CdmFactory> cdm_factory_; 1144 std::unique_ptr<media::CdmFactory> cdm_factory_;
1143 scoped_ptr<media::DecoderFactory> decoder_factory_; 1145 std::unique_ptr<media::DecoderFactory> decoder_factory_;
1144 1146
1145 // Media resource cache, lazily initialized. 1147 // Media resource cache, lazily initialized.
1146 linked_ptr<media::UrlIndex> url_index_; 1148 linked_ptr<media::UrlIndex> url_index_;
1147 1149
1148 #if defined(VIDEO_HOLE) 1150 #if defined(VIDEO_HOLE)
1149 // Whether or not this RenderFrameImpl contains a media player. Used to 1151 // Whether or not this RenderFrameImpl contains a media player. Used to
1150 // register as an observer for video-hole-specific events. 1152 // register as an observer for video-hole-specific events.
1151 bool contains_media_player_; 1153 bool contains_media_player_;
1152 #endif 1154 #endif
1153 1155
(...skipping 27 matching lines...) Expand all
1181 // process. 1183 // process.
1182 ManifestManager* manifest_manager_; 1184 ManifestManager* manifest_manager_;
1183 1185
1184 // The current accessibility mode. 1186 // The current accessibility mode.
1185 AccessibilityMode accessibility_mode_; 1187 AccessibilityMode accessibility_mode_;
1186 1188
1187 // Only valid if |accessibility_mode_| is anything other than 1189 // Only valid if |accessibility_mode_| is anything other than
1188 // AccessibilityModeOff. 1190 // AccessibilityModeOff.
1189 RendererAccessibility* renderer_accessibility_; 1191 RendererAccessibility* renderer_accessibility_;
1190 1192
1191 scoped_ptr<PermissionDispatcher> permission_client_; 1193 std::unique_ptr<PermissionDispatcher> permission_client_;
1192 1194
1193 scoped_ptr<blink::WebAppBannerClient> app_banner_client_; 1195 std::unique_ptr<blink::WebAppBannerClient> app_banner_client_;
1194 1196
1195 scoped_ptr<blink::WebBluetooth> bluetooth_; 1197 std::unique_ptr<blink::WebBluetooth> bluetooth_;
1196 1198
1197 scoped_ptr<blink::WebUSBClient> usb_client_; 1199 std::unique_ptr<blink::WebUSBClient> usb_client_;
1198 1200
1199 // Manages play, pause notifications for WebMediaPlayer implementations; its 1201 // Manages play, pause notifications for WebMediaPlayer implementations; its
1200 // lifetime is tied to the RenderFrame via the RenderFrameObserver interface. 1202 // lifetime is tied to the RenderFrame via the RenderFrameObserver interface.
1201 media::RendererWebMediaPlayerDelegate* media_player_delegate_; 1203 media::RendererWebMediaPlayerDelegate* media_player_delegate_;
1202 1204
1203 // Whether or not this RenderFrame is using Lo-Fi mode. 1205 // Whether or not this RenderFrame is using Lo-Fi mode.
1204 bool is_using_lofi_; 1206 bool is_using_lofi_;
1205 1207
1206 // Whether or not this RenderFrame is currently pasting. 1208 // Whether or not this RenderFrame is currently pasting.
1207 bool is_pasting_; 1209 bool is_pasting_;
1208 1210
1209 // Whether we must stop creating nested message loops for modal dialogs. This 1211 // Whether we must stop creating nested message loops for modal dialogs. This
1210 // is necessary because modal dialogs have a ScopedPageLoadDeferrer on the 1212 // is necessary because modal dialogs have a ScopedPageLoadDeferrer on the
1211 // stack that interferes with swapping out. 1213 // stack that interferes with swapping out.
1212 bool suppress_further_dialogs_; 1214 bool suppress_further_dialogs_;
1213 1215
1214 #if defined(ENABLE_WEBVR) 1216 #if defined(ENABLE_WEBVR)
1215 // The VR dispatcher attached to the frame, lazily initialized. 1217 // The VR dispatcher attached to the frame, lazily initialized.
1216 scoped_ptr<VRDispatcher> vr_dispatcher_; 1218 std::unique_ptr<VRDispatcher> vr_dispatcher_;
1217 #endif 1219 #endif
1218 1220
1219 #if defined(OS_MACOSX) || defined(OS_ANDROID) 1221 #if defined(OS_MACOSX) || defined(OS_ANDROID)
1220 // The external popup for the currently showing select popup. 1222 // The external popup for the currently showing select popup.
1221 scoped_ptr<ExternalPopupMenu> external_popup_menu_; 1223 std::unique_ptr<ExternalPopupMenu> external_popup_menu_;
1222 #endif 1224 #endif
1223 1225
1224 FrameBlameContext* blame_context_; // Not owned. 1226 FrameBlameContext* blame_context_; // Not owned.
1225 1227
1226 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1228 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1227 1229
1228 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1230 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1229 }; 1231 };
1230 1232
1231 } // namespace content 1233 } // namespace content
1232 1234
1233 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1235 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/raster_worker_pool.cc ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698