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

Unified Diff: Source/core/xml/XMLHttpRequestProgressEventThrottle.h

Issue 666153003: Move XMLHttpRequest related files to core/xmlhttprequest. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/xml/XMLHttpRequestProgressEventThrottle.h
diff --git a/Source/core/xml/XMLHttpRequestProgressEventThrottle.h b/Source/core/xml/XMLHttpRequestProgressEventThrottle.h
deleted file mode 100644
index 98114c12aa1faf852789d012743f9a622226d58a..0000000000000000000000000000000000000000
--- a/Source/core/xml/XMLHttpRequestProgressEventThrottle.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2010 Julien Chaffraix <jchaffraix@webkit.org>
- * All right reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef XMLHttpRequestProgressEventThrottle_h
-#define XMLHttpRequestProgressEventThrottle_h
-
-#include "platform/Timer.h"
-#include "platform/heap/Handle.h"
-#include "wtf/OwnPtr.h"
-#include "wtf/PassRefPtr.h"
-#include "wtf/Vector.h"
-#include "wtf/text/AtomicString.h"
-
-namespace blink {
-
-class Event;
-class EventTarget;
-class XMLHttpRequestProgressEvent;
-
-// This class implements the XHR2 ProgressEvent dispatching:
-// "dispatch a progress event named progress about every 50ms or for every
-// byte received, whichever is least frequent".
-//
-// readystatechange events also go through this class since ProgressEvents and
-// readystatechange events affect each other.
-//
-// In the comments for this class:
-// - "progress" event means an event named "progress"
-// - ProgressEvent means an event using the ProgressEvent interface defined in
-// the spec.
-class XMLHttpRequestProgressEventThrottle final : public TimerBase {
- DISALLOW_ALLOCATION();
-public:
- enum DeferredEventAction {
- Ignore,
- Clear,
- Flush,
- };
-
- explicit XMLHttpRequestProgressEventThrottle(EventTarget*);
- virtual ~XMLHttpRequestProgressEventThrottle();
-
- // Dispatches a ProgressEvent.
- //
- // Special treatment for events named "progress" is implemented to dispatch
- // them at the required frequency. If this object is suspended, the given
- // ProgressEvent overwrites the existing. I.e. only the latest one gets
- // queued. If the timer is running, this method just updates
- // m_lengthComputable, m_loaded and m_total. They'll be used on next
- // fired() call.
- void dispatchProgressEvent(const AtomicString&, bool lengthComputable, unsigned long long loaded, unsigned long long total);
- // Dispatches the given event after operation about the "progress" event
- // depending on the value of the ProgressEventAction argument.
- void dispatchReadyStateChangeEvent(PassRefPtrWillBeRawPtr<Event>, DeferredEventAction);
-
- void suspend();
- void resume();
-
- void trace(Visitor*);
-
-private:
- // The main purpose of this class is to throttle the "progress"
- // ProgressEvent dispatching. This class represents such a deferred
- // "progress" ProgressEvent.
- class DeferredEvent;
- static const double minimumProgressEventDispatchingIntervalInSeconds;
-
- virtual void fired() override;
- void dispatchDeferredEvent();
-
- // Non-Oilpan, keep a weak pointer to our XMLHttpRequest object as it is
- // the one holding us. With Oilpan, a simple strong Member can be used -
- // this XMLHttpRequestProgressEventThrottle (part) object dies together
- // with the XMLHttpRequest object.
- RawPtrWillBeMember<EventTarget> m_target;
-
- // A slot for the deferred "progress" ProgressEvent. When multiple events
- // arrive, only the last one is stored and others are discarded.
- const OwnPtr<DeferredEvent> m_deferred;
-};
-
-} // namespace blink
-
-#endif // XMLHttpRequestProgressEventThrottle_h
« no previous file with comments | « Source/core/xml/XMLHttpRequestProgressEvent.idl ('k') | Source/core/xml/XMLHttpRequestProgressEventThrottle.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698