Skip to content

Commit f58c66e

Browse files
Bump jni from 0.19.0 to 0.21.1 in /native (#131)
* Bump jni from 0.19.0 to 0.21.1 in /native Bumps [jni](https://github.com/jni-rs/jni-rs) from 0.19.0 to 0.21.1. - [Release notes](https://github.com/jni-rs/jni-rs/releases) - [Changelog](https://github.com/jni-rs/jni-rs/blob/master/CHANGELOG.md) - [Commits](jni-rs/jni-rs@v0.19.0...v0.21.1) --- updated-dependencies: - dependency-name: jni dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * Revert "Revert "Bump jni from 0.19.0 to 0.21.1 in /native (#26)" (#130)" This reverts commit 0fdc27c. * change into_inner to into_raw --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Quang Truong <[email protected]>
1 parent 90c0d14 commit f58c66e

File tree

18 files changed

+193
-123
lines changed

18 files changed

+193
-123
lines changed

native/Cargo.lock

Lines changed: 70 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

native/chromium/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ crate-type = ["rlib"]
99
[dependencies]
1010
chromium_jni_utils = { path = "../chromium_jni_utils/" }
1111
chromium_jni_macro = { path = "../chromium_jni_macro/" }
12-
jni = "0.19.0"
12+
jni = "0.21.1"
1313
winapi = { version = "0.3.9", features = ["winuser", "libloaderapi"] }
1414

1515
[features]

native/chromium/build.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,4 +193,5 @@ fn generator(cef_path: std::path::Display) -> bindgen::Builder {
193193
.raw_line("use jni::objects::GlobalRef;")
194194
.raw_line("use jni::objects::JObject;")
195195
.raw_line("use chromium_jni_utils::jni_unwrap;")
196+
.raw_line("use std::ops::DerefMut;")
196197
}

native/chromium/src/cef/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use crate::ToJava;
1616
use jni::objects::GlobalRef;
1717
use jni::objects::JObject;
1818
use chromium_jni_utils::jni_unwrap;
19+
use std::ops::DerefMut;
1920
pub mod win;
2021
pub use self::win::_cef_window_info_t;
2122
pub use self::win::_cef_main_args_t;

native/chromium/src/cef/win.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use crate::ToJava;
1616
use jni::objects::GlobalRef;
1717
use jni::objects::JObject;
1818
use chromium_jni_utils::jni_unwrap;
19+
use std::ops::DerefMut;
1920
use crate::cef::cef_string_t;
2021

2122
pub type DWORD = ::std::os::raw::c_ulong;

native/chromium/src/lib.rs

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ use jni::objects::JValue;
1616
use jni::JNIEnv;
1717

1818
impl FromJavaMember for cef::cef_base_ref_counted_t {
19-
fn from_java_member(env: JNIEnv, object: JObject, name: &str) -> cef::cef_base_ref_counted_t {
19+
fn from_java_member(
20+
env: &mut JNIEnv,
21+
object: &JObject,
22+
name: &str,
23+
) -> cef::cef_base_ref_counted_t {
2024
let obj = env
2125
.get_field(
2226
object,
@@ -26,114 +30,114 @@ impl FromJavaMember for cef::cef_base_ref_counted_t {
2630
.unwrap()
2731
.l()
2832
.unwrap();
29-
FromJava::from_java(env, obj)
33+
FromJava::from_java(env, &obj)
3034
}
3135
}
3236

3337
/// Allows constructing an object from a Java object
3438
pub trait ToJava<'a> {
3539
/// Constructs `Self` from the JNI object `object`
36-
fn to_java(_env: JNIEnv<'a>, value: Self) -> JValue<'a>;
40+
fn to_java(_env: &JNIEnv<'a>, value: Self) -> JValue<'a, 'a>;
3741
}
3842

3943
impl<'a, T> ToJava<'a> for *mut T {
40-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
44+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
4145
JValue::Long(value as i64)
4246
}
4347
}
4448
impl<'a, T> ToJava<'a> for *const T {
45-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
49+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
4650
JValue::Long(value as i64)
4751
}
4852
}
4953

5054
impl<'a> ToJava<'a> for i32 {
51-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
55+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
5256
JValue::Int(value)
5357
}
5458
}
5559

5660
impl<'a> ToJava<'a> for usize {
57-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
61+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
5862
JValue::Long(value.try_into().unwrap())
5963
}
6064
}
6165
impl<'a> ToJava<'a> for i64 {
62-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
66+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
6367
JValue::Long(value)
6468
}
6569
}
6670
impl<'a> ToJava<'a> for f64 {
67-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
71+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
6872
JValue::Double(value)
6973
}
7074
}
7175

7276
impl<'a> ToJava<'a> for cef::cef_process_id_t {
73-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
77+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
7478
JValue::Int(unsafe { std::mem::transmute(value) })
7579
}
7680
}
7781
impl<'a> ToJava<'a> for cef::cef_cursor_type_t {
78-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
82+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
7983
JValue::Int(unsafe { std::mem::transmute(value) })
8084
}
8185
}
8286
impl<'a> ToJava<'a> for cef::cef_errorcode_t {
83-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
87+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
8488
JValue::Int(unsafe { std::mem::transmute(value) })
8589
}
8690
}
8791
impl<'a> ToJava<'a> for cef::cef_transition_type_t {
88-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
92+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
8993
JValue::Int(unsafe { std::mem::transmute(value) })
9094
}
9195
}
9296

