OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 class HTTPHeaderMap; | 50 class HTTPHeaderMap; |
51 class InspectedFrames; | 51 class InspectedFrames; |
52 class KURL; | 52 class KURL; |
53 class NetworkResourcesData; | 53 class NetworkResourcesData; |
54 class Resource; | 54 class Resource; |
55 class ResourceError; | 55 class ResourceError; |
56 class ResourceResponse; | 56 class ResourceResponse; |
57 class ThreadableLoaderClient; | 57 class ThreadableLoaderClient; |
58 class XHRReplayData; | 58 class XHRReplayData; |
59 class XMLHttpRequest; | 59 class XMLHttpRequest; |
60 | |
61 class WebSocketHandshakeRequest; | 60 class WebSocketHandshakeRequest; |
62 class WebSocketHandshakeResponse; | 61 class WebSocketHandshakeResponse; |
| 62 class WorkerGlobalScope; |
63 | 63 |
64 class CORE_EXPORT InspectorNetworkAgent final | 64 class CORE_EXPORT InspectorNetworkAgent final |
65 : public InspectorBaseAgent<protocol::Network::Metainfo> { | 65 : public InspectorBaseAgent<protocol::Network::Metainfo> { |
66 public: | 66 public: |
67 static InspectorNetworkAgent* Create(InspectedFrames* inspected_frames) { | 67 static InspectorNetworkAgent* Create(InspectedFrames* inspected_frames) { |
68 return new InspectorNetworkAgent(inspected_frames); | 68 return new InspectorNetworkAgent(inspected_frames, nullptr); |
| 69 } |
| 70 static InspectorNetworkAgent* CreateForWorker( |
| 71 WorkerGlobalScope* worker_global_scope) { |
| 72 // TODO(horo): Extract the logc for frames and for workers into different |
| 73 // classes. |
| 74 return new InspectorNetworkAgent(nullptr, worker_global_scope); |
69 } | 75 } |
70 | 76 |
71 void Restore() override; | 77 void Restore() override; |
72 | 78 |
73 ~InspectorNetworkAgent() override; | 79 ~InspectorNetworkAgent() override; |
74 DECLARE_VIRTUAL_TRACE(); | 80 DECLARE_VIRTUAL_TRACE(); |
75 | 81 |
76 // Probes. | 82 // Probes. |
77 void DidBlockRequest(LocalFrame*, | 83 void DidBlockRequest(ExecutionContext*, |
78 const ResourceRequest&, | 84 const ResourceRequest&, |
79 DocumentLoader*, | 85 DocumentLoader*, |
80 const FetchInitiatorInfo&, | 86 const FetchInitiatorInfo&, |
81 ResourceRequestBlockedReason); | 87 ResourceRequestBlockedReason); |
82 void DidChangeResourcePriority(unsigned long identifier, | 88 void DidChangeResourcePriority(unsigned long identifier, |
83 ResourceLoadPriority); | 89 ResourceLoadPriority); |
84 void WillSendRequest(LocalFrame*, | 90 void WillSendRequest(ExecutionContext*, |
85 unsigned long identifier, | 91 unsigned long identifier, |
86 DocumentLoader*, | 92 DocumentLoader*, |
87 ResourceRequest&, | 93 ResourceRequest&, |
88 const ResourceResponse& redirect_response, | 94 const ResourceResponse& redirect_response, |
89 const FetchInitiatorInfo&); | 95 const FetchInitiatorInfo&); |
90 void MarkResourceAsCached(unsigned long identifier); | 96 void MarkResourceAsCached(unsigned long identifier); |
91 void DidReceiveResourceResponse(LocalFrame*, | 97 void DidReceiveResourceResponse(unsigned long identifier, |
92 unsigned long identifier, | |
93 DocumentLoader*, | 98 DocumentLoader*, |
94 const ResourceResponse&, | 99 const ResourceResponse&, |
95 Resource*); | 100 Resource*); |
96 void DidReceiveData(LocalFrame*, | 101 void DidReceiveData(unsigned long identifier, |
97 unsigned long identifier, | 102 DocumentLoader*, |
98 const char* data, | 103 const char* data, |
99 int data_length); | 104 int data_length); |
100 void DidReceiveEncodedDataLength(LocalFrame*, | 105 void DidReceiveEncodedDataLength(unsigned long identifier, |
101 unsigned long identifier, | |
102 int encoded_data_length); | 106 int encoded_data_length); |
103 void DidFinishLoading(LocalFrame*, | 107 void DidFinishLoading(unsigned long identifier, |
104 unsigned long identifier, | 108 DocumentLoader*, |
105 double monotonic_finish_time, | 109 double monotonic_finish_time, |
106 int64_t encoded_data_length, | 110 int64_t encoded_data_length, |
107 int64_t decoded_body_length); | 111 int64_t decoded_body_length); |
108 void DidReceiveCORSRedirectResponse(LocalFrame*, | 112 void DidReceiveCORSRedirectResponse(LocalFrame*, |
109 unsigned long identifier, | 113 unsigned long identifier, |
110 DocumentLoader*, | 114 DocumentLoader*, |
111 const ResourceResponse&, | 115 const ResourceResponse&, |
112 Resource*); | 116 Resource*); |
113 void DidFailLoading(unsigned long identifier, const ResourceError&); | 117 void DidFailLoading(unsigned long identifier, const ResourceError&); |
114 void DidCommitLoad(LocalFrame*, DocumentLoader*); | 118 void DidCommitLoad(LocalFrame*, DocumentLoader*); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 | 227 |
224 // Called from other agents. | 228 // Called from other agents. |
225 void SetHostId(const String&); | 229 void SetHostId(const String&); |
226 bool FetchResourceContent(Document*, | 230 bool FetchResourceContent(Document*, |
227 const KURL&, | 231 const KURL&, |
228 String* content, | 232 String* content, |
229 bool* base64_encoded); | 233 bool* base64_encoded); |
230 bool CacheDisabled(); | 234 bool CacheDisabled(); |
231 | 235 |
232 private: | 236 private: |
233 explicit InspectorNetworkAgent(InspectedFrames*); | 237 explicit InspectorNetworkAgent(InspectedFrames*, WorkerGlobalScope*); |
234 | 238 |
235 void Enable(int total_buffer_size, int resource_buffer_size); | 239 void Enable(int total_buffer_size, int resource_buffer_size); |
236 void WillSendRequestInternal(LocalFrame*, | 240 void WillSendRequestInternal(ExecutionContext*, |
237 unsigned long identifier, | 241 unsigned long identifier, |
238 DocumentLoader*, | 242 DocumentLoader*, |
239 const ResourceRequest&, | 243 const ResourceRequest&, |
240 const ResourceResponse& redirect_response, | 244 const ResourceResponse& redirect_response, |
241 const FetchInitiatorInfo&); | 245 const FetchInitiatorInfo&); |
242 void DelayedRemoveReplayXHR(XMLHttpRequest*); | 246 void DelayedRemoveReplayXHR(XMLHttpRequest*); |
243 void RemoveFinishedReplayXHRFired(TimerBase*); | 247 void RemoveFinishedReplayXHRFired(TimerBase*); |
244 void DidFinishXHRInternal(ExecutionContext*, | 248 void DidFinishXHRInternal(ExecutionContext*, |
245 XMLHttpRequest*, | 249 XMLHttpRequest*, |
246 ThreadableLoaderClient*, | 250 ThreadableLoaderClient*, |
247 const AtomicString&, | 251 const AtomicString&, |
248 const String&, | 252 const String&, |
249 bool); | 253 bool); |
250 | 254 |
251 bool CanGetResponseBodyBlob(const String& request_id); | 255 bool CanGetResponseBodyBlob(const String& request_id); |
252 void GetResponseBodyBlob(const String& request_id, | 256 void GetResponseBodyBlob(const String& request_id, |
253 std::unique_ptr<GetResponseBodyCallback>); | 257 std::unique_ptr<GetResponseBodyCallback>); |
254 void ClearPendingRequestData(); | 258 void ClearPendingRequestData(); |
255 | 259 |
| 260 // This is null while inspecting workers. |
256 Member<InspectedFrames> inspected_frames_; | 261 Member<InspectedFrames> inspected_frames_; |
| 262 // This is null while inspecting frames. |
| 263 Member<WorkerGlobalScope> worker_global_scope_; |
257 String host_id_; | 264 String host_id_; |
258 Member<NetworkResourcesData> resources_data_; | 265 Member<NetworkResourcesData> resources_data_; |
259 | 266 |
260 typedef HashMap<ThreadableLoaderClient*, unsigned long> | 267 typedef HashMap<ThreadableLoaderClient*, unsigned long> |
261 ThreadableLoaderClientRequestIdMap; | 268 ThreadableLoaderClientRequestIdMap; |
262 | 269 |
263 // Stores the pending ThreadableLoaderClient till an identifier for | 270 // Stores the pending ThreadableLoaderClient till an identifier for |
264 // the load is generated by the loader and passed to the inspector | 271 // the load is generated by the loader and passed to the inspector |
265 // via the documentThreadableLoaderStartedLoadingForClient() method. | 272 // via the documentThreadableLoaderStartedLoadingForClient() method. |
266 ThreadableLoaderClient* pending_request_; | 273 ThreadableLoaderClient* pending_request_; |
267 InspectorPageAgent::ResourceType pending_request_type_; | 274 InspectorPageAgent::ResourceType pending_request_type_; |
268 ThreadableLoaderClientRequestIdMap known_request_id_map_; | 275 ThreadableLoaderClientRequestIdMap known_request_id_map_; |
269 | 276 |
270 Member<XHRReplayData> pending_xhr_replay_data_; | 277 Member<XHRReplayData> pending_xhr_replay_data_; |
271 | 278 |
272 typedef HashMap<String, std::unique_ptr<protocol::Network::Initiator>> | 279 typedef HashMap<String, std::unique_ptr<protocol::Network::Initiator>> |
273 FrameNavigationInitiatorMap; | 280 FrameNavigationInitiatorMap; |
274 FrameNavigationInitiatorMap frame_navigation_initiator_map_; | 281 FrameNavigationInitiatorMap frame_navigation_initiator_map_; |
275 HashSet<String> frames_with_scheduled_navigation_; | 282 HashSet<String> frames_with_scheduled_navigation_; |
276 HashSet<String> frames_with_scheduled_client_navigation_; | 283 HashSet<String> frames_with_scheduled_client_navigation_; |
277 | 284 |
278 HeapHashSet<Member<XMLHttpRequest>> replay_xhrs_; | 285 HeapHashSet<Member<XMLHttpRequest>> replay_xhrs_; |
279 HeapHashSet<Member<XMLHttpRequest>> replay_xhrs_to_be_deleted_; | 286 HeapHashSet<Member<XMLHttpRequest>> replay_xhrs_to_be_deleted_; |
280 TaskRunnerTimer<InspectorNetworkAgent> remove_finished_replay_xhr_timer_; | 287 TaskRunnerTimer<InspectorNetworkAgent> remove_finished_replay_xhr_timer_; |
281 }; | 288 }; |
282 | 289 |
283 } // namespace blink | 290 } // namespace blink |
284 | 291 |
285 #endif // !defined(InspectorNetworkAgent_h) | 292 #endif // !defined(InspectorNetworkAgent_h) |
OLD | NEW |