176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 376c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)// found in the LICENSE file. 476c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#include "config.h" 676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#include "core/dom/custom/CustomElementMicrotaskQueueBase.h" 776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#include "core/dom/custom/CustomElementCallbackDispatcher.h" 976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 1076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)namespace WebCore { 1176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 1276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)void CustomElementMicrotaskQueueBase::dispatch() 1376c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles){ 1476c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) ASSERT(!m_inDispatch); 1576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) m_inDispatch = true; 1676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) doDispatch(); 1776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) m_inDispatch = false; 1876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)} 1976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 2076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)void CustomElementMicrotaskQueueBase::trace(Visitor* visitor) 2176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles){ 2276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) visitor->trace(m_queue); 2376c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)} 2476c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 2576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#if !defined(NDEBUG) 2676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)void CustomElementMicrotaskQueueBase::show(unsigned indent) 2776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles){ 2876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) for (unsigned q = 0; q < m_queue.size(); ++q) { 2976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) if (m_queue[q]) 3076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) m_queue[q]->show(indent); 3176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) else 3276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) fprintf(stderr, "%*snull\n", indent, ""); 3376c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) } 3476c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)} 3576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#endif 3676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 3776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)} // namespace WebCore 38