[GTK] WebKitWebView::load-failed-with-tls-errors should receive the failing URI inste...
[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 bool loadFailedWithTLSErrors(const gchar* failingURI, GTlsCertificate*, GTlsCertificateFlags);
38     virtual void loadCommitted();
39     virtual void loadFinished();
40     virtual void loadFailed(const char* failingURI, GError*);
41     virtual void estimatedProgressChanged();
42
43     void loadURI(const char* uri);
44     void loadHtml(const char* html, const char* baseURI);
45     void loadPlainText(const char* plainText);
46     void loadRequest(WebKitURIRequest*);
47     void loadBytes(GBytes*, const char* mimeType, const char* encoding, const char* baseURI);
48     void reload();
49     void goBack();
50     void goForward();
51
52     void setRedirectURI(const char* uri) { m_redirectURI = uri; }
53
54     enum LoadEvents {
55         ProvisionalLoadStarted,
56         ProvisionalLoadReceivedServerRedirect,
57         ProvisionalLoadFailed,
58         LoadCommitted,
59         LoadFinished,
60         LoadFailed,
61         LoadFailedWithTLSErrors
62     };
63     bool m_runLoadUntilCompletion;
64     bool m_loadFailed;
65     GUniquePtr<GError> m_error;
66     Vector<LoadEvents> m_loadEvents;
67     float m_estimatedProgress;
68     CString m_redirectURI;
69 };
70
71 #endif // LoadTrackingTest_h