mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-28 21:54:40 +03:00
LaunchServer+Base: Stop using Browser as default protocol handler
Browser supports very few protocols (http, https, gemini, file) at the moment, so there's no point in using it as a catch-all and default protocol handler. I added an explicit association for gemini to /bin/Browser instead. This stops Desktop::Launcher::open() from reporting success for any URL, which really isn't the case (Browser shows an error page...).
This commit is contained in:
parent
af007ce126
commit
bed240d4b3
Notes:
sideshowbarker
2024-07-19 00:38:52 +09:00
Author: https://github.com/linusg Commit: https://github.com/SerenityOS/serenity/commit/bed240d4b38 Pull-request: https://github.com/SerenityOS/serenity/pull/4517
@ -15,7 +15,7 @@ sheets=/bin/Spreadsheet
|
||||
*=/bin/TextEditor
|
||||
|
||||
[Protocol]
|
||||
irc=/bin/IRCClient
|
||||
gemini=/bin/Browser
|
||||
http=/bin/Browser
|
||||
https=/bin/Browser
|
||||
*=/bin/Browser
|
||||
irc=/bin/IRCClient
|
||||
|
@ -9,4 +9,4 @@ Category=Internet
|
||||
|
||||
[Launcher]
|
||||
FileTypes=html,htm,md
|
||||
Protocols=http,https
|
||||
Protocols=gemini,http,https
|
||||
|
@ -196,7 +196,7 @@ bool Launcher::open_url(const URL& url, const String& handler_name)
|
||||
if (url.protocol() == "file")
|
||||
return open_file_url(url);
|
||||
|
||||
return open_with_user_preferences(m_protocol_handlers, url.protocol(), url.to_string(), "/bin/Browser");
|
||||
return open_with_user_preferences(m_protocol_handlers, url.protocol(), url.to_string());
|
||||
}
|
||||
|
||||
bool Launcher::open_with_handler_name(const URL& url, const String& handler_name)
|
||||
@ -252,9 +252,11 @@ bool Launcher::open_with_user_preferences(const HashMap<String, String>& user_pr
|
||||
if (program_path.has_value())
|
||||
return spawn(program_path.value(), argument);
|
||||
|
||||
// Absolute worst case, try the provided default
|
||||
// Absolute worst case, try the provided default program, if any
|
||||
if (!default_program.is_empty())
|
||||
return spawn(default_program, argument);
|
||||
|
||||
return spawn(default_program, argument);
|
||||
return false;
|
||||
}
|
||||
|
||||
void Launcher::for_each_handler(const String& key, HashMap<String, String>& user_preference, Function<bool(const Handler&)> f)
|
||||
|
@ -72,7 +72,7 @@ private:
|
||||
void for_each_handler(const String& key, HashMap<String, String>& user_preferences, Function<bool(const Handler&)> f);
|
||||
void for_each_handler_for_path(const String&, Function<bool(const Handler&)> f);
|
||||
bool open_file_url(const URL&);
|
||||
bool open_with_user_preferences(const HashMap<String, String>& user_preferences, const String key, const String argument, const String default_program);
|
||||
bool open_with_user_preferences(const HashMap<String, String>& user_preferences, const String key, const String argument, const String default_program = {});
|
||||
bool open_with_handler_name(const URL&, const String& handler_name);
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user