1/* 2 * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther 3 * Copyright (C) 2008 Jan Michael C. Alonzo 4 * Copyright (C) 2008 Collabora Ltd. 5 * Copyright (C) 2010 Igalia S.L. 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Library General Public 9 * License as published by the Free Software Foundation; either 10 * version 2 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Library General Public License for more details. 16 * 17 * You should have received a copy of the GNU Library General Public License 18 * along with this library; see the file COPYING.LIB. If not, write to 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 * Boston, MA 02110-1301, USA. 21 */ 22 23#ifndef webkitglobals_h 24#define webkitglobals_h 25 26#include "webkitdefines.h" 27#include <glib.h> 28#include <gtk/gtk.h> 29#include <libsoup/soup.h> 30 31G_BEGIN_DECLS 32 33/** 34 * WebKitCacheModel: 35 * @WEBKIT_CACHE_MODEL_DEFAULT: The default cache model. This is 36 * WEBKIT_CACHE_MODEL_WEB_BROWSER. 37 * @WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER: Disable the cache completely, which 38 * substantially reduces memory usage. Useful for applications that only 39 * access a single local file, with no navigation to other pages. No remote 40 * resources will be cached. 41 * @WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER: A cache model optimized for viewing 42 * a series of local files -- for example, a documentation viewer or a website 43 * designer. WebKit will cache a moderate number of resources. 44 * @WEBKIT_CACHE_MODEL_WEB_BROWSER: Improve document load speed substantially 45 * by caching a very large number of resources and previously viewed content. 46 * 47 * Enum values used for determining the webview cache model. 48 * 49 **/ 50typedef enum { 51 WEBKIT_CACHE_MODEL_DEFAULT, 52 WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER, 53 WEBKIT_CACHE_MODEL_WEB_BROWSER, 54 WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER, 55} WebKitCacheModel; 56 57/** 58 * WebKitContextMenuAction: 59 * @WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION: No action, used by separator menu items. 60 * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK: Open current link. 61 * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW: Open current link in a new window. 62 * @WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_LINK_TO_DISK: Download link destination. 63 * @WEBKIT_CONTEXT_MENU_ACTION_COPY_LINK_TO_CLIPBOARD: Copy link location to the clipboard. 64 * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_IMAGE_IN_NEW_WINDOW: Open current image in a new window. 65 * @WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_IMAGE_TO_DISK: Download current image. 66 * @WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_TO_CLIPBOARD: Copy current image to the clipboard. 67 * @WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_URL_TO_CLIPBOARD: Copy curent image location to the clipboard. 68 * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_FRAME_IN_NEW_WINDOW: Open current frame in a new window. 69 * @WEBKIT_CONTEXT_MENU_ACTION_GO_BACK: Load the previous history item. 70 * @WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD: Load the next history item. 71 * @WEBKIT_CONTEXT_MENU_ACTION_STOP: Stop any ongoing loading operation. 72 * @WEBKIT_CONTEXT_MENU_ACTION_RELOAD: Reload the conents of current view. 73 * @WEBKIT_CONTEXT_MENU_ACTION_COPY: Copy current selection the clipboard. 74 * @WEBKIT_CONTEXT_MENU_ACTION_CUT: Cut current selection to the clipboard. 75 * @WEBKIT_CONTEXT_MENU_ACTION_PASTE: Paste clipboard contents. 76 * @WEBKIT_CONTEXT_MENU_ACTION_DELETE: Delete current selection. 77 * @WEBKIT_CONTEXT_MENU_ACTION_SELECT_ALL: Select all text. 78 * @WEBKIT_CONTEXT_MENU_ACTION_INPUT_METHODS: Input methods menu. 79 * @WEBKIT_CONTEXT_MENU_ACTION_UNICODE: Unicode menu. 80 * @WEBKIT_CONTEXT_MENU_ACTION_SPELLING_GUESS: Guess spelling. 81 * @WEBKIT_CONTEXT_MENU_ACTION_NO_GUESSES_FOUND: No guesses found. 82 * @WEBKIT_CONTEXT_MENU_ACTION_IGNORE_SPELLING: Ignore spelling. 83 * @WEBKIT_CONTEXT_MENU_ACTION_LEARN_SPELLING: Learn spelling. 84 * @WEBKIT_CONTEXT_MENU_ACTION_IGNORE_GRAMMAR: Ignore grammar. 85 * @WEBKIT_CONTEXT_MENU_ACTION_FONT_MENU: Font menu. 86 * @WEBKIT_CONTEXT_MENU_ACTION_BOLD: Bold. 87 * @WEBKIT_CONTEXT_MENU_ACTION_ITALIC: Italic. 88 * @WEBKIT_CONTEXT_MENU_ACTION_UNDERLINE: Underline. 89 * @WEBKIT_CONTEXT_MENU_ACTION_OUTLINE: Outline. 90 * @WEBKIT_CONTEXT_MENU_ACTION_INSPECT_ELEMENT: Open current element in the inspector. 91 * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_MEDIA_IN_NEW_WINDOW: Open current media element in a new window. 92 * @WEBKIT_CONTEXT_MENU_ACTION_COPY_MEDIA_LINK_TO_CLIPBOARD: Copy media link location in to the clipboard. 93 * @WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_CONTROLS: Enable or disable media controls. 94 * @WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_LOOP: Enable or disable media loop. 95 * @WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN: Show current video element in fullscreen mode. 96 * @WEBKIT_CONTEXT_MENU_ACTION_MEDIA_PLAY_PAUSE: Play or pause current media element. 97 * @WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE: Mute current media element. 98 * 99 * Enum values used to denote actions of items in the default context menu. 100 * 101 * Since: 1.10 102 */ 103typedef enum { 104 WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION = 0, 105 WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK, 106 WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW, 107 WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_LINK_TO_DISK, 108 WEBKIT_CONTEXT_MENU_ACTION_COPY_LINK_TO_CLIPBOARD, 109 WEBKIT_CONTEXT_MENU_ACTION_OPEN_IMAGE_IN_NEW_WINDOW, 110 WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_IMAGE_TO_DISK, 111 WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_TO_CLIPBOARD, 112 WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_URL_TO_CLIPBOARD, 113 WEBKIT_CONTEXT_MENU_ACTION_OPEN_FRAME_IN_NEW_WINDOW, 114 WEBKIT_CONTEXT_MENU_ACTION_GO_BACK, 115 WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD, 116 WEBKIT_CONTEXT_MENU_ACTION_STOP, 117 WEBKIT_CONTEXT_MENU_ACTION_RELOAD, 118 WEBKIT_CONTEXT_MENU_ACTION_COPY, 119 WEBKIT_CONTEXT_MENU_ACTION_CUT, 120 WEBKIT_CONTEXT_MENU_ACTION_PASTE, 121 WEBKIT_CONTEXT_MENU_ACTION_DELETE, 122 WEBKIT_CONTEXT_MENU_ACTION_SELECT_ALL, 123 WEBKIT_CONTEXT_MENU_ACTION_INPUT_METHODS, 124 WEBKIT_CONTEXT_MENU_ACTION_UNICODE, 125 WEBKIT_CONTEXT_MENU_ACTION_SPELLING_GUESS, 126 WEBKIT_CONTEXT_MENU_ACTION_NO_GUESSES_FOUND, 127 WEBKIT_CONTEXT_MENU_ACTION_IGNORE_SPELLING, 128 WEBKIT_CONTEXT_MENU_ACTION_LEARN_SPELLING, 129 WEBKIT_CONTEXT_MENU_ACTION_IGNORE_GRAMMAR, 130 WEBKIT_CONTEXT_MENU_ACTION_FONT_MENU, 131 WEBKIT_CONTEXT_MENU_ACTION_BOLD, 132 WEBKIT_CONTEXT_MENU_ACTION_ITALIC, 133 WEBKIT_CONTEXT_MENU_ACTION_UNDERLINE, 134 WEBKIT_CONTEXT_MENU_ACTION_OUTLINE, 135 WEBKIT_CONTEXT_MENU_ACTION_INSPECT_ELEMENT, 136 WEBKIT_CONTEXT_MENU_ACTION_OPEN_MEDIA_IN_NEW_WINDOW, 137 WEBKIT_CONTEXT_MENU_ACTION_COPY_MEDIA_LINK_TO_CLIPBOARD, 138 WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_CONTROLS, 139 WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_LOOP, 140 WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN, 141 WEBKIT_CONTEXT_MENU_ACTION_MEDIA_PLAY_PAUSE, 142 WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE 143} WebKitContextMenuAction; 144 145/** 146 * WebKitSecurityPolicy: 147 * @WEBKIT_SECURITY_POLICY_LOCAL: Local URI scheme, other non-local pages 148 * cannot link to or access URIs of this scheme. 149 * @WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME: Pages loaded with this URI scheme 150 * cannot access pages loaded with any other URI scheme. 151 * @WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED: Pages cannot display these URIs 152 * unless they are from the same scheme. 153 * @WEBKIT_SECURITY_POLICY_SECURE: Secure URI scheme, doesn't generate mixed 154 * content warnings when included by an HTTPS page. 155 * @WEBKIT_SECURITY_POLICY_CORS_ENABLED: URI scheme that can be sent 156 * CORS (Cross-origin resource sharing) requests. See W3C CORS specification 157 * http://www.w3.org/TR/cors/. 158 * @WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT: Strictly empty documents allowed 159 * to commit synchronously. 160 * 161 * Flags used to represent the security policy of a URI scheme. 162 * 163 * Since: 2.0 164 */ 165typedef enum { 166 WEBKIT_SECURITY_POLICY_LOCAL = 1 << 1, 167 WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME = 1 << 2, 168 WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED = 1 << 3, 169 WEBKIT_SECURITY_POLICY_SECURE = 1 << 4, 170 WEBKIT_SECURITY_POLICY_CORS_ENABLED = 1 << 5, 171 WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT = 1 << 6 172} WebKitSecurityPolicy; 173 174WEBKIT_API SoupSession* 175webkit_get_default_session (void); 176 177WEBKIT_API WebKitWebPluginDatabase * 178webkit_get_web_plugin_database (void); 179 180#if !defined(WEBKIT_DISABLE_DEPRECATED) 181WEBKIT_API WebKitIconDatabase * 182webkit_get_icon_database (void); 183#endif 184 185WEBKIT_API WebKitFaviconDatabase * 186webkit_get_favicon_database (void); 187 188WEBKIT_API void 189webkit_set_cache_model (WebKitCacheModel cache_model); 190 191WEBKIT_API WebKitCacheModel 192webkit_get_cache_model (void); 193 194WEBKIT_API GObject* 195webkit_get_text_checker (void); 196 197WEBKIT_API void 198webkit_set_text_checker (GObject* checker); 199 200WEBKIT_API WebKitContextMenuAction 201webkit_context_menu_item_get_action (GtkMenuItem* item); 202 203WEBKIT_API void 204webkit_set_security_policy_for_uri_scheme (const gchar *scheme, 205 WebKitSecurityPolicy policy); 206 207WEBKIT_API WebKitSecurityPolicy 208webkit_get_security_policy_for_uri_scheme (const gchar *scheme); 209 210G_END_DECLS 211 212#endif 213