48
48
#define ENABLE_SCRIPTS_SETTING "enable-javascript"
49
49
#define DEFAULT_ENCODING_SETTING "default-charset"
50
50
static WebKitSettings *webkit_settings = NULL;
51
static WebKitWebViewGroup *web_view_group = NULL;
52
53
#define ENABLE_SCRIPTS_SETTING "enable-scripts"
53
54
#define DEFAULT_ENCODING_SETTING "default-encoding"
54
55
static WebKitWebSettings *webkit_settings = NULL;
60
user_style_sheet_output_stream_splice_cb (GOutputStream *output_stream,
66
bytes = g_output_stream_splice_finish (output_stream, result, NULL);
68
webkit_web_view_group_add_user_style_sheet (web_view_group,
69
g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (output_stream)),
70
NULL, NULL, NULL, WEBKIT_INJECTED_CONTENT_FRAMES_ALL);
75
user_style_seet_read_cb (GFile *file,
79
GFileInputStream *input_stream;
80
GOutputStream *output_stream;
82
input_stream = g_file_read_finish (file, result, NULL);
86
output_stream = g_memory_output_stream_new_resizable ();
87
g_output_stream_splice_async (output_stream, G_INPUT_STREAM (input_stream),
88
G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE |
89
G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
92
(GAsyncReadyCallback)user_style_sheet_output_stream_splice_cb,
94
g_object_unref (input_stream);
95
g_object_unref (output_stream);
58
100
webkit_pref_callback_user_stylesheet (GSettings *settings,
62
gboolean value = FALSE;
65
107
char *webkit_pref = data;
68
110
value = g_settings_get_boolean (settings, key);
71
114
/* We need the leading file://, so use g_strconcat instead
72
115
* of g_build_filename */
75
118
G_DIR_SEPARATOR_S,
76
119
USER_STYLESHEET_FILENAME,
79
/* TODO: user-stylesheet-uri setting */
81
121
g_object_set (webkit_settings, webkit_pref, uri, NULL);
125
webkit_web_view_group_remove_all_user_style_sheets (web_view_group);
130
filename = g_build_filename (ephy_dot_dir (), USER_STYLESHEET_FILENAME, NULL);
131
file = g_file_new_for_path (filename);
134
g_file_read_async (file, G_PRIORITY_DEFAULT, NULL,
135
(GAsyncReadyCallback)user_style_seet_read_cb, NULL);
136
g_object_unref (file);
665
720
webkit_pref_callback_cookie_accept_policy },
670
ephy_embed_prefs_apply (EphyEmbed *embed, WebKitSettings *settings)
673
725
ephy_embed_prefs_apply (EphyEmbed *embed, WebKitWebSettings *settings)
676
727
webkit_web_view_set_settings (EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED (embed),
681
733
ephy_embed_prefs_init (void)
684
736
#ifdef HAVE_WEBKIT2
685
webkit_settings = webkit_settings_new_with_settings ("enable-developer-extras", TRUE,
686
"enable-fullscreen", TRUE,
687
"enable-site-specific-quirks", TRUE,
688
"enable-dns-prefetching", TRUE,
737
web_view_group = webkit_web_view_group_new ("Ephy WebView Group");
738
webkit_settings = webkit_web_view_group_get_settings (web_view_group);
740
g_object_set (webkit_settings,
741
"enable-developer-extras", TRUE,
742
"enable-fullscreen", TRUE,
743
"enable-site-specific-quirks", TRUE,
744
"enable-dns-prefetching", TRUE,
691
747
webkit_settings = webkit_web_settings_new ();
759
815
ephy_embed_prefs_shutdown (void)
818
g_object_unref (web_view_group);
761
820
g_object_unref (webkit_settings);
826
ephy_embed_prefs_get_web_view_group (void)
828
return web_view_group;
765
832
ephy_embed_prefs_add_embed (EphyEmbed *embed)
767
834
ephy_embed_prefs_apply (embed, webkit_settings);