Changeset 96616 in webkit
- Timestamp:
- Oct 4, 2011 11:14:19 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r96614 r96616 1 2011-10-04 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Implement default error pages in WebKit2 GTK+ API 4 https://bugs.webkit.org/show_bug.cgi?id=69255 5 6 Reviewed by Martin Robinson. 7 8 * UIProcess/API/gtk/WebKitError.cpp: 9 (webkit_policy_error_quark): Add quark for policy errors. 10 (webkit_plugin_error_quark): Add quark for plugin errors. 11 * UIProcess/API/gtk/WebKitError.h: Add policy and plugin errors. 12 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 13 (webkitWebLoaderClientLoadFailed): Load a custom error page when 14 load failed and signal has not been handled. 15 (webkit_web_loader_client_class_init): Add default implementation 16 for provisional_load_failed and load_failed virtual methods. 17 1 18 2011-10-04 Carlos Garcia Campos <cgarcia@igalia.com> 2 19 -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitError.cpp
r96225 r96616 25 25 #include <WebCore/ErrorsGtk.h> 26 26 27 GQuark webkit_network_error_quark( void)27 GQuark webkit_network_error_quark() 28 28 { 29 29 return g_quark_from_static_string(WebCore::errorDomainNetwork); … … 35 35 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_CANCELLED, NetworkErrorCancelled); 36 36 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_FILE_DOES_NOT_EXIST, NetworkErrorFileDoesNotExist); 37 38 GQuark webkit_policy_error_quark() 39 { 40 return g_quark_from_static_string(WebCore::errorDomainPolicy); 41 } 42 43 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_FAILED, PolicyErrorFailed); 44 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_CANNOT_SHOW_MIME_TYPE, PolicyErrorCannotShowMimeType); 45 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL, PolicyErrorCannotShowURL); 46 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE, PolicyErrorFrameLoadInterruptedByPolicyChange); 47 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_CANNOT_USE_RESTRICTED_PORT, PolicyErrorCannotUseRestrictedPort); 48 49 GQuark webkit_plugin_error_quark() 50 { 51 return g_quark_from_static_string(WebCore::errorDomainPlugin); 52 } 53 54 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_FAILED, PluginErrorFailed); 55 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_CANNOT_FIND_PLUGIN, PluginErrorCannotFindPlugin); 56 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_CANNOT_LOAD_PLUGIN, PluginErrorCannotLoadPlugin); 57 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_JAVA_UNAVAILABLE, PluginErrorJavaUnavailable); 58 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_CONNECTION_CANCELLED, PluginErrorConnectionCancelled); 59 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD, PluginErrorWillHandleLoad); -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitError.h
r96606 r96616 32 32 33 33 #define WEBKIT_NETWORK_ERROR webkit_network_error_quark () 34 #define WEBKIT_POLICY_ERROR webkit_policy_error_quark () 35 #define WEBKIT_PLUGIN_ERROR webkit_plugin_error_quark () 34 36 35 37 /** … … 52 54 } WebKitNetworkError; 53 55 56 typedef enum { 57 WEBKIT_POLICY_ERROR_FAILED = 199, 58 WEBKIT_POLICY_ERROR_CANNOT_SHOW_MIME_TYPE = 100, 59 WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL = 101, 60 WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE = 102, 61 WEBKIT_POLICY_ERROR_CANNOT_USE_RESTRICTED_PORT = 103 62 } WebKitPolicyError; 63 64 typedef enum { 65 WEBKIT_PLUGIN_ERROR_FAILED = 299, 66 WEBKIT_PLUGIN_ERROR_CANNOT_FIND_PLUGIN = 200, 67 WEBKIT_PLUGIN_ERROR_CANNOT_LOAD_PLUGIN = 201, 68 WEBKIT_PLUGIN_ERROR_JAVA_UNAVAILABLE = 202, 69 WEBKIT_PLUGIN_ERROR_CONNECTION_CANCELLED = 203, 70 WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD = 204, 71 } WebKitPluginError; 72 54 73 WK_EXPORT GQuark 55 74 webkit_network_error_quark (void); 75 76 WK_EXPORT GQuark 77 webkit_policy_error_quark (void); 78 79 WK_EXPORT GQuark 80 webkit_plugin_error_quark (void); 56 81 57 82 G_END_DECLS -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp
r96606 r96616 21 21 #include "WebKitWebLoaderClient.h" 22 22 23 #include "WebKitError.h" 23 24 #include "WebKitMarshal.h" 24 25 #include "WebKitPrivate.h" … … 159 160 } 160 161 162 static gboolean webkitWebLoaderClientLoadFailed(WebKitWebLoaderClient* client, const gchar* failingURI, GError* error) 163 { 164 if (g_error_matches(error, WEBKIT_NETWORK_ERROR, WEBKIT_NETWORK_ERROR_CANCELLED) 165 || g_error_matches(error, WEBKIT_POLICY_ERROR, WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE) 166 || g_error_matches(error, WEBKIT_PLUGIN_ERROR, WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD)) 167 return FALSE; 168 169 GOwnPtr<char> htmlString(g_strdup_printf("<html><body>%s</body></html>", error->message)); 170 webkit_web_view_load_alternate_html(client->priv->view.get(), htmlString.get(), 0, failingURI); 171 172 return TRUE; 173 } 174 161 175 static void webkitWebLoaderClientSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec) 162 176 { … … 207 221 objectClass->finalize = webkitWebLoaderClientFinalize; 208 222 223 clientClass->provisional_load_failed = webkitWebLoaderClientLoadFailed; 224 clientClass->load_failed = webkitWebLoaderClientLoadFailed; 225 209 226 /** 210 227 * WebKitWebView:web-view:
Note: See TracChangeset
for help on using the changeset viewer.