1/* 2 * Copyright (C) 2013 Igalia S.L. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public License 15 * along with this library; see the file COPYING.LIB. If not, write to 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 20#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION) 21#error "Only <webkit2/webkit2.h> can be included directly." 22#endif 23 24#ifndef WebKitWebViewGroup_h 25#define WebKitWebViewGroup_h 26 27#include <glib-object.h> 28#include <webkit2/WebKitDefines.h> 29#include <webkit2/WebKitSettings.h> 30 31G_BEGIN_DECLS 32 33#define WEBKIT_TYPE_WEB_VIEW_GROUP (webkit_web_view_group_get_type()) 34#define WEBKIT_WEB_VIEW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_VIEW_GROUP, WebKitWebViewGroup)) 35#define WEBKIT_IS_WEB_VIEW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_VIEW_GROUP)) 36#define WEBKIT_WEB_VIEW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_VIEW_GROUP, WebKitWebViewGroupClass)) 37#define WEBKIT_IS_WEB_VIEW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_VIEW_GROUP)) 38#define WEBKIT_WEB_VIEW_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_VIEW_GROUP, WebKitWebViewGroupClass)) 39 40typedef struct _WebKitWebViewGroup WebKitWebViewGroup; 41typedef struct _WebKitWebViewGroupClass WebKitWebViewGroupClass; 42typedef struct _WebKitWebViewGroupPrivate WebKitWebViewGroupPrivate; 43 44struct _WebKitWebViewGroup { 45 GObject parent; 46 47 WebKitWebViewGroupPrivate *priv; 48}; 49 50struct _WebKitWebViewGroupClass { 51 GObjectClass parent_class; 52 53 void (*_webkit_reserved0) (void); 54 void (*_webkit_reserved1) (void); 55 void (*_webkit_reserved2) (void); 56 void (*_webkit_reserved3) (void); 57}; 58 59/** 60 * WebKitInjectedContentFrames: 61 * @WEBKIT_INJECTED_CONTENT_FRAMES_ALL: Content will be injected into all frames. 62 * @WEBKIT_INJECTED_CONTENT_FRAMES_TOP_ONLY: Content will only be injected into the main frame. 63 * 64 * Enum values used for determining into which frames content is injected. 65 */ 66typedef enum { 67 WEBKIT_INJECTED_CONTENT_FRAMES_ALL, 68 WEBKIT_INJECTED_CONTENT_FRAMES_TOP_ONLY, 69} WebKitInjectedContentFrames; 70 71WEBKIT_API GType 72webkit_web_view_group_get_type (void); 73 74WEBKIT_API WebKitWebViewGroup * 75webkit_web_view_group_new (const gchar *name); 76 77WEBKIT_API const gchar * 78webkit_web_view_group_get_name (WebKitWebViewGroup *group); 79 80WEBKIT_API WebKitSettings * 81webkit_web_view_group_get_settings (WebKitWebViewGroup *group); 82 83WEBKIT_API void 84webkit_web_view_group_set_settings (WebKitWebViewGroup *group, 85 WebKitSettings *settings); 86 87WEBKIT_API void 88webkit_web_view_group_add_user_style_sheet (WebKitWebViewGroup *group, 89 const gchar *source, 90 const gchar *base_uri, 91 const gchar * const *whitelist, 92 const gchar * const *blacklist, 93 WebKitInjectedContentFrames injected_frames); 94 95WEBKIT_API void 96webkit_web_view_group_remove_all_user_style_sheets (WebKitWebViewGroup *group); 97 98G_END_DECLS 99 100#endif 101