/* This file is part of the KDE project * * Copyright (C) 1998, 1999 Torben Weis * 1999-2001 Lars Knoll * 1999-2001 Antti Koivisto * 2000-2001 Simon Hausmann * 2000-2001 Dirk Mueller * 2000 Stefan Schimanski <1Stein@gmx.de> * 2001-2005 George Staikos * 2010 Maksim Orlovich * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "khtml_childframe_p.h" #include "khtmlpart_p.h" #include "khtml_part.h" namespace khtml { ChildFrame::ChildFrame() : QObject (0) { setObjectName( "khtml_child_frame" ); m_jscript = 0L; m_bCompleted = false; m_bPreloaded = false; m_type = Frame; m_bNotify = false; m_bPendingRedirection = false; } ChildFrame::~ChildFrame() { if (m_run) m_run.data()->abort(); delete m_jscript; } const char* ChildFrame::typeString() const { switch (m_type) { case khtml::ChildFrame::Frame: return "frame"; case khtml::ChildFrame::IFrame: return "iframe"; case khtml::ChildFrame::Object: return "object"; default: return "HUH???"; } } static QDebug& ind(const QDebug& dbgIn, int ind) { QDebug& dbg = const_cast(dbgIn); for (int i = 0; i < ind; ++i) dbg << " "; return dbg; } void ChildFrame::dump(int i) { ind(qDebug(), i) << typeString() << m_name << this << m_part.data() << "url:" << (m_part.isNull() ? QString::fromLatin1("") : m_part->url().url()) << "el:" << (m_partContainerElement.isNull() ? QString::fromLatin1("") : DOM::getPrintableName(m_partContainerElement.data()->id())) << "sn:" << m_serviceName << "st:" << m_serviceType << "kr:" << m_run.data() << "comp:" << m_bCompleted; } void ChildFrame::dumpFrameTree(KHTMLPart* part) { static int i = 0; KHTMLPartPrivate* d = part->impl(); if (!d->m_objects.isEmpty()) { ind(qDebug(), i) << "objects:"; i += 4; foreach (khtml::ChildFrame* cf, d->m_objects) { cf->dump(i); if (KHTMLPart* p = ::qobject_cast(cf->m_part.data())) { i += 4; dumpFrameTree(p); i -= 4; } } i -= 4; } if (!d->m_frames.isEmpty()) { ind(qDebug(), i) << "frames:"; i += 4; foreach (khtml::ChildFrame* cf, d->m_frames) { cf->dump(i); if (KHTMLPart* p = ::qobject_cast(cf->m_part.data())) { i += 4; dumpFrameTree(p); i -= 4; } } i -= 4; } } } // namespace khtml KHTMLFrameList::Iterator KHTMLFrameList::find( const QString &name ) { Iterator it = begin(); const Iterator e = end(); for (; it!=e; ++it ) if ( (*it)->m_name==name ) break; return it; } // kate: indent-width 4; replace-tabs on; tab-width 4; space-indent on;