本文整理汇总了C++中WillBeHeapVector::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ WillBeHeapVector::clear方法的具体用法?C++ WillBeHeapVector::clear怎么用?C++ WillBeHeapVector::clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WillBeHeapVector
的用法示例。
在下文中一共展示了WillBeHeapVector::clear方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dataForRect
SmartClipData SmartClip::dataForRect(const IntRect& cropRect)
{
IntRect resizedCropRect = applyScaleWithoutCollapsingToZero(cropRect, 1 / pageScaleFactor());
Node* bestNode = findBestOverlappingNode(m_frame->document(), resizedCropRect);
if (!bestNode)
return SmartClipData();
if (Node* nodeFromFrame = nodeInsideFrame(bestNode)) {
// FIXME: This code only hit-tests a single iframe. It seems like we ought support nested frames.
if (Node* bestNodeInFrame = findBestOverlappingNode(nodeFromFrame, resizedCropRect))
bestNode = bestNodeInFrame;
}
WillBeHeapVector<RawPtrWillBeMember<Node> > hitNodes;
collectOverlappingChildNodes(bestNode, resizedCropRect, hitNodes);
if (hitNodes.isEmpty() || hitNodes.size() == bestNode->countChildren()) {
hitNodes.clear();
hitNodes.append(bestNode);
}
// Unite won't work with the empty rect, so we initialize to the first rect.
IntRect unitedRects = hitNodes[0]->pixelSnappedBoundingBox();
StringBuilder collectedText;
for (size_t i = 0; i < hitNodes.size(); ++i) {
collectedText.append(extractTextFromNode(hitNodes[i]));
unitedRects.unite(hitNodes[i]->pixelSnappedBoundingBox());
}
return SmartClipData(bestNode, convertRectToWindow(unitedRects), collectedText.toString());
}
示例2: collectImageElements
void HTMLFormElement::collectImageElements(Node& root, WillBeHeapVector<RawPtrWillBeMember<HTMLImageElement>>& elements)
{
elements.clear();
for (HTMLImageElement& image : Traversal<HTMLImageElement>::startsAfter(root)) {
if (image.formOwner() == this)
elements.append(&image);
}
}
示例3:
WillBeHeapVector<RefPtrWillBeMember<ArchiveResource>> MHTMLParser::parseArchive()
{
RefPtrWillBeRawPtr<MIMEHeader> header = MIMEHeader::parseHeader(&m_lineReader);
WillBeHeapVector<RefPtrWillBeMember<ArchiveResource>> resources;
if (!parseArchiveWithHeader(header.get(), resources))
resources.clear();
return resources;
}
示例4: scheduledEventTimerFired
void RTCDataChannel::scheduledEventTimerFired(Timer<RTCDataChannel>*)
{
WillBeHeapVector<RefPtrWillBeMember<Event>> events;
events.swap(m_scheduledEvents);
WillBeHeapVector<RefPtrWillBeMember<Event>>::iterator it = events.begin();
for (; it != events.end(); ++it)
dispatchEvent((*it).release());
events.clear();
}
示例5: createStylePropertySet
static PassRefPtrWillBeRawPtr<ImmutableStylePropertySet> createStylePropertySet(WillBeHeapVector<CSSProperty, 256>& parsedProperties, CSSParserMode mode)
{
BitArray<numCSSProperties> seenProperties;
size_t unusedEntries = parsedProperties.size();
WillBeHeapVector<CSSProperty, 256> results(unusedEntries);
filterProperties(true, parsedProperties, results, unusedEntries, seenProperties);
filterProperties(false, parsedProperties, results, unusedEntries, seenProperties);
RefPtrWillBeRawPtr<ImmutableStylePropertySet> result = ImmutableStylePropertySet::create(results.data() + unusedEntries, results.size() - unusedEntries, mode);
parsedProperties.clear();
return result.release();
}
示例6: dispatchScheduledEvent
void RTCPeerConnection::dispatchScheduledEvent()
{
if (m_stopped)
return;
WillBeHeapVector<RefPtrWillBeMember<Event> > events;
events.swap(m_scheduledEvents);
WillBeHeapVector<RefPtrWillBeMember<Event> >::iterator it = events.begin();
for (; it != events.end(); ++it)
dispatchEvent((*it).release());
events.clear();
}
示例7: scheduledEventTimerFired
void MediaStream::scheduledEventTimerFired(Timer<MediaStream>*)
{
if (m_stopped)
return;
WillBeHeapVector<RefPtrWillBeMember<Event>> events;
events.swap(m_scheduledEvents);
WillBeHeapVector<RefPtrWillBeMember<Event>>::iterator it = events.begin();
for (; it != events.end(); ++it)
dispatchEvent((*it).release());
events.clear();
}
示例8: serviceScriptedAnimations
void PageAnimator::serviceScriptedAnimations(double monotonicAnimationStartTime)
{
RefPtrWillBeRawPtr<PageAnimator> protector(this);
m_animationFramePending = false;
TemporaryChange<bool> servicing(m_servicingAnimations, true);
WillBeHeapVector<RefPtrWillBeMember<Document>> documents;
for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) {
if (frame->isLocalFrame())
documents.append(toLocalFrame(frame)->document());
}
for (size_t i = 0; i < documents.size(); ++i) {
if (documents[i]->frame()) {
documents[i]->view()->serviceScrollAnimations(monotonicAnimationStartTime);
if (const FrameView::ScrollableAreaSet* animatingScrollableAreas = documents[i]->view()->animatingScrollableAreas()) {
// Iterate over a copy, since ScrollableAreas may deregister
// themselves during the iteration.
Vector<ScrollableArea*> animatingScrollableAreasCopy;
copyToVector(*animatingScrollableAreas, animatingScrollableAreasCopy);
for (ScrollableArea* scrollableArea : animatingScrollableAreasCopy)
scrollableArea->serviceScrollAnimations(monotonicAnimationStartTime);
}
}
}
for (size_t i = 0; i < documents.size(); ++i) {
DocumentAnimations::updateAnimationTimingForAnimationFrame(*documents[i], monotonicAnimationStartTime);
SVGDocumentExtensions::serviceOnAnimationFrame(*documents[i], monotonicAnimationStartTime);
}
for (size_t i = 0; i < documents.size(); ++i)
documents[i]->serviceScriptedAnimations(monotonicAnimationStartTime);
#if ENABLE(OILPAN)
documents.clear();
#endif
}
示例9: clear
inline void DistributionPool::clear()
{
detachNonDistributedNodes();
m_nodes.clear();
m_distributed.clear();
}