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. 4 5 #include "config.h" 6 #include "web/OpenedFrameTracker.h" 7 8 #include "public/web/WebFrame.h" 9 10 namespace blink { 11 OpenedFrameTracker()12OpenedFrameTracker::OpenedFrameTracker() 13 { 14 } 15 ~OpenedFrameTracker()16OpenedFrameTracker::~OpenedFrameTracker() 17 { 18 updateOpener(0); 19 } 20 isEmpty() const21bool OpenedFrameTracker::isEmpty() const 22 { 23 return m_openedFrames.isEmpty(); 24 } 25 add(WebFrame * frame)26void OpenedFrameTracker::add(WebFrame* frame) 27 { 28 m_openedFrames.add(frame); 29 } 30 remove(WebFrame * frame)31void OpenedFrameTracker::remove(WebFrame* frame) 32 { 33 m_openedFrames.remove(frame); 34 } 35 updateOpener(WebFrame * frame)36void OpenedFrameTracker::updateOpener(WebFrame* frame) 37 { 38 HashSet<WebFrame*>::iterator end = m_openedFrames.end(); 39 for (HashSet<WebFrame*>::iterator it = m_openedFrames.begin(); it != end; ++it) 40 (*it)->m_opener = frame; 41 } 42 43 } // namespace blink 44