diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/dom/custom/CustomElementSyncMicrotaskQueue.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/dom/custom/CustomElementSyncMicrotaskQueue.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/dom/custom/CustomElementSyncMicrotaskQueue.cpp b/chromium/third_party/WebKit/Source/core/dom/custom/CustomElementSyncMicrotaskQueue.cpp new file mode 100644 index 00000000000..1fcd764e75d --- /dev/null +++ b/chromium/third_party/WebKit/Source/core/dom/custom/CustomElementSyncMicrotaskQueue.cpp @@ -0,0 +1,27 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "config.h" +#include "core/dom/custom/CustomElementSyncMicrotaskQueue.h" + +namespace WebCore { + +void CustomElementSyncMicrotaskQueue::enqueue(PassOwnPtrWillBeRawPtr<CustomElementMicrotaskStep> step) +{ + m_queue.append(step); +} + +void CustomElementSyncMicrotaskQueue::doDispatch() +{ + unsigned i; + + for (i = 0; i < m_queue.size(); ++i) { + if (CustomElementMicrotaskStep::Processing == m_queue[i]->process()) + break; + } + + m_queue.remove(0, i); +} + +} // namespace WebCore |