1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef OpenedFrameTracker_h
6 #define OpenedFrameTracker_h
8 #include "wtf/HashSet.h"
9 #include "wtf/Noncopyable.h"
16 // Small helper class to track the set of frames that a WebFrame has opened.
17 // Due to layering restrictions, we need to hide the implementation, since
18 // public/web/ cannot depend on wtf/.
19 class OpenedFrameTracker {
20 WTF_MAKE_NONCOPYABLE(OpenedFrameTracker);
23 ~OpenedFrameTracker();
27 void remove(WebFrame*);
29 // Updates the opener for all tracked frames.
30 void updateOpener(WebFrame*);
32 void traceFrames(Visitor*);
35 WTF::HashSet<WebFrame*> m_openedFrames;
40 #endif // WebFramePrivate_h