9397
impl<'a> ToJava<'a> for cef::cef_window_open_disposition_t {
94-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
98+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
9599
JValue::Int(unsafe { std::mem::transmute(value) })
96100
}
97101
}
98102

99103
impl<'a> ToJava<'a> for cef::cef_log_severity_t {
100-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
104+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
101105
JValue::Int(unsafe { std::mem::transmute(value) })
102106
}
103107
}
104108

105109
impl<'a> ToJava<'a> for cef::cef_event_flags_t {
106-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
110+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
107111
JValue::Int(unsafe { std::mem::transmute(value) })
108112
}
109113
}
110114

111115
impl<'a> ToJava<'a> for cef::cef_termination_status_t {
112-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
116+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
113117
JValue::Int(unsafe { std::mem::transmute(value) })
114118
}
115119
}
116120

117121
impl<'a> ToJava<'a> for cef::cef_focus_source_t {
118-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
122+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
119123
JValue::Int(unsafe { std::mem::transmute(value) })
120124
}
121125
}
122126

123127
impl<'a> ToJava<'a> for cef::cef_jsdialog_type_t {
124-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
128+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
125129
JValue::Int(unsafe { std::mem::transmute(value) })
126130
}
127131
}
128132

129133
impl<'a> ToJava<'a> for cef::cef_quick_menu_edit_state_flags_t {
130-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
134+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
131135
JValue::Int(unsafe { std::mem::transmute(value) })
132136
}
133137
}
134138

135139
impl<'a> ToJava<'a> for cef::cef_preferences_type_t {
136-
fn to_java(_env: JNIEnv, value: Self) -> JValue<'a> {
140+
fn to_java(mut _env: &JNIEnv, value: Self) -> JValue<'a, 'a> {
137141
JValue::Int(unsafe { std::mem::transmute(value) })
138142
}
139143
}

native/chromium_jni/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version = "1.0.0"
44
edition = "2021"
55

66
[dependencies]
7-
jni = "0.19.0"
7+
jni = "0.21.1"
88
chromium = { path = "../chromium/" }
99
chromium_swt = { path = "../chromium_swt/" }
1010
chromium_jni_macro = { path = "../chromium_jni_macro/" }

native/chromium_jni/src/allocate.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ use jni::JNIEnv;
1919
macro_rules! jni_allocate {
2020
($name:tt, $type:ty) => {
2121
#[jni_name($name, $type)]
22-
pub extern "C" fn allocate(env: JNIEnv, _class: JClass, object: JObject) -> jlong {
23-
let object: JNIWrapperType<$type> =
24-
JNICEFCallback::jni_allocate(env, env.new_global_ref(object).unwrap());
22+
pub extern "C" fn allocate(env: JNIEnv, _class: JClass, object: &JObject) -> jlong {
23+
let global_ref = env.new_global_ref(object).unwrap();
24+
let object: JNIWrapperType<$type> = JNICEFCallback::jni_allocate(env, global_ref);
2525
return Box::into_raw(Box::new(object)) as jlong;
2626
}
2727
};
@@ -32,7 +32,7 @@ macro_rules! jni_deallocate {
3232
($name:tt, $type:ty) => {
3333
#[jni_name($name, $type)]
3434
pub extern "C" fn deallocate(
35-
_env: JNIEnv,
35+
mut _env: JNIEnv,
3636
_class: JClass,
3737
object: *mut chromium::cef::_cef_display_handler_t,
3838
) {

native/chromium_jni/src/swt_wrapper.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ use jni::JNIEnv;
1212

1313
#[no_mangle]
1414
pub extern "C" fn Java_org_eclipse_set_browser_lib_ChromiumLib_memmove__Lorg_eclipse_set_browser_lib_cef_1popup_1features_1t_2J(
15-
env: JNIEnv,
15+
mut env: JNIEnv,
1616
_class: JClass,
17-
destination: JObject,
17+
destination: &JObject,
1818
source: *mut chromium::cef::_cef_popup_features_t,
1919
) {
2020
let source_object = unsafe { *source };
@@ -53,10 +53,10 @@ pub extern "C" fn Java_org_eclipse_set_browser_lib_ChromiumLib_memmove__Lorg_ecl
5353

5454
#[no_mangle]
5555
pub extern "C" fn Java_org_eclipse_set_browser_lib_ChromiumLib_cefswt_1function_1id(
56-
_env: JNIEnv,
56+
mut _env: JNIEnv,
5757
_class: JClass,
5858
arg0: jlong,
59-
arg1: JObject,
59+
arg1: &JObject,
6060
) {
6161
// IMPROVE: Avoid creating this object here
6262
let mut func_st = chromium_swt::FunctionSt {

native/chromium_jni_macro/src/derive_from_java_impl.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ pub fn derive_from_java_impl(tokens: TokenStream) -> TokenStream {
3838

3939
let modified = quote! {
4040
impl FromJava for #name {
41-
fn from_java(env: JNIEnv, object: JObject) -> #name {
41+
fn from_java(env: &mut JNIEnv, object: &JObject) -> #name {
4242
return #name {
4343
#(#query_parts, )*
4444
};

0 commit comments

Comments
 (0)