Changeset 96226 in webkit
- Timestamp:
- Sep 28, 2011 9:24:23 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r96225 r96226 1 2011-09-28 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Loader client implementation for WebKit2 GTK+ API 4 https://bugs.webkit.org/show_bug.cgi?id=68085 5 6 Reviewed by Martin Robinson. 7 8 Adds a new object, WebKitWebLoaderClient, that emits signals for 9 every page loader callback. 10 11 * GNUmakefile.am: Add new files to compilation. 12 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added. 13 (didStartProvisionalLoadForFrame): 14 (didReceiveServerRedirectForProvisionalLoadForFrame): 15 (didFailProvisionalLoadWithErrorForFrame): 16 (didCommitLoadForFrame): 17 (didFinishLoadForFrame): 18 (didFailLoadWithErrorForFrame): 19 (webkitWebLoaderClientConstructed): 20 (webkitWebLoaderClientSetProperty): 21 (webkitWebLoaderClientGetProperty): 22 (webkit_web_loader_client_init): 23 (webkit_web_loader_client_class_init): 24 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added. 25 * UIProcess/API/gtk/WebKitWebView.cpp: 26 (webkitWebViewConstructed): Create the loader client for the view. 27 (webkit_web_view_init): 28 (webkit_web_view_get_loader_client): Get the current loader client. 29 (webkit_web_view_set_loader_client): Set a new loader client. 30 * UIProcess/API/gtk/WebKitWebView.h: 31 * UIProcess/API/gtk/tests/testloading.c: Added. 32 (serverCallback): 33 (webLoadingFixtureSetup): 34 (webLoadingFixtureTeardown): 35 (getURIForPath): 36 (loadStatusProvisionalLoadStarted): 37 (loadStatusProvisionalLoadReceivedServerRedirect): 38 (loadStatusProvisionalLoadFailed): 39 (loadStatusLoadCommitted): 40 (loadStatusLoadFinished): 41 (loadStatusLoadFailed): 42 (testLoadingStatus): 43 (loadErrorProvisionalLoadStarted): 44 (loadErrorProvisionalLoadFailed): 45 (loadErrorLoadFinished): 46 (testLoadingError): 47 (main): 48 * UIProcess/API/gtk/webkit2marshal.list: Added. 49 1 50 2011-09-28 Carlos Garcia Campos <cgarcia@igalia.com> 2 51 -
trunk/Source/WebKit2/GNUmakefile.am
r96225 r96226 72 72 $(WebKit2)/UIProcess/API/gtk/WebKitError.h \ 73 73 $(WebKit2)/UIProcess/API/gtk/WebKitWebContext.h \ 74 $(WebKit2)/UIProcess/API/gtk/WebKitWebLoaderClient.h \ 74 75 $(WebKit2)/UIProcess/API/gtk/WebKitWebView.h \ 75 76 $(WebKit2)/UIProcess/API/gtk/WebKitWebViewBase.h \ … … 149 150 DerivedSources/WebKit2/WebProcessProxyMessageReceiver.cpp \ 150 151 DerivedSources/WebKit2/WebProcessProxyMessages.h 152 151 153 BUILT_SOURCES += $(webkit2_built_sources) 152 nodist_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES =$(webkit2_built_sources) 154 155 webkit2gtk_built_sources = \ 156 DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitEnumTypes.cpp \ 157 DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitEnumTypes.h \ 158 DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.cpp \ 159 DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.h 160 161 BUILT_SOURCES += $(webkit2gtk_built_sources) 162 163 nodist_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \ 164 $(webkit2_built_sources) \ 165 $(webkit2gtk_built_sources) 153 166 154 167 libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \ … … 461 474 Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp \ 462 475 Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h \ 476 Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.h \ 477 Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp \ 463 478 Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h \ 464 479 Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp \ … … 863 878 -I$(top_builddir)/DerivedSources/WebKit2/webkit2gtk \ 864 879 -I$(top_builddir)/DerivedSources/WebKit2/webkit2gtk/include \ 880 -I$(top_builddir)/DerivedSources/WebKit2/webkit2gtk/webkit2 \ 865 881 -I$(top_builddir)/DerivedSources/WebKit2/include/JavaScriptCore \ 866 882 -I$(top_builddir)/DerivedSources/WebKit2/include/WebCore \ … … 1033 1049 && rm -f xgen-gtc 1034 1050 1035 1036 BUILT_SOURCES += \ 1037 $(GENSOURCES_WEBKIT2)/webkit2gtk/webkit2/WebKitEnumTypes.cpp \ 1038 $(GENSOURCES_WEBKIT2)/webkit2gtk/webkit2/WebKitEnumTypes.h 1051 WEBKIT2_MARSHAL_LIST = $(WebKit2)/UIProcess/API/gtk/webkit2marshal.list 1052 1053 $(GENSOURCES_WEBKIT2)/webkit2gtk/webkit2/WebKitMarshal.cpp: stamp-webkit2marshal.cpp 1054 @true 1055 $(GENSOURCES_WEBKIT2)/webkit2gtk/webkit2/WebKitMarshal.h: stamp-webkit2marshal.h 1056 @true 1057 1058 stamp-webkit2marshal.cpp: $(WEBKIT2_MARSHAL_LIST) 1059 $(AM_V_GEN) echo "extern \"C\" {" > $(webkit2gtk_built_headers_dir)/WebKitMarshal.cpp && \ 1060 $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT2_MARSHAL_LIST) --body >> $(webkit2gtk_built_headers_dir)/WebKitMarshal.cpp && \ 1061 echo '}' >> $(webkit2gtk_built_headers_dir)/WebKitMarshal.cpp && \ 1062 echo timestamp > $(@F) 1063 1064 stamp-webkit2marshal.h: $(WEBKIT2_MARSHAL_LIST) 1065 $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT2_MARSHAL_LIST) --header > $(webkit2gtk_built_headers_dir)/WebKitMarshal.h && \ 1066 echo timestamp > $(@F) 1039 1067 1040 1068 CLEANFILES += \ 1041 1069 $(BUILT_SOURCES) \ 1042 1070 $(top_builddir)/stamp-webkit2enumtypes \ 1071 $(top_builddir)/stamp-webkit2marshal.cpp \ 1072 $(top_builddir)/stamp-webkit2marshal.h \ 1043 1073 $(top_builddir)/Programs/WebKitWebProcess 1044 1074 … … 1049 1079 TEST_PROGS += \ 1050 1080 Programs/unittests/webkit2/testwebcontext \ 1051 Programs/unittests/webkit2/testwebview 1081 Programs/unittests/webkit2/testwebview \ 1082 Programs/unittests/webkit2/testloading 1052 1083 1053 1084 noinst_PROGRAMS += $(TEST_PROGS) … … 1086 1117 Programs_unittests_webkit2_testwebview_LDADD = $(webkit2_tests_ldadd) 1087 1118 Programs_unittests_webkit2_testwebview_LDFLAGS = $(webkit2_tests_ldflags) 1119 1120 Programs_unittests_webkit2_testloading_SOURCES = Source/WebKit2/UIProcess/API/gtk/tests/testloading.c 1121 Programs_unittests_webkit2_testloading_CFLAGS = $(webkit2_tests_cflags) 1122 Programs_unittests_webkit2_testloading_LDADD = $(webkit2_tests_ldadd) 1123 Programs_unittests_webkit2_testloading_LDFLAGS = $(webkit2_tests_ldflags) 1088 1124 1089 1125 # WebKitWebProcess -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
r96136 r96226 21 21 #include "WebKitWebView.h" 22 22 23 #include "NotImplemented.h"24 23 #include "WebKitWebContextPrivate.h" 24 #include "WebKitWebLoaderClient.h" 25 25 #include "WebKitWebViewBasePrivate.h" 26 26 #include "WebKitPrivate.h" … … 28 28 #include <WebKit2/WKBase.h> 29 29 #include <WebKit2/WKURL.h> 30 #include <wtf/gobject/GRefPtr.h> 31 #include <wtf/text/CString.h> 30 32 31 33 using namespace WebKit; … … 40 42 struct _WebKitWebViewPrivate { 41 43 WebKitWebContext* context; 44 45 GRefPtr<WebKitWebLoaderClient> loaderClient; 42 46 }; 43 47 … … 47 51 { 48 52 WebKitWebView* webView = WEBKIT_WEB_VIEW(object); 49 50 webkitWebViewBaseCreateWebPage(WEBKIT_WEB_VIEW_BASE(webView), 51 webkitWebContextGetWKContext(webView->priv->context), 0); 53 WebKitWebViewPrivate* priv = webView->priv; 54 55 webkitWebViewBaseCreateWebPage(WEBKIT_WEB_VIEW_BASE(webView), webkitWebContextGetWKContext(priv->context), 0); 56 57 priv->loaderClient = adoptGRef(WEBKIT_WEB_LOADER_CLIENT(g_object_new(WEBKIT_TYPE_WEB_LOADER_CLIENT, "web-view", webView, NULL))); 52 58 } 53 59 … … 80 86 static void webkit_web_view_init(WebKitWebView* webView) 81 87 { 82 webView->priv = G_TYPE_INSTANCE_GET_PRIVATE(webView, WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate); 88 WebKitWebViewPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webView, WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate); 89 webView->priv = priv; 90 new (priv) WebKitWebViewPrivate(); 83 91 } 84 92 … … 152 160 } 153 161 162 /** 163 * webkit_web_view_get_loader_client: 164 * @web_view: a #WebKitWebView 165 * 166 * Returns the #WebKitWebLoaderClient of @web_view. You can use it 167 * to monitor the status of load operations happening on @web_view. 168 * 169 * Returns: (trasnfer-none): the #WebKitWebLoaderClient of @web_view. 170 */ 171 WebKitWebLoaderClient* webkit_web_view_get_loader_client(WebKitWebView* webView) 172 { 173 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); 174 175 return webView->priv->loaderClient.get(); 176 } 177 178 /** 179 * webkit_web_view_set_loader_client: 180 * @web_view: a #WebKitWebView 181 * @loader_client: a #WebKitWebLoaderClient 182 * 183 * Sets the #WebKitWebLoaderClient that the view will use during 184 * load operations. 185 */ 186 void webkit_web_view_set_loader_client(WebKitWebView* webView, WebKitWebLoaderClient* loaderClient) 187 { 188 g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); 189 g_return_if_fail(WEBKIT_IS_WEB_LOADER_CLIENT(loaderClient)); 190 191 WebKitWebViewPrivate* priv = webView->priv; 192 if (priv->loaderClient.get() == loaderClient) 193 return; 194 195 priv->loaderClient = loaderClient; 196 } 197 198 /** 199 * webkit_web_view_load_uri: 200 * @web_view: a #WebKitWebView 201 * @uri: an URI string 202 * 203 * Requests loading of the specified URI string. 204 * You can monitor the status of the load operation using the 205 * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client(). 206 */ 154 207 void webkit_web_view_load_uri(WebKitWebView* webView, const gchar* uri) 155 208 { … … 161 214 } 162 215 216 /** 217 * webkit_web_view_go_back: 218 * @web_view: a #WebKitWebView 219 * 220 * Loads the previous history item. 221 * You can monitor the status of the load operation using the 222 * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client(). 223 */ 163 224 void webkit_web_view_go_back(WebKitWebView* webView) 164 225 { … … 169 230 } 170 231 232 /** 233 * webkit_web_view_go_forward: 234 * @web_view: a #WebKitWebView 235 * 236 * Loads the next history item. 237 * You can monitor the status of the load operation using the 238 * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client(). 239 */ 171 240 void webkit_web_view_go_forward(WebKitWebView* webView) 172 241 { -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h
r96136 r96226 25 25 26 26 #include <webkit2/WebKitWebContext.h> 27 #include <webkit2/WebKitWebLoaderClient.h> 27 28 #include <webkit2/WebKitWebViewBase.h> 28 29 … … 62 63 63 64 WK_EXPORT GType 64 webkit_web_view_get_type (void);65 webkit_web_view_get_type (void); 65 66 66 67 WK_EXPORT GtkWidget * 67 webkit_web_view_new (void);68 webkit_web_view_new (void); 68 69 69 70 WK_EXPORT GtkWidget * 70 webkit_web_view_new_with_context (WebKitWebContext*context);71 webkit_web_view_new_with_context (WebKitWebContext *context); 71 72 72 73 WK_EXPORT WebKitWebContext * 73 webkit_web_view_get_context (WebKitWebView *web_view); 74 webkit_web_view_get_context (WebKitWebView *web_view); 75 76 WK_EXPORT WebKitWebLoaderClient * 77 webkit_web_view_get_loader_client (WebKitWebView *web_view); 74 78 75 79 WK_EXPORT void 76 webkit_web_view_ load_uri (WebKitWebView *webView,77 const gchar *uri);80 webkit_web_view_set_loader_client (WebKitWebView *web_view, 81 WebKitWebLoaderClient *loader_client); 78 82 79 83 WK_EXPORT void 80 webkit_web_view_go_back (WebKitWebView *webView); 84 webkit_web_view_load_uri (WebKitWebView *web_view, 85 const gchar *uri); 81 86 82 87 WK_EXPORT void 83 webkit_web_view_go_forward (WebKitWebView *webView); 88 webkit_web_view_go_back (WebKitWebView *web_view); 89 90 WK_EXPORT void 91 webkit_web_view_go_forward (WebKitWebView *web_view); 84 92 85 93 G_END_DECLS
Note: See TracChangeset
for help on using the changeset viewer.