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

Side by Side Diff: third_party/WebKit/Source/platform/network/ResourceRequest.h

Issue 2316573002: PlzNavigate: Support ResourceTiming API (Closed)
Patch Set: Created 4 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2003, 2006 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. 4 * Copyright (C) 2009, 2012 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 15 matching lines...) Expand all
26 */ 26 */
27 27
28 #ifndef ResourceRequest_h 28 #ifndef ResourceRequest_h
29 #define ResourceRequest_h 29 #define ResourceRequest_h
30 30
31 #include "platform/HTTPNames.h" 31 #include "platform/HTTPNames.h"
32 #include "platform/network/EncodedFormData.h" 32 #include "platform/network/EncodedFormData.h"
33 #include "platform/network/HTTPHeaderMap.h" 33 #include "platform/network/HTTPHeaderMap.h"
34 #include "platform/network/HTTPParsers.h" 34 #include "platform/network/HTTPParsers.h"
35 #include "platform/network/ResourceLoadPriority.h" 35 #include "platform/network/ResourceLoadPriority.h"
36 #include "platform/network/ResourceResponse.h"
36 #include "platform/weborigin/KURL.h" 37 #include "platform/weborigin/KURL.h"
37 #include "platform/weborigin/Referrer.h" 38 #include "platform/weborigin/Referrer.h"
38 #include "platform/weborigin/SecurityOrigin.h" 39 #include "platform/weborigin/SecurityOrigin.h"
39 #include "public/platform/WebAddressSpace.h" 40 #include "public/platform/WebAddressSpace.h"
40 #include "public/platform/WebURLRequest.h" 41 #include "public/platform/WebURLRequest.h"
42 #include "public/platform/WebURLResponse.h"
41 #include "wtf/RefCounted.h" 43 #include "wtf/RefCounted.h"
42 #include <memory> 44 #include <memory>
43 45
44 namespace blink { 46 namespace blink {
45 47
46 enum class WebCachePolicy; 48 enum class WebCachePolicy;
47 49
48 enum ResourceRequestBlockedReason { 50 enum ResourceRequestBlockedReason {
49 ResourceRequestBlockedReasonCSP, 51 ResourceRequestBlockedReasonCSP,
50 ResourceRequestBlockedReasonMixedContent, 52 ResourceRequestBlockedReasonMixedContent,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 84
83 // Gets a copy of the data suitable for passing to another thread. 85 // Gets a copy of the data suitable for passing to another thread.
84 std::unique_ptr<CrossThreadResourceRequestData> copyData() const; 86 std::unique_ptr<CrossThreadResourceRequestData> copyData() const;
85 87
86 bool isNull() const; 88 bool isNull() const;
87 bool isEmpty() const; 89 bool isEmpty() const;
88 90
89 const KURL& url() const; 91 const KURL& url() const;
90 void setURL(const KURL& url); 92 void setURL(const KURL& url);
91 93
94 const KURL& initialUrl() const;
95
92 void removeCredentials(); 96 void removeCredentials();
93 97
94 WebCachePolicy getCachePolicy() const; 98 WebCachePolicy getCachePolicy() const;
95 void setCachePolicy(WebCachePolicy); 99 void setCachePolicy(WebCachePolicy);
96 100
97 double timeoutInterval() const; // May return 0 when using platform default. 101 double timeoutInterval() const; // May return 0 when using platform default.
98 void setTimeoutInterval(double timeoutInterval); 102 void setTimeoutInterval(double timeoutInterval);
99 103
100 const KURL& firstPartyForCookies() const; 104 const KURL& firstPartyForCookies() const;
101 void setFirstPartyForCookies(const KURL& firstPartyForCookies); 105 void setFirstPartyForCookies(const KURL& firstPartyForCookies);
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 // https://mikewest.github.io/cors-rfc1918/#external-request 234 // https://mikewest.github.io/cors-rfc1918/#external-request
231 bool isExternalRequest() const { return m_isExternalRequest; } 235 bool isExternalRequest() const { return m_isExternalRequest; }
232 void setExternalRequestStateFromRequestorAddressSpace(WebAddressSpace); 236 void setExternalRequestStateFromRequestorAddressSpace(WebAddressSpace);
233 237
234 InputToLoadPerfMetricReportPolicy inputPerfMetricReportPolicy() const { retu rn m_inputPerfMetricReportPolicy; } 238 InputToLoadPerfMetricReportPolicy inputPerfMetricReportPolicy() const { retu rn m_inputPerfMetricReportPolicy; }
235 void setInputPerfMetricReportPolicy(InputToLoadPerfMetricReportPolicy inputP erfMetricReportPolicy) { m_inputPerfMetricReportPolicy = inputPerfMetricReportPo licy; } 239 void setInputPerfMetricReportPolicy(InputToLoadPerfMetricReportPolicy inputP erfMetricReportPolicy) { m_inputPerfMetricReportPolicy = inputPerfMetricReportPo licy; }
236 240
237 void setRedirectStatus(RedirectStatus status) { m_redirectStatus = status; } 241 void setRedirectStatus(RedirectStatus status) { m_redirectStatus = status; }
238 RedirectStatus redirectStatus() const { return m_redirectStatus; } 242 RedirectStatus redirectStatus() const { return m_redirectStatus; }
239 243
244 // Inform the request of previous navigations in the redirect chain that
245 // happened outside of blink.
246 void appendPreviousResponse(const WebURLResponse&);
247 const std::vector<WebURLResponse>& previousResponses() const { return m_resp onses; }
248
249 void setPreviousNavigationStart(double);
250 double previousNavigationStart() const { return m_navigationStart; }
251
240 private: 252 private:
241 void initialize(const KURL&); 253 void initialize(const KURL&);
242 254
243 const CacheControlHeader& cacheControlHeader() const; 255 const CacheControlHeader& cacheControlHeader() const;
244 256
245 KURL m_url; 257 KURL m_url;
246 WebCachePolicy m_cachePolicy; 258 WebCachePolicy m_cachePolicy;
247 double m_timeoutInterval; // 0 is a magic value for platform default on plat forms that have one. 259 double m_timeoutInterval; // 0 is a magic value for platform default on plat forms that have one.
248 KURL m_firstPartyForCookies; 260 KURL m_firstPartyForCookies;
249 RefPtr<SecurityOrigin> m_requestorOrigin; 261 RefPtr<SecurityOrigin> m_requestorOrigin;
(...skipping 26 matching lines...) Expand all
276 bool m_checkForBrowserSideNavigation; 288 bool m_checkForBrowserSideNavigation;
277 double m_uiStartTime; 289 double m_uiStartTime;
278 bool m_isExternalRequest; 290 bool m_isExternalRequest;
279 InputToLoadPerfMetricReportPolicy m_inputPerfMetricReportPolicy; 291 InputToLoadPerfMetricReportPolicy m_inputPerfMetricReportPolicy;
280 292
281 mutable CacheControlHeader m_cacheControlHeaderCache; 293 mutable CacheControlHeader m_cacheControlHeaderCache;
282 294
283 static double s_defaultTimeoutInterval; 295 static double s_defaultTimeoutInterval;
284 296
285 RedirectStatus m_redirectStatus; 297 RedirectStatus m_redirectStatus;
298
299 std::vector<WebURLResponse> m_responses;
300 double m_navigationStart = 0;
286 }; 301 };
287 302
288 struct CrossThreadResourceRequestData { 303 struct CrossThreadResourceRequestData {
289 WTF_MAKE_NONCOPYABLE(CrossThreadResourceRequestData); USING_FAST_MALLOC(Cros sThreadResourceRequestData); 304 WTF_MAKE_NONCOPYABLE(CrossThreadResourceRequestData); USING_FAST_MALLOC(Cros sThreadResourceRequestData);
290 public: 305 public:
291 CrossThreadResourceRequestData() { } 306 CrossThreadResourceRequestData() { }
292 KURL m_url; 307 KURL m_url;
293 308
294 WebCachePolicy m_cachePolicy; 309 WebCachePolicy m_cachePolicy;
295 double m_timeoutInterval; 310 double m_timeoutInterval;
(...skipping 22 matching lines...) Expand all
318 WebURLRequest::FetchCredentialsMode m_fetchCredentialsMode; 333 WebURLRequest::FetchCredentialsMode m_fetchCredentialsMode;
319 WebURLRequest::FetchRedirectMode m_fetchRedirectMode; 334 WebURLRequest::FetchRedirectMode m_fetchRedirectMode;
320 WebURLRequest::LoFiState m_loFiState; 335 WebURLRequest::LoFiState m_loFiState;
321 ReferrerPolicy m_referrerPolicy; 336 ReferrerPolicy m_referrerPolicy;
322 bool m_didSetHTTPReferrer; 337 bool m_didSetHTTPReferrer;
323 bool m_checkForBrowserSideNavigation; 338 bool m_checkForBrowserSideNavigation;
324 double m_uiStartTime; 339 double m_uiStartTime;
325 bool m_isExternalRequest; 340 bool m_isExternalRequest;
326 InputToLoadPerfMetricReportPolicy m_inputPerfMetricReportPolicy; 341 InputToLoadPerfMetricReportPolicy m_inputPerfMetricReportPolicy;
327 ResourceRequest::RedirectStatus m_redirectStatus; 342 ResourceRequest::RedirectStatus m_redirectStatus;
343 std::vector<std::unique_ptr<CrossThreadResourceResponseData>> m_responses;
344 double m_navigationStart = 0;
328 }; 345 };
329 346
330 } // namespace blink 347 } // namespace blink
331 348
332 #endif // ResourceRequest_h 349 #endif // ResourceRequest_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698