blob: 2120f339a6d4f91c0ebb075c83f58f4eae36aed4 [file] [log] [blame]
// 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 "web/OpenedFrameTracker.h"
#include "public/web/WebFrame.h"
namespace blink {
OpenedFrameTracker::OpenedFrameTracker()
{
}
OpenedFrameTracker::~OpenedFrameTracker()
{
updateOpener(0);
}
bool OpenedFrameTracker::isEmpty() const
{
return m_openedFrames.isEmpty();
}
void OpenedFrameTracker::add(WebFrame* frame)
{
m_openedFrames.add(frame);
}
void OpenedFrameTracker::remove(WebFrame* frame)
{
m_openedFrames.remove(frame);
}
void OpenedFrameTracker::updateOpener(WebFrame* frame)
{
HashSet<WebFrame*>::iterator end = m_openedFrames.end();
for (HashSet<WebFrame*>::iterator it = m_openedFrames.begin(); it != end; ++it)
(*it)->m_opener = frame;
}
} // namespace blink