[GLIB] Use GUniquePtr instead of GOwnPtr
[WebKit-https.git] / Tools / TestWebKitAPI / gtk / WebKit2Gtk / LoadTrackingTest.h
1 /*
2  * Copyright (C) 2011 Igalia S.L.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this library; see the file COPYING.LIB.  If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19
20 #ifndef LoadTrackingTest_h
21 #define LoadTrackingTest_h
22
23 #include "TestMain.h"
24 #include "WebViewTest.h"
25 #include <wtf/Vector.h>
26
27 class LoadTrackingTest : public WebViewTest {
28 public:
29     MAKE_GLIB_TEST_FIXTURE(LoadTrackingTest);
30     LoadTrackingTest();
31     virtual ~LoadTrackingTest();
32     void waitUntilLoadFinished();
33
34     virtual void provisionalLoadStarted();
35     virtual void provisionalLoadReceivedServerRedirect();
36     virtual void provisionalLoadFailed(const gchar* failingURI, GError*);
37     virtual void loadCommitted();
38     virtual void loadFinished();
39     virtual void loadFailed(const char* failingURI, GError*);
40     virtual void estimatedProgressChanged();
41
42     void loadURI(const char* uri);
43     void loadHtml(const char* html, const char* baseURI);
44     void loadPlainText(const char* plainText);
45     void loadRequest(WebKitURIRequest*);
46     void reload();
47     void goBack();
48     void goForward();
49
50     void setRedirectURI(const char* uri) { m_redirectURI = uri; }
51
52     enum LoadEvents {
53         ProvisionalLoadStarted,
54         ProvisionalLoadReceivedServerRedirect,
55         ProvisionalLoadFailed,
56         LoadCommitted,
57         LoadFinished,
58         LoadFailed
59     };
60     bool m_runLoadUntilCompletion;
61     bool m_loadFailed;
62     GUniquePtr<GError> m_error;
63     Vector<LoadEvents> m_loadEvents;
64     float m_estimatedProgress;
65     CString m_redirectURI;
66 };
67
68 #endif // LoadTrackingTest_h