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_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
56 struct FrameMsg_TextTrackSettings_Params; | 56 struct FrameMsg_TextTrackSettings_Params; |
57 #if defined(OS_MACOSX) || defined(OS_ANDROID) | 57 #if defined(OS_MACOSX) || defined(OS_ANDROID) |
58 struct FrameHostMsg_ShowPopup_Params; | 58 struct FrameHostMsg_ShowPopup_Params; |
59 #endif | 59 #endif |
60 | 60 |
61 namespace base { | 61 namespace base { |
62 class FilePath; | 62 class FilePath; |
63 class ListValue; | 63 class ListValue; |
64 } | 64 } |
65 | 65 |
66 namespace blink { | |
67 namespace mojom { | |
68 class WebBluetoothService; | |
69 } | |
70 } | |
71 | |
66 namespace content { | 72 namespace content { |
67 | 73 |
68 class CrossProcessFrameConnector; | 74 class CrossProcessFrameConnector; |
69 class CrossSiteTransferringRequest; | 75 class CrossSiteTransferringRequest; |
70 class FrameMojoShell; | 76 class FrameMojoShell; |
71 class FrameTree; | 77 class FrameTree; |
72 class FrameTreeNode; | 78 class FrameTreeNode; |
73 class NavigationHandleImpl; | 79 class NavigationHandleImpl; |
74 class PermissionServiceContext; | 80 class PermissionServiceContext; |
75 class RenderFrameHostDelegate; | 81 class RenderFrameHostDelegate; |
76 class RenderFrameProxyHost; | 82 class RenderFrameProxyHost; |
77 class RenderProcessHost; | 83 class RenderProcessHost; |
78 class RenderViewHostImpl; | 84 class RenderViewHostImpl; |
79 class RenderWidgetHostDelegate; | 85 class RenderWidgetHostDelegate; |
80 class RenderWidgetHostImpl; | 86 class RenderWidgetHostImpl; |
81 class RenderWidgetHostView; | 87 class RenderWidgetHostView; |
82 class RenderWidgetHostViewBase; | 88 class RenderWidgetHostViewBase; |
83 class ResourceRequestBody; | 89 class ResourceRequestBody; |
84 class StreamHandle; | 90 class StreamHandle; |
85 class TimeoutMonitor; | 91 class TimeoutMonitor; |
92 class WebBluetoothServiceImpl; | |
86 struct ContextMenuParams; | 93 struct ContextMenuParams; |
87 struct GlobalRequestID; | 94 struct GlobalRequestID; |
88 struct Referrer; | 95 struct Referrer; |
89 struct ResourceResponse; | 96 struct ResourceResponse; |
90 | 97 |
91 class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost, | 98 class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost, |
92 public BrowserAccessibilityDelegate, | 99 public BrowserAccessibilityDelegate, |
93 public SiteInstanceImpl::Observer { | 100 public SiteInstanceImpl::Observer { |
94 public: | 101 public: |
95 using AXTreeSnapshotCallback = | 102 using AXTreeSnapshotCallback = |
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
729 const content::StartNavigationParams& start_params, | 736 const content::StartNavigationParams& start_params, |
730 const content::RequestNavigationParams& request_params); | 737 const content::RequestNavigationParams& request_params); |
731 | 738 |
732 // Returns the child FrameTreeNode if |child_frame_routing_id| is an | 739 // Returns the child FrameTreeNode if |child_frame_routing_id| is an |
733 // immediate child of this FrameTreeNode. |child_frame_routing_id| is | 740 // immediate child of this FrameTreeNode. |child_frame_routing_id| is |
734 // considered untrusted, so the renderer process is killed if it refers to a | 741 // considered untrusted, so the renderer process is killed if it refers to a |
735 // FrameTreeNode that is not a child of this node. | 742 // FrameTreeNode that is not a child of this node. |
736 FrameTreeNode* FindAndVerifyChild(int32_t child_frame_routing_id, | 743 FrameTreeNode* FindAndVerifyChild(int32_t child_frame_routing_id, |
737 bad_message::BadMessageReason reason); | 744 bad_message::BadMessageReason reason); |
738 | 745 |
746 // Creates a Web Bluetooth Service owned by the frame. | |
747 void CreateWebBluetoothService( | |
748 mojo::InterfaceRequest<blink::mojom::WebBluetoothService> request); | |
749 | |
739 // Allows tests to disable the swapout event timer to simulate bugs that | 750 // Allows tests to disable the swapout event timer to simulate bugs that |
740 // happen before it fires (to avoid flakiness). | 751 // happen before it fires (to avoid flakiness). |
741 void ResetSwapOutTimerForTesting(); | 752 void ResetSwapOutTimerForTesting(); |
742 | 753 |
743 // For now, RenderFrameHosts indirectly keep RenderViewHosts alive via a | 754 // For now, RenderFrameHosts indirectly keep RenderViewHosts alive via a |
744 // refcount that calls Shutdown when it reaches zero. This allows each | 755 // refcount that calls Shutdown when it reaches zero. This allows each |
745 // RenderFrameHostManager to just care about RenderFrameHosts, while ensuring | 756 // RenderFrameHostManager to just care about RenderFrameHosts, while ensuring |
746 // we have a RenderViewHost for each RenderFrameHost. | 757 // we have a RenderViewHost for each RenderFrameHost. |
747 // TODO(creis): RenderViewHost will eventually go away and be replaced with | 758 // TODO(creis): RenderViewHost will eventually go away and be replaced with |
748 // some form of page context. | 759 // some form of page context. |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
872 // long to execute, depending on the number of active frames in the | 883 // long to execute, depending on the number of active frames in the |
873 // SiteInstance. | 884 // SiteInstance. |
874 scoped_ptr<TimeoutMonitor> swapout_event_monitor_timeout_; | 885 scoped_ptr<TimeoutMonitor> swapout_event_monitor_timeout_; |
875 | 886 |
876 scoped_ptr<ServiceRegistryImpl> service_registry_; | 887 scoped_ptr<ServiceRegistryImpl> service_registry_; |
877 | 888 |
878 #if defined(OS_ANDROID) | 889 #if defined(OS_ANDROID) |
879 scoped_ptr<ServiceRegistryAndroid> service_registry_android_; | 890 scoped_ptr<ServiceRegistryAndroid> service_registry_android_; |
880 #endif | 891 #endif |
881 | 892 |
893 scoped_ptr<WebBluetoothServiceImpl> web_bluetooth_service_; | |
scheib
2016/03/31 04:17:51
WebBluetoothServiceImpl implies that it would pref
Jeffrey Yasskin
2016/03/31 15:26:16
That wording comes from me, I think. My idea was
ortuno
2016/03/31 16:56:44
When I was designing this I had to decide between
| |
894 | |
882 // The object managing the accessibility tree for this frame. | 895 // The object managing the accessibility tree for this frame. |
883 scoped_ptr<BrowserAccessibilityManager> browser_accessibility_manager_; | 896 scoped_ptr<BrowserAccessibilityManager> browser_accessibility_manager_; |
884 | 897 |
885 // This is nonzero if we sent an accessibility reset to the renderer and | 898 // This is nonzero if we sent an accessibility reset to the renderer and |
886 // we're waiting for an IPC containing this reset token (sequentially | 899 // we're waiting for an IPC containing this reset token (sequentially |
887 // assigned) and a complete replacement accessibility tree. | 900 // assigned) and a complete replacement accessibility tree. |
888 int accessibility_reset_token_; | 901 int accessibility_reset_token_; |
889 | 902 |
890 // A count of the number of times we needed to reset accessibility, so | 903 // A count of the number of times we needed to reset accessibility, so |
891 // we don't keep trying to reset forever. | 904 // we don't keep trying to reset forever. |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
955 | 968 |
956 // NOTE: This must be the last member. | 969 // NOTE: This must be the last member. |
957 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; | 970 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; |
958 | 971 |
959 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); | 972 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); |
960 }; | 973 }; |
961 | 974 |
962 } // namespace content | 975 } // namespace content |
963 | 976 |
964 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 977 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
OLD | NEW |