Changeset 96614 in webkit
- Timestamp:
- Oct 4, 2011 11:11:55 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r96613 r96614 1 2011-10-04 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API 4 https://bugs.webkit.org/show_bug.cgi?id=69254 5 6 Reviewed by Martin Robinson. 7 8 * UIProcess/API/gtk/WebKitWebView.cpp: 9 (webkit_web_view_load_alternate_html): 10 * UIProcess/API/gtk/WebKitWebView.h: 11 * UIProcess/API/gtk/tests/testloading.c: 12 (loadAlternateContentLoadFinished): 13 (loadAlternateContentLoadFailed): 14 (testLoadAlternateContent): 15 (main): 16 1 17 2011-10-03 Jon Lee <jonlee@apple.com> 2 18 -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
r96606 r96614 224 224 225 225 /** 226 * webkit_web_view_load_alternate_html: 227 * @web_view: a #WebKitWebView 228 * @content: the alternate content to display as the main page of the @web_view 229 * @base_uri: the base URI for relative locations 230 * @unreachable_uri: the URI for the alternate page content 231 * 232 * Request loading of an alternate content for a URI that is unreachable. This allows clients 233 * to display page-loading errors in the #WebKitWebView itself. This is typically called from 234 * #WebKitWebLoaderClient::provisional-load-failed or #WebKitWebLoaderClient::load-failed 235 * signals. 236 * When called from those signals this method will preserve the back-forward list. The URI passed in 237 * @base_uri has to be an absolute URI. 238 * You can monitor the status of the load operation using the 239 * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client(). 240 */ 241 void webkit_web_view_load_alternate_html(WebKitWebView* webView, const gchar* content, const gchar* baseURI, const gchar* unreachableURI) 242 { 243 g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); 244 g_return_if_fail(content); 245 246 WKStringRef htmlString = WKStringCreateWithUTF8CString(content); 247 WKURLRef baseURL = baseURI ? WKURLCreateWithUTF8CString(baseURI) : 0; 248 WKURLRef unreachableURL = unreachableURI ? WKURLCreateWithUTF8CString(unreachableURI) : 0; 249 WebPageProxy* page = webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView)); 250 WKPageLoadAlternateHTMLString(toAPI(page), htmlString, baseURL, unreachableURL); 251 WKRelease(htmlString); 252 if (baseURL) 253 WKRelease(baseURL); 254 if (unreachableURL) 255 WKRelease(unreachableURL); 256 } 257 258 /** 226 259 * webkit_web_view_go_back: 227 260 * @web_view: a #WebKitWebView -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h
r96324 r96614 67 67 68 68 WK_EXPORT GType 69 webkit_web_view_get_type (void);69 webkit_web_view_get_type (void); 70 70 71 71 WK_EXPORT GtkWidget * 72 webkit_web_view_new (void);72 webkit_web_view_new (void); 73 73 74 74 WK_EXPORT GtkWidget * 75 webkit_web_view_new_with_context (WebKitWebContext *context);75 webkit_web_view_new_with_context (WebKitWebContext *context); 76 76 77 77 WK_EXPORT WebKitWebContext * 78 webkit_web_view_get_context (WebKitWebView *web_view);78 webkit_web_view_get_context (WebKitWebView *web_view); 79 79 80 80 WK_EXPORT WebKitWebLoaderClient * 81 webkit_web_view_get_loader_client (WebKitWebView *web_view);81 webkit_web_view_get_loader_client (WebKitWebView *web_view); 82 82 83 83 WK_EXPORT void 84 webkit_web_view_set_loader_client (WebKitWebView *web_view,85 WebKitWebLoaderClient *loader_client);84 webkit_web_view_set_loader_client (WebKitWebView *web_view, 85 WebKitWebLoaderClient *loader_client); 86 86 87 87 WK_EXPORT void 88 webkit_web_view_load_uri (WebKitWebView *web_view,89 const gchar *uri);88 webkit_web_view_load_uri (WebKitWebView *web_view, 89 const gchar *uri); 90 90 91 91 WK_EXPORT void 92 webkit_web_view_go_back (WebKitWebView *web_view); 92 webkit_web_view_load_alternate_html (WebKitWebView *web_view, 93 const gchar *content, 94 const gchar *base_uri, 95 const gchar *unreachable_uri); 93 96 94 97 WK_EXPORT void 95 webkit_web_view_go_forward (WebKitWebView *web_view); 98 webkit_web_view_go_back (WebKitWebView *web_view); 99 100 WK_EXPORT void 101 webkit_web_view_go_forward (WebKitWebView *web_view); 96 102 97 103 G_END_DECLS -
trunk/Source/WebKit2/UIProcess/API/gtk/tests/testloading.c
r96511 r96614 224 224 } 225 225 226 static gboolean loadAlternateContentLoadFinished(WebKitWebLoaderClient *client, WebLoadingFixture *fixture) 227 { 228 g_main_loop_quit(fixture->loop); 229 230 return TRUE; 231 } 232 233 static gboolean loadAlternateContentLoadFailed(WebKitWebLoaderClient *client, const gchar *failingURI, GError *error, WebLoadingFixture *fixture) 234 { 235 g_assert_not_reached(); 236 return TRUE; 237 } 238 239 static void testLoadAlternateContent(WebLoadingFixture *fixture, gconstpointer data) 240 { 241 char *uriString; 242 WebKitWebLoaderClient *client = webkit_web_view_get_loader_client(fixture->webView); 243 244 g_signal_connect(client, "load-finished", G_CALLBACK(loadAlternateContentLoadFinished), fixture); 245 g_signal_connect(client, "provisional-load-failed", G_CALLBACK(loadAlternateContentLoadFailed), fixture); 246 g_signal_connect(client, "load-failed", G_CALLBACK(loadAlternateContentLoadFailed), fixture); 247 248 uriString = getURIForPath("/alternate"); 249 webkit_web_view_load_alternate_html(fixture->webView, "<html><body>Alternate Content</body></html>", NULL, uriString); 250 g_free(uriString); 251 252 g_main_loop_run(fixture->loop); 253 } 254 226 255 int main(int argc, char **argv) 227 256 { … … 252 281 testLoadingError, 253 282 webLoadingFixtureTeardown); 283 g_test_add("/webkit2/loading/alternate_content", 284 WebLoadingFixture, NULL, 285 webLoadingFixtureSetup, 286 testLoadAlternateContent, 287 webLoadingFixtureTeardown); 254 288 255 289 return g_test_run();
Note: See TracChangeset
for help on using the changeset viewer.