1 /* 2 * Copyright (C) 2007 Holger Hans Peter Freyther 3 * Copyright (C) 2007 Alp Toker <alp (at) atoker.com> 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General Public License 16 * along with this library; see the file COPYING.LIB. If not, write to 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21 #ifndef webkitwebframe_h 22 #define webkitwebframe_h 23 24 #include <glib-object.h> 25 #include <gtk/gtk.h> 26 27 #include <JavaScriptCore/JSBase.h> 28 29 #include <webkit/webkitdefines.h> 30 #include <webkit/webkitnetworkrequest.h> 31 #include <webkit/webkitwebdatasource.h> 32 33 G_BEGIN_DECLS 34 35 #define WEBKIT_TYPE_WEB_FRAME (webkit_web_frame_get_type()) 36 #define WEBKIT_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrame)) 37 #define WEBKIT_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass)) 38 #define WEBKIT_IS_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_FRAME)) 39 #define WEBKIT_IS_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_FRAME)) 40 #define WEBKIT_WEB_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass)) 41 42 typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate; 43 44 struct _WebKitWebFrame { 45 GObject parent_instance; 46 47 /*< private >*/ 48 WebKitWebFramePrivate *priv; 49 }; 50 51 struct _WebKitWebFrameClass { 52 GObjectClass parent_class; 53 54 /*< public >*/ 55 void (*_webkit_reserved1) (void); 56 void (*_webkit_reserved2) (void); 57 void (*_webkit_reserved3) (void); 58 void (*_webkit_reserved4) (void); 59 void (*_webkit_reserved5) (void); 60 void (*_webkit_reserved6) (void); 61 }; 62 63 /** 64 * WebKitLoadStatus 65 * @WEBKIT_LOAD_PROVISIONAL: No data has been received yet, empty 66 * structures have been allocated to perform the load; the load may 67 * still fail for transport issues such as not being able to resolve a 68 * name, or connect to a port. 69 * @WEBKIT_LOAD_COMMITTED: The first data chunk has arrived, meaning 70 * that the necessary transport requirements are stabilished, and the 71 * load is being performed. 72 * @WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT: The first layout with 73 * actual visible content happened; one or more layouts may have 74 * happened before that caused nothing to be visible on the screen, 75 * because the data available at the time was not significant enough. 76 * @WEBKIT_LOAD_FINISHED: This state means that everything that was 77 * required to display the page has been loaded. 78 * @WEBKIT_LOAD_FAILED: This state means that some error occurred 79 * during the page load that prevented it from being completed. You 80 * can connect to the #WebKitWebView::load-error signal if you want to 81 * know precisely what kind of error occurred. 82 */ 83 typedef enum { 84 WEBKIT_LOAD_PROVISIONAL, 85 WEBKIT_LOAD_COMMITTED, 86 WEBKIT_LOAD_FINISHED, 87 WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT, 88 WEBKIT_LOAD_FAILED 89 } WebKitLoadStatus; 90 91 WEBKIT_API GType 92 webkit_web_frame_get_type (void); 93 94 #ifndef WEBKIT_DISABLE_DEPRECATED 95 WEBKIT_API WebKitWebFrame * 96 webkit_web_frame_new (WebKitWebView *web_view); 97 #endif 98 99 WEBKIT_API WebKitWebView * 100 webkit_web_frame_get_web_view (WebKitWebFrame *frame); 101 102 WEBKIT_API G_CONST_RETURN gchar * 103 webkit_web_frame_get_name (WebKitWebFrame *frame); 104 105 WEBKIT_API G_CONST_RETURN gchar * 106 webkit_web_frame_get_title (WebKitWebFrame *frame); 107 108 WEBKIT_API G_CONST_RETURN gchar * 109 webkit_web_frame_get_uri (WebKitWebFrame *frame); 110 111 WEBKIT_API WebKitWebFrame* 112 webkit_web_frame_get_parent (WebKitWebFrame *frame); 113 114 WEBKIT_API void 115 webkit_web_frame_load_uri (WebKitWebFrame *frame, 116 const gchar *uri); 117 118 WEBKIT_API void 119 webkit_web_frame_load_string (WebKitWebFrame *frame, 120 const gchar *content, 121 const gchar *mime_type, 122 const gchar *encoding, 123 const gchar *base_uri); 124 125 WEBKIT_API void 126 webkit_web_frame_load_alternate_string (WebKitWebFrame *frame, 127 const gchar *content, 128 const gchar *base_url, 129 const gchar *unreachable_url); 130 131 WEBKIT_API void 132 webkit_web_frame_load_request (WebKitWebFrame *frame, 133 WebKitNetworkRequest *request); 134 135 WEBKIT_API void 136 webkit_web_frame_stop_loading (WebKitWebFrame *frame); 137 138 WEBKIT_API void 139 webkit_web_frame_reload (WebKitWebFrame *frame); 140 141 WEBKIT_API WebKitWebFrame * 142 webkit_web_frame_find_frame (WebKitWebFrame *frame, 143 const gchar *name); 144 145 WEBKIT_API JSGlobalContextRef 146 webkit_web_frame_get_global_context (WebKitWebFrame *frame); 147 148 WEBKIT_API GtkPrintOperationResult 149 webkit_web_frame_print_full (WebKitWebFrame *frame, 150 GtkPrintOperation *operation, 151 GtkPrintOperationAction action, 152 GError **error); 153 154 WEBKIT_API void 155 webkit_web_frame_print (WebKitWebFrame *frame); 156 157 WEBKIT_API WebKitLoadStatus 158 webkit_web_frame_get_load_status (WebKitWebFrame *frame); 159 160 WEBKIT_API GtkPolicyType 161 webkit_web_frame_get_horizontal_scrollbar_policy (WebKitWebFrame *frame); 162 163 WEBKIT_API GtkPolicyType 164 webkit_web_frame_get_vertical_scrollbar_policy (WebKitWebFrame *frame); 165 166 WEBKIT_API WebKitWebDataSource * 167 webkit_web_frame_get_data_source (WebKitWebFrame *frame); 168 169 WEBKIT_API WebKitWebDataSource * 170 webkit_web_frame_get_provisional_data_source (WebKitWebFrame *frame); 171 172 WEBKIT_API WebKitSecurityOrigin* 173 webkit_web_frame_get_security_origin (WebKitWebFrame *frame); 174 175 WEBKIT_API WebKitNetworkResponse* 176 webkit_web_frame_get_network_response (WebKitWebFrame *frame); 177 178 G_END_DECLS 179 180 #endif 181