OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_DEVTOOLS_RENDER_FRAME_DEVTOOLS_AGENT_HOST_H_ | 5 #ifndef CONTENT_BROWSER_DEVTOOLS_RENDER_FRAME_DEVTOOLS_AGENT_HOST_H_ |
6 #define CONTENT_BROWSER_DEVTOOLS_RENDER_FRAME_DEVTOOLS_AGENT_HOST_H_ | 6 #define CONTENT_BROWSER_DEVTOOLS_RENDER_FRAME_DEVTOOLS_AGENT_HOST_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "content/browser/devtools/devtools_agent_host_impl.h" | 13 #include "content/browser/devtools/devtools_agent_host_impl.h" |
14 #include "content/common/content_export.h" | 14 #include "content/common/content_export.h" |
15 #include "content/public/browser/web_contents_observer.h" | 15 #include "content/public/browser/web_contents_observer.h" |
16 | 16 |
17 namespace cc { | 17 namespace cc { |
18 class CompositorFrameMetadata; | 18 class CompositorFrameMetadata; |
19 } | 19 } |
20 | 20 |
21 namespace content { | 21 namespace content { |
22 | 22 |
23 class BrowserContext; | 23 class BrowserContext; |
24 class DevToolsFrameTraceRecorder; | 24 class DevToolsFrameTraceRecorder; |
25 class DevToolsProtocolHandler; | 25 class DevToolsProtocolHandler; |
| 26 class FrameTreeNode; |
| 27 class NavigationHandle; |
26 class RenderFrameHostImpl; | 28 class RenderFrameHostImpl; |
27 | 29 |
28 #if defined(OS_ANDROID) | 30 #if defined(OS_ANDROID) |
29 class PowerSaveBlockerImpl; | 31 class PowerSaveBlockerImpl; |
30 #endif | 32 #endif |
31 | 33 |
32 namespace devtools { | 34 namespace devtools { |
33 namespace dom { class DOMHandler; } | 35 namespace dom { class DOMHandler; } |
34 namespace emulation { class EmulationHandler; } | 36 namespace emulation { class EmulationHandler; } |
35 namespace input { class InputHandler; } | 37 namespace input { class InputHandler; } |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 static void AppendAgentHostForFrameIfApplicable( | 82 static void AppendAgentHostForFrameIfApplicable( |
81 DevToolsAgentHost::List* result, | 83 DevToolsAgentHost::List* result, |
82 RenderFrameHost* host); | 84 RenderFrameHost* host); |
83 | 85 |
84 // DevToolsAgentHostImpl overrides. | 86 // DevToolsAgentHostImpl overrides. |
85 void Attach() override; | 87 void Attach() override; |
86 void Detach() override; | 88 void Detach() override; |
87 void InspectElement(int x, int y) override; | 89 void InspectElement(int x, int y) override; |
88 | 90 |
89 // WebContentsObserver overrides. | 91 // WebContentsObserver overrides. |
90 void RenderFrameHostChanged(RenderFrameHost* old_host, | 92 void DidFinishNavigation(NavigationHandle* navigation_handle) override; |
91 RenderFrameHost* new_host) override; | 93 // void RenderFrameHostChanged(RenderFrameHost* old_host, |
| 94 // RenderFrameHost* new_host) override; |
92 void FrameDeleted(RenderFrameHost* rfh) override; | 95 void FrameDeleted(RenderFrameHost* rfh) override; |
93 void RenderFrameDeleted(RenderFrameHost* rfh) override; | 96 void RenderFrameDeleted(RenderFrameHost* rfh) override; |
94 void RenderProcessGone(base::TerminationStatus status) override; | 97 void RenderProcessGone(base::TerminationStatus status) override; |
95 bool OnMessageReceived(const IPC::Message& message, | 98 bool OnMessageReceived(const IPC::Message& message, |
96 RenderFrameHost* render_frame_host) override; | 99 RenderFrameHost* render_frame_host) override; |
97 bool OnMessageReceived(const IPC::Message& message) override; | 100 bool OnMessageReceived(const IPC::Message& message) override; |
98 void DidAttachInterstitialPage() override; | 101 void DidAttachInterstitialPage() override; |
99 void DidDetachInterstitialPage() override; | 102 void DidDetachInterstitialPage() override; |
100 void DidCommitProvisionalLoadForFrame( | |
101 RenderFrameHost* render_frame_host, | |
102 const GURL& url, | |
103 ui::PageTransition transition_type) override; | |
104 void DidFailProvisionalLoad( | |
105 RenderFrameHost* render_frame_host, | |
106 const GURL& validated_url, | |
107 int error_code, | |
108 const base::string16& error_description, | |
109 bool was_ignored_by_handler) override; | |
110 | 103 |
111 void AboutToNavigateRenderFrame(RenderFrameHost* old_host, | 104 void AboutToNavigateRenderFrame(RenderFrameHost* old_host, |
112 RenderFrameHost* new_host); | 105 RenderFrameHost* new_host); |
113 | 106 |
114 void SetPending(RenderFrameHostImpl* host); | 107 void SetPending(RenderFrameHostImpl* host); |
115 void CommitPending(); | 108 void CommitPending(); |
116 void DiscardPending(); | 109 void DiscardPending(); |
117 void UpdateProtocolHandlers(RenderFrameHostImpl* host); | 110 void UpdateProtocolHandlers(RenderFrameHostImpl* host); |
118 | 111 |
119 bool IsChildFrame(); | 112 bool IsChildFrame(); |
120 | 113 |
121 void OnClientAttached(); | 114 void OnClientAttached(); |
122 void OnClientDetached(); | 115 void OnClientDetached(); |
123 | 116 |
124 void RenderFrameCrashed(); | 117 void RenderFrameCrashed(); |
125 void OnSwapCompositorFrame(const IPC::Message& message); | 118 void OnSwapCompositorFrame(const IPC::Message& message); |
126 void DestroyOnRenderFrameGone(); | 119 void DestroyOnRenderFrameGone(); |
127 | 120 |
| 121 bool MatchesMyTreeNode(NavigationHandle* navigation_handle); |
| 122 bool MatchesMyTreeNode(RenderFrameHost* render_frame_host); |
| 123 |
128 class FrameHostHolder; | 124 class FrameHostHolder; |
129 | 125 |
130 scoped_ptr<FrameHostHolder> current_; | 126 scoped_ptr<FrameHostHolder> current_; |
131 scoped_ptr<FrameHostHolder> pending_; | 127 scoped_ptr<FrameHostHolder> pending_; |
132 // Stores per-host state between DisconnectWebContents and ConnectWebContents. | 128 // Stores per-host state between DisconnectWebContents and ConnectWebContents. |
133 scoped_ptr<FrameHostHolder> disconnected_; | 129 scoped_ptr<FrameHostHolder> disconnected_; |
134 | 130 |
135 scoped_ptr<devtools::dom::DOMHandler> dom_handler_; | 131 scoped_ptr<devtools::dom::DOMHandler> dom_handler_; |
136 scoped_ptr<devtools::input::InputHandler> input_handler_; | 132 scoped_ptr<devtools::input::InputHandler> input_handler_; |
137 scoped_ptr<devtools::inspector::InspectorHandler> inspector_handler_; | 133 scoped_ptr<devtools::inspector::InspectorHandler> inspector_handler_; |
138 scoped_ptr<devtools::io::IOHandler> io_handler_; | 134 scoped_ptr<devtools::io::IOHandler> io_handler_; |
139 scoped_ptr<devtools::network::NetworkHandler> network_handler_; | 135 scoped_ptr<devtools::network::NetworkHandler> network_handler_; |
140 scoped_ptr<devtools::page::PageHandler> page_handler_; | 136 scoped_ptr<devtools::page::PageHandler> page_handler_; |
141 scoped_ptr<devtools::security::SecurityHandler> security_handler_; | 137 scoped_ptr<devtools::security::SecurityHandler> security_handler_; |
142 scoped_ptr<devtools::service_worker::ServiceWorkerHandler> | 138 scoped_ptr<devtools::service_worker::ServiceWorkerHandler> |
143 service_worker_handler_; | 139 service_worker_handler_; |
144 scoped_ptr<devtools::tracing::TracingHandler> tracing_handler_; | 140 scoped_ptr<devtools::tracing::TracingHandler> tracing_handler_; |
145 scoped_ptr<devtools::emulation::EmulationHandler> emulation_handler_; | 141 scoped_ptr<devtools::emulation::EmulationHandler> emulation_handler_; |
146 scoped_ptr<DevToolsFrameTraceRecorder> frame_trace_recorder_; | 142 scoped_ptr<DevToolsFrameTraceRecorder> frame_trace_recorder_; |
147 #if defined(OS_ANDROID) | 143 #if defined(OS_ANDROID) |
148 scoped_ptr<PowerSaveBlockerImpl> power_save_blocker_; | 144 scoped_ptr<PowerSaveBlockerImpl> power_save_blocker_; |
149 #endif | 145 #endif |
150 scoped_ptr<DevToolsProtocolHandler> protocol_handler_; | 146 scoped_ptr<DevToolsProtocolHandler> protocol_handler_; |
151 bool current_frame_crashed_; | 147 bool current_frame_crashed_; |
152 | 148 |
| 149 // The FrameTreeNode this agent is associated with. |
| 150 FrameTreeNode* frame_tree_node_; |
| 151 |
153 DISALLOW_COPY_AND_ASSIGN(RenderFrameDevToolsAgentHost); | 152 DISALLOW_COPY_AND_ASSIGN(RenderFrameDevToolsAgentHost); |
154 }; | 153 }; |
155 | 154 |
156 } // namespace content | 155 } // namespace content |
157 | 156 |
158 #endif // CONTENT_BROWSER_DEVTOOLS_RENDER_FRAME_DEVTOOLS_AGENT_HOST_H_ | 157 #endif // CONTENT_BROWSER_DEVTOOLS_RENDER_FRAME_DEVTOOLS_AGENT_HOST_H_ |
OLD | NEW |