mirror of
https://github.com/servo/servo.git
synced 2025-09-27 07:10:19 +01:00
Screenshots for tests are taken in headless mode now, in which case the window does not show up Dock.app. In addition, servoshell now supports taking a screenshot in headed mode, in which case one can keep using the browser after the screenshot happens. Hiding the window makes this impossible. Given these two things, it seems that this functionality isn't necessary any longer. Testing: It's difficult to test this kind of system integration with servoshell. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
47 lines
1.6 KiB
Rust
47 lines
1.6 KiB
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
use std::{env, panic};
|
|
|
|
use crate::desktop::app::App;
|
|
use crate::desktop::events_loop::EventsLoop;
|
|
use crate::panic_hook;
|
|
use crate::prefs::{ArgumentParsingResult, parse_command_line_arguments};
|
|
|
|
pub fn main() {
|
|
crate::crash_handler::install();
|
|
crate::init_crypto();
|
|
crate::resources::init();
|
|
|
|
// TODO: once log-panics is released, can this be replaced by
|
|
// log_panics::init()?
|
|
panic::set_hook(Box::new(panic_hook::panic_hook));
|
|
|
|
let args = env::args().collect();
|
|
let (opts, preferences, servoshell_preferences) = match parse_command_line_arguments(args) {
|
|
ArgumentParsingResult::ContentProcess(token) => return servo::run_content_process(token),
|
|
ArgumentParsingResult::ChromeProcess(opts, preferences, servoshell_preferences) => {
|
|
(opts, preferences, servoshell_preferences)
|
|
},
|
|
ArgumentParsingResult::Exit => {
|
|
std::process::exit(0);
|
|
},
|
|
ArgumentParsingResult::ErrorParsing => {
|
|
std::process::exit(1);
|
|
},
|
|
};
|
|
|
|
crate::init_tracing(servoshell_preferences.tracing_filter.as_deref());
|
|
|
|
let clean_shutdown = servoshell_preferences.clean_shutdown;
|
|
let event_loop =
|
|
EventsLoop::new(servoshell_preferences.headless).expect("Failed to create events loop");
|
|
|
|
{
|
|
let mut app = App::new(opts, preferences, servoshell_preferences, &event_loop);
|
|
event_loop.run_app(&mut app);
|
|
}
|
|
|
|
crate::platform::deinit(clean_shutdown)
|
|
}
|