Skip to content

Commit 6df8991

Browse files
authored
Update to webkigtk 6, revert Session authenticate stuff (#879)
1 parent 917e379 commit 6df8991

7 files changed

Lines changed: 21 additions & 29 deletions

File tree

meson.build

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ adw_dep = dependency('libadwaita-1')
1717
gtk_dep = dependency('gtk4')
1818
camel_dep = dependency('camel-1.2', version: '>= 3.28')
1919
libedataserver_dep = dependency('libedataserver-1.2', version: '>=3.45.1')
20-
libedataserverui_dep = dependency('libedataserverui4-1.0', version: '>= 3.45.1')
21-
webkit2_dep = dependency('webkit2gtk-5.0')
22-
webkit2_web_extension_dep = dependency('webkit2gtk-web-extension-5.0')
20+
libedataserverui_dep = dependency('libedataserverui4-1.0', version: '>= 3.46.4')
21+
webkit_dep = dependency('webkitgtk-6.0')
22+
webkit_web_extension_dep = dependency('webkitgtk-web-process-extension-6.0')
2323
folks_dep = dependency('folks')
2424
m_dep = meson.get_compiler('c').find_library('m')
2525

26-
webkit2_extension_path = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'webkit2')
26+
webkit_extension_path = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'webkit2')
2727

