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

Side by Side Diff: third_party/WebKit/Source/core/fetch/ResourceLoader.h

Issue 1926193002: Clean up ResourceLoader finish more, remove ConnectionState enum (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@finish_smaller
Patch Set: Created 4 years, 7 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) 2005, 2006, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 2011 Apple 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 30 matching lines...) Expand all
41 class Resource; 41 class Resource;
42 class ResourceError; 42 class ResourceError;
43 class ResourceFetcher; 43 class ResourceFetcher;
44 44
45 class CORE_EXPORT ResourceLoader final : public GarbageCollectedFinalized<Resour ceLoader>, protected WebURLLoaderClient { 45 class CORE_EXPORT ResourceLoader final : public GarbageCollectedFinalized<Resour ceLoader>, protected WebURLLoaderClient {
46 public: 46 public:
47 static ResourceLoader* create(ResourceFetcher*, Resource*); 47 static ResourceLoader* create(ResourceFetcher*, Resource*);
48 ~ResourceLoader() override; 48 ~ResourceLoader() override;
49 DECLARE_TRACE(); 49 DECLARE_TRACE();
50 50
51 // Promptly release m_loader.
52 EAGERLY_FINALIZE();
53
54 void start(ResourceRequest&); 51 void start(ResourceRequest&);
55
56 void cancel(); 52 void cancel();
57 void cancel(const ResourceError&);
58 53
59 Resource* cachedResource() { return m_resource.get(); } 54 Resource* cachedResource() { return m_resource.get(); }
60 55
61 void setDefersLoading(bool); 56 void setDefersLoading(bool);
62 57
63 void didChangePriority(ResourceLoadPriority, int intraPriorityValue); 58 void didChangePriority(ResourceLoadPriority, int intraPriorityValue);
64 59
65 // WebURLLoaderClient 60 // WebURLLoaderClient
66 void willFollowRedirect(WebURLLoader*, WebURLRequest&, const WebURLResponse& redirectResponse) override; 61 void willFollowRedirect(WebURLLoader*, WebURLRequest&, const WebURLResponse& redirectResponse) override;
67 void didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override; 62 void didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
68 void didReceiveResponse(WebURLLoader*, const WebURLResponse&) override; 63 void didReceiveResponse(WebURLLoader*, const WebURLResponse&) override;
69 void didReceiveResponse(WebURLLoader*, const WebURLResponse&, WebDataConsume rHandle*) override; 64 void didReceiveResponse(WebURLLoader*, const WebURLResponse&, WebDataConsume rHandle*) override;
70 void didReceiveData(WebURLLoader*, const char*, int, int encodedDataLength) override; 65 void didReceiveData(WebURLLoader*, const char*, int, int encodedDataLength) override;
71 void didReceiveCachedMetadata(WebURLLoader*, const char* data, int length) o verride; 66 void didReceiveCachedMetadata(WebURLLoader*, const char* data, int length) o verride;
72 void didFinishLoading(WebURLLoader*, double finishTime, int64_t encodedDataL ength) override; 67 void didFinishLoading(WebURLLoader*, double finishTime, int64_t encodedDataL ength) override;
73 void didFail(WebURLLoader*, const WebURLError&) override; 68 void didFail(WebURLLoader*, const WebURLError&) override;
74 void didDownloadData(WebURLLoader*, int, int) override; 69 void didDownloadData(WebURLLoader*, int, int) override;
75 70
76 void didFinishLoadingOnePart(double finishTime, int64_t encodedDataLength); 71 void didFinishLoadingFirstPartInMultipart();
77 72
78 private: 73 private:
79 // Assumes ResourceFetcher and Resource are non-null. 74 // Assumes ResourceFetcher and Resource are non-null.
80 ResourceLoader(ResourceFetcher*, Resource*); 75 ResourceLoader(ResourceFetcher*, Resource*);
81 76
82 void requestSynchronously(ResourceRequest&); 77 void requestSynchronously(ResourceRequest&);
83 78
84 bool responseNeedsAccessControlCheck() const; 79 bool responseNeedsAccessControlCheck() const;
85 80
86 ResourceRequest& applyOptions(ResourceRequest&) const;
87
88 void releaseResources();
89
90 OwnPtr<WebURLLoader> m_loader; 81 OwnPtr<WebURLLoader> m_loader;
91 Member<ResourceFetcher> m_fetcher; 82 Member<ResourceFetcher> m_fetcher;
92
93 bool m_notifiedLoadComplete;
94
95 enum ConnectionState {
96 ConnectionStateNew,
97 ConnectionStateStarted,
98 ConnectionStateReceivedResponse,
99 ConnectionStateReceivingData,
100 ConnectionStateFinishedLoading,
101 ConnectionStateReleased
102 };
103
104 Member<Resource> m_resource; 83 Member<Resource> m_resource;
105
106 // Used for sanity checking to make sure we don't experience illegal state
107 // transitions.
108 ConnectionState m_state;
109 }; 84 };
110 85
111 } // namespace blink 86 } // namespace blink
112 87
113 #endif 88 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698