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

Side by Side Diff: third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequestProgressEventThrottle.h

Issue 1853743005: Oilpan: Remove WillBe types (part 13) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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) 2010 Julien Chaffraix <jchaffraix@webkit.org> 2 * Copyright (C) 2010 Julien Chaffraix <jchaffraix@webkit.org>
3 * All right reserved. 3 * All right reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 // them at the required frequency. If this object is suspended, the given 68 // them at the required frequency. If this object is suspended, the given
69 // ProgressEvent overwrites the existing. I.e. only the latest one gets 69 // ProgressEvent overwrites the existing. I.e. only the latest one gets
70 // queued. If the timer is running, this method just updates 70 // queued. If the timer is running, this method just updates
71 // m_lengthComputable, m_loaded and m_total. They'll be used on next 71 // m_lengthComputable, m_loaded and m_total. They'll be used on next
72 // fired() call. 72 // fired() call.
73 // For an event named "progress", a readyStateChange will be dispatched 73 // For an event named "progress", a readyStateChange will be dispatched
74 // as well. 74 // as well.
75 void dispatchProgressEvent(const AtomicString&, bool lengthComputable, unsig ned long long loaded, unsigned long long total); 75 void dispatchProgressEvent(const AtomicString&, bool lengthComputable, unsig ned long long loaded, unsigned long long total);
76 // Dispatches the given event after operation about the "progress" event 76 // Dispatches the given event after operation about the "progress" event
77 // depending on the value of the ProgressEventAction argument. 77 // depending on the value of the ProgressEventAction argument.
78 void dispatchReadyStateChangeEvent(PassRefPtrWillBeRawPtr<Event>, DeferredEv entAction); 78 void dispatchReadyStateChangeEvent(RawPtr<Event>, DeferredEventAction);
79 79
80 void suspend(); 80 void suspend();
81 void resume(); 81 void resume();
82 82
83 // Need to promptly stop this timer when it is deemed finalizable. 83 // Need to promptly stop this timer when it is deemed finalizable.
84 EAGERLY_FINALIZE(); 84 EAGERLY_FINALIZE();
85 DECLARE_TRACE(); 85 DECLARE_TRACE();
86 86
87 private: 87 private:
88 explicit XMLHttpRequestProgressEventThrottle(XMLHttpRequest*); 88 explicit XMLHttpRequestProgressEventThrottle(XMLHttpRequest*);
89 89
90 // Dispatches a "progress" progress event and usually a readyStateChange 90 // Dispatches a "progress" progress event and usually a readyStateChange
91 // event as well. 91 // event as well.
92 void dispatchProgressProgressEvent(PassRefPtrWillBeRawPtr<Event>); 92 void dispatchProgressProgressEvent(RawPtr<Event>);
93 93
94 // The main purpose of this class is to throttle the "progress" 94 // The main purpose of this class is to throttle the "progress"
95 // ProgressEvent dispatching. This class represents such a deferred 95 // ProgressEvent dispatching. This class represents such a deferred
96 // "progress" ProgressEvent. 96 // "progress" ProgressEvent.
97 class DeferredEvent { 97 class DeferredEvent {
98 public: 98 public:
99 DeferredEvent(); 99 DeferredEvent();
100 void set(bool lengthComputable, unsigned long long loaded, unsigned long long total); 100 void set(bool lengthComputable, unsigned long long loaded, unsigned long long total);
101 void clear(); 101 void clear();
102 bool isSet() const { return m_isSet; } 102 bool isSet() const { return m_isSet; }
103 PassRefPtrWillBeRawPtr<Event> take(); 103 RawPtr<Event> take();
104 104
105 private: 105 private:
106 unsigned long long m_loaded; 106 unsigned long long m_loaded;
107 unsigned long long m_total; 107 unsigned long long m_total;
108 bool m_lengthComputable; 108 bool m_lengthComputable;
109 109
110 bool m_isSet; 110 bool m_isSet;
111 }; 111 };
112 112
113 void fired() override; 113 void fired() override;
114 114
115 Member<XMLHttpRequest> m_target; 115 Member<XMLHttpRequest> m_target;
116 116
117 // A slot for the deferred "progress" ProgressEvent. When multiple events 117 // A slot for the deferred "progress" ProgressEvent. When multiple events
118 // arrive, only the last one is stored and others are discarded. 118 // arrive, only the last one is stored and others are discarded.
119 DeferredEvent m_deferred; 119 DeferredEvent m_deferred;
120 120
121 // True if any "progress" progress event has been dispatched since 121 // True if any "progress" progress event has been dispatched since
122 // |m_target|'s readyState changed. 122 // |m_target|'s readyState changed.
123 bool m_hasDispatchedProgressProgressEvent; 123 bool m_hasDispatchedProgressProgressEvent;
124 }; 124 };
125 125
126 } // namespace blink 126 } // namespace blink
127 127
128 #endif // XMLHttpRequestProgressEventThrottle_h 128 #endif // XMLHttpRequestProgressEventThrottle_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698