2828
dependencies = [
2929
glib_dep,
@@ -35,7 +35,7 @@ dependencies = [
3535
camel_dep,
3636
libedataserver_dep,
3737
libedataserverui_dep,
38-
webkit2_dep,
38+
webkit_dep,
3939
folks_dep,
4040
m_dep
4141
]
@@ -50,7 +50,7 @@ extension_dependencies = [
5050
glib_dep,
5151
gobject_dep,
5252
gee_dep,
53-
webkit2_web_extension_dep
53+
webkit_web_extension_dep
5454
]
5555

5656
add_global_arguments([

src/Backend/Session.vala

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -126,17 +126,9 @@ public class Mail.Backend.Session : Camel.Session {
126126
/* We need a password, preferrably one cached in
127127
* the keyring or else by interactive user prompt. */
128128

129-
try {
130-
var credentials_provider = new E.SourceCredentialsProvider (registry);
131-
E.NamedParameters out_credentials;
132-
credentials_provider.lookup_sync (source, cancellable, out out_credentials);
133-
bool out_authenticated;
134-
try_credentials_sync (credentials_provider, source, out_credentials, out out_authenticated, cancellable, service, mechanism);
135-
return out_authenticated;
136-
} catch (Error e) {
137-
critical (e.message);
138-
return false;
139-
}
129+
var credentials_prompter = new E.CredentialsPrompter (registry);
130+
credentials_prompter.set_auto_prompt (true);
131+
return credentials_prompter.loop_prompt_sync (source, E.CredentialsPrompterPromptFlags.ALLOW_SOURCE_SAVE, (prompter, source, credentials, out out_authenticated, cancellable) => try_credentials_sync (prompter, source, credentials, out out_authenticated, cancellable, service, mechanism));
140132
} else {
141133
return (result == Camel.AuthenticationResult.ACCEPTED);
142134
}
@@ -182,7 +174,7 @@ public class Mail.Backend.Session : Camel.Session {
182174
return success;
183175
}
184176

185-
public bool try_credentials_sync (E.SourceCredentialsProvider provider, E.Source source, E.NamedParameters credentials, out bool out_authenticated, GLib.Cancellable? cancellable, Camel.Service service, string? mechanism) throws GLib.Error {
177+
public bool try_credentials_sync (E.CredentialsPrompter prompter, E.Source source, E.NamedParameters credentials, out bool out_authenticated, GLib.Cancellable? cancellable, Camel.Service service, string? mechanism) throws GLib.Error {
186178
string credential_name = null;
187179

188180
if (source.has_extension (E.SOURCE_EXTENSION_AUTHENTICATION)) {
@@ -202,7 +194,7 @@ public class Mail.Backend.Session : Camel.Session {
202194
out_authenticated = (result == Camel.AuthenticationResult.ACCEPTED);
203195

204196
if (out_authenticated) {
205-
var credentials_source = provider.ref_credentials_source (source);
197+
var credentials_source = prompter.get_provider ().ref_credentials_source (source);
206198

207199
if (credentials_source != null) {
208200
credentials_source.invoke_authenticate_sync (credentials);

src/MessageList/MessageListItem.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
281281
margin_end = 12
282282
};
283283
web_view.mouse_target_changed.connect (on_mouse_target_changed);
284-
web_view.context_menu.connect (on_webview_context_menu);
284+
// web_view.context_menu.connect (on_webview_context_menu);
285285
web_view.load_finished.connect (() => {
286286
loaded = true;
287287
});

src/WebView.vala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public class Mail.WebView : WebKit.WebView {
3939
static construct {
4040
unowned WebKit.WebContext context = WebKit.WebContext.get_default ();
4141
unowned string? webkit_extension_path_env = Environment.get_variable ("WEBKIT_EXTENSION_PATH");
42-
context.set_web_extensions_directory (webkit_extension_path_env ?? WEBKIT_EXTENSION_PATH);
43-
context.set_sandbox_enabled (true);
42+
context.set_web_process_extensions_directory (webkit_extension_path_env ?? WEBKIT_EXTENSION_PATH);
43+
// context.set_sandbox_enabled (true);
4444

4545
context.register_uri_scheme ("cid", (req) => {
4646
WebView? view = req.get_web_view () as WebView;
@@ -67,12 +67,12 @@ public class Mail.WebView : WebKit.WebView {
6767
setts.enable_fullscreen = false;
6868
setts.enable_html5_database = false;
6969
setts.enable_html5_local_storage = false;
70-
setts.enable_java = false;
70+
// setts.enable_java = false;
7171
setts.enable_javascript = false;
7272
setts.enable_media_stream = false;
7373
setts.enable_offline_web_application_cache = false;
7474
setts.enable_page_cache = false;
75-
setts.enable_plugins = false;
75+
// setts.enable_plugins = false;
7676

7777
Object (settings: setts);
7878
}

src/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ executable(
3232
config_file,
3333
asresources,
3434
dependencies: dependencies,
35-
c_args: '-DWEBKIT_EXTENSION_PATH="' + webkit2_extension_path + '"',
35+
c_args: '-DWEBKIT_EXTENSION_PATH="' + webkit_extension_path + '"',
3636
install: true
3737
)

webkit-extension/Main.vala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717
* Authored by: David Hewitt <davidmhewitt@gmail.com>
1818
*/
1919

20-
namespace WebkitWebExtension {
20+
namespace WebkitWebProcessExtension {
2121
private static void on_page_created (WebKit.WebPage page) {
2222
var mail_page = new Mail.Page (page);
2323
// Make so that the Mail.Page is destroyed at the same time of the WebKit.WebPage
2424
page.set_data ("elementary-mail-page", (owned) mail_page);
2525
}
2626

27-
[CCode (cname = "G_MODULE_EXPORT webkit_web_extension_initialize", instance_pos = -1)]
28-
public void initialize (WebKit.WebExtension extension) {
27+
[CCode (cname = "G_MODULE_EXPORT webkit_web_process_extension_initialize", instance_pos = -1)]
28+
public void initialize (WebKit.WebProcessExtension extension) {
2929
extension.page_created.connect (on_page_created);
3030
}
3131
}

webkit-extension/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ shared_module('io.elementary.mail-webkit-extension',
77
extension_files,
88
dependencies: extension_dependencies,
99
install: true,
10-
install_dir: webkit2_extension_path
10+
install_dir: webkit_extension_path
1111
)
1212

0 commit comments

Comments
 (0)