void RejectedPromises::processQueueNow(PassOwnPtrWillBeRawPtr<MessageQueue> queue) { // Remove collected handlers. for (size_t i = 0; i < m_reportedAsErrors.size();) { if (m_reportedAsErrors.at(i)->isCollected()) m_reportedAsErrors.remove(i); else ++i; } while (!queue->isEmpty()) { OwnPtrWillBeRawPtr<Message> message = queue->takeFirst(); if (!message->hasHandler()) { message->report(); message->makePromiseWeak(); m_reportedAsErrors.append(message.release()); if (m_reportedAsErrors.size() > maxReportedHandlersPendingResolution) m_reportedAsErrors.remove(0, maxReportedHandlersPendingResolution / 10); } } }