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"
15 // Small helper class to track the set of frames that a WebFrame has opened.
16 // Due to layering restrictions, we need to hide the implementation, since
17 // public/web/ cannot depend on wtf/.
18 class OpenedFrameTracker {
19 WTF_MAKE_NONCOPYABLE(OpenedFrameTracker);
22 ~OpenedFrameTracker();
26 void remove(WebFrame*);
28 // Updates the opener for all tracked frames.
29 void updateOpener(WebFrame*);
32 WTF::HashSet<WebFrame*> m_openedFrames;
37 #endif // WebFramePrivate_h