Skip to content

Commit 2a740ff

Browse files
committed
Add run_message_loop and shutdown
1 parent 03d96f7 commit 2a740ff

4 files changed

Lines changed: 49 additions & 37 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# cef-rs changelog
22

33
- Update crate documentation.
4+
- Add `run_message_loop` adn `shutdown`
45

56
## 117.2.6
67

examples/demo.rs

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -32,38 +32,39 @@ impl WindowDelegate for DemoWindow {
3232
}
3333

3434
fn main() {
35-
unsafe {
36-
let args = Args::new(std::env::args());
37-
// dbg!(&args);
38-
let app = Application;
39-
dbg!(cef::execute_process(&args, Some(app)));
35+
let args = Args::new(std::env::args());
36+
// dbg!(&args);
37+
let app = Application;
38+
dbg!(cef::execute_process(&args, Some(app)));
4039

41-
let settings = Settings::new();
42-
dbg!(cef::initialize(&args, settings, Some(app)));
40+
let settings = Settings::new();
41+
dbg!(cef::initialize(&args, settings, Some(app)));
4342

44-
let window_info = WindowInfo::new();
45-
let browser_settings = BrowserSettings::new();
46-
let client = DemoClient;
47-
let url = CefString::new("https://www.google.com");
43+
let window_info = WindowInfo::new();
44+
let browser_settings = BrowserSettings::new();
45+
let client = DemoClient;
46+
let url = CefString::new("https://www.google.com");
4847

49-
// let browser_view = dbg!(cef::create_browser_view(
50-
// Some(client),
51-
// url,
52-
// browser_settings
53-
// ));
54-
// let delegate = DemoWindow {
55-
// browser_view,
56-
// window: None,
57-
// };
58-
// dbg!(cef::create_top_level_window(delegate));
48+
// let browser_view = dbg!(cef::create_browser_view(
49+
// Some(client),
50+
// url,
51+
// browser_settings
52+
// ));
53+
// let delegate = DemoWindow {
54+
// browser_view,
55+
// window: None,
56+
// };
57+
// dbg!(cef::create_top_level_window(delegate));
5958

60-
dbg!(cef::create_browser(
61-
window_info,
62-
Some(client),
63-
url,
64-
browser_settings
65-
));
59+
dbg!(cef::create_browser(
60+
window_info,
61+
Some(client),
62+
url,
63+
browser_settings
64+
));
6665

67-
cef_sys::cef_run_message_loop();
68-
}
66+
cef::run_message_loop();
67+
68+
cef::shutdown();
69+
dbg!(1);
6970
}

src/app.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use cef_sys::{cef_app_t, cef_command_line_t, cef_execute_process, cef_initialize, cef_string_t};
1+
use cef_sys::{cef_app_t, cef_command_line_t, cef_execute_process, cef_initialize, cef_string_t, cef_shutdown, cef_run_message_loop};
22

33
use crate::{
44
args::Args, command_line::CommandLine, rc::RcImpl, settings::Settings, string::CefString,
@@ -42,6 +42,16 @@ pub fn initialize<T: App>(args: &Args, settings: Settings, app: Option<T>) -> bo
4242
unsafe { cef_initialize(&args, settings, app, std::ptr::null_mut()) == 1 }
4343
}
4444

45+
/// See [cef_run_message_loop] for more documentation.
46+
pub fn run_message_loop() {
47+
unsafe { cef_run_message_loop() }
48+
}
49+
50+
/// See [cef_shutdown] for more documentation.
51+
pub fn shutdown() {
52+
unsafe { cef_shutdown() }
53+
}
54+
4555
extern "C" fn on_before_command_line_processing<I: App>(
4656
this: *mut cef_app_t,
4757
process_type: *const cef_string_t,

src/lib.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ pub mod string;
8888
mod view;
8989
mod window;
9090

91-
pub use app::{execute_process, initialize, App};
92-
pub use browser::{create_browser, create_browser_view, BrowserSettings, BrowserView};
93-
pub use command_line::CommandLine;
94-
pub use panel::{Panel, PanelDelegate};
95-
pub use settings::Settings;
96-
pub use view::{View, ViewDelegate};
97-
pub use window::{create_top_level_window, Window, WindowDelegate, WindowInfo};
91+
pub use app::*;
92+
pub use browser::*;
93+
pub use command_line::*;
94+
pub use panel::*;
95+
pub use settings::*;
96+
pub use view::*;
97+
pub use window::*;
9898

9999
pub type LogSeverity = cef_sys::cef_log_severity_t;
100100
pub type LogItems = cef_sys::cef_log_items_t;

0 commit comments

Comments
 (0)