fix a crash on exit
[WebKit-https.git] / WebKitQt / Api / qwebframe.h
1 /*
2     Copyright (C) 2007 Trolltech ASA
3     Copyright (C) 2007 Staikos Computing Services Inc.
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18     Boston, MA 02111-1307, USA.
19
20     This class provides all functionality needed for loading images, style sheets and html
21     pages from the web. It has a memory cache for these objects.
22 */
23
24 #ifndef QWEBFRAME_H
25 #define QWEBFRAME_H
26
27 #include <qscrollarea.h>
28
29 #include <qwebkitglobal.h>
30
31 class QWebFramePrivate;
32 class QWebPage;
33
34 namespace WebCore {
35     class FrameLoaderClientQt;
36 }
37 class QWebFrameData;
38
39 class QWEBKIT_EXPORT QWebFrame : public QScrollArea
40 {
41     Q_OBJECT
42 protected:
43     QWebFrame(QWebPage *parent, QWebFrameData *frameData);
44     QWebFrame(QWebFrame *parent, QWebFrameData *frameData);
45     ~QWebFrame();
46
47 public:
48     
49     QWebPage *page() const;
50
51     void addToJSWindowObject(const QByteArray &name, QObject *object);
52     QString markup() const;
53     QString innerText() const;
54     QString renderTreeDump() const;
55     QString selectedText() const;
56     QString title() const;
57
58     QList<QWebFrame*> childFrames() const;
59
60 signals:
61     void cleared();
62     void loadDone(bool ok);
63     void titleChanged(const QString& title);
64
65 protected:
66     void resizeEvent(QResizeEvent *);
67     
68 private:
69     friend class QWebPage;
70     friend class WebCore::FrameLoaderClientQt;
71     QWebFramePrivate *d;
72 };
73
74
75
76 #endif