Age | Commit message (Collapse) | Author |
|
The `SoupURI` interface has been deprecated in libsoup 3.0 in favor of
`GUri`, which is part of glib 2.66 and newer. Convert the codebase to
use the latter.
|
|
Remove the unused code contained in "js.c" and its header file. The
functionality has been replaced by utility functions in "util.c".
|
|
When FEATURE_NO_XEMBED is defined then we don't support using the Xembed
interface, which will cause us to set the `VIMB_XID` envvar. With
55fb9cc (Add new env VIMB_WIN_ID to hold the gtk window id., 2021-01-25)
a related feature was added that causes us to expose the Gtk window ID
via the `VIMB_WIN_ID` environment variable. This feature also depends on
X-specific information because it uses `GDK_WINDOW_XID()` to derive the
window ID. This change thus broke Wayland-only environments.
Fix compilation by extending the `ifdef` to guard the logic that both
sets the `VIMB_XID` and the `VIMB_WIN_ID`.
|
|
Use a more flexible way to specify how the setting flags are shown on
statusbar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #658.
|
|
Fixes #652
|
|
|
|
|
|
|
|
Do not store all files in XDG_CONFIG_HOME.
|
|
|
|
|
|
|
|
The % is often used in urls and in case of the x-hint-command those are
feed to :shellcmd and will be replaced by current URL. This made the
x-hint-command unusable on some search engines.
The expansion of % to the current URL also required to give the current
browser state to the expansion logic and to feed it to all callers of
this too. This bloated the code.
This patch removes the % expansion which was a redundant alternative to
$VIMB_URI.
|
|
|
|
The 'permission-request' return value is only used to identify if the
callback made a decision or not.
|
|
|
|
This setting lets users automatically reject/allow geolocation access.
The default is to ask every time, like before.
|
|
The first autocommand event that is being triggered when loading a
website is the "LoadStarted" event. LoadStarted gets triggered when the
web view has started loading of the page, notably after the initial
request has been sent. Thus, this event comes too late to change
settings that would modify the initial request, like e.g. the user
agent.
Implement a new event LoadStarting that triggers immediately before
performing the initial load and thus before LoadStarted. As WebKit does
not provide any signal for this, we have to manually trigger this event
when executing any load or navigation actions. The best place to
piggy-back on WebKit itself is in fact `decide_navigation_action`, which
will get executed on clicks, history navigation and `load_uri`. Like
this, there is only a single location that needs to trigger the new
event.
This change enables one to modify configuration like the user agent for
certain websites, which was not possible with "LoadStarted".
|
|
Also removed obsolete 'private-browsing' setting.
|
|
Fix crash with message "free(): invalid next size (fast)" when a new
instance was spawned.
|
|
|
|
|
|
If vimb is started with --ephemeral option no files are created by
default and no persistent cookie manager is used.
|
|
Thank to Valérian Rousset for pointing this out. Also change the
until_sanitize_uri function to return given uri in case an error occurred
during sanitization process to reduce cases where this function returns
NULL.
|
|
|
|
Added 'download-command' setting to configure a command/script that
handles the download of an uri. With the new setting flag
'download-use-external' can be decided if the external download command
is used to download an uri or the built in downloader.
|
|
|
|
Do not emit fake signal to show the current hovered url from hinting
shown on the left of the statusbar. Instead call a function which writes
the url to the statusbar.
|
|
Use this function for shown url for IDN homograph mitigation.
|
|
Added setting 'prevent-newwindow' to enforce opening links into same
window even if they are crafted by `target="_blank"` or using
`window.open()`.
This option does not change the behaviour for links fired by hinting.
|
|
Also make always a decision.
|
|
|
|
|
|
|
|
If JavaScript calls element.webkitRequestFullScreen webkit switches vimb
into full screen mode. But the statusbar and the input box where still
shown. So now vimb hides the statusbar and the input box to allow videos
to be show on the whole screen.
|
|
|
|
Remove the mode arguments from util_file_prepend_line(),
util_file_pop_line() and util_file_set_content().
Both util_file_prepend_line() and util_file_pop_line() just calls
util_file_set_content() so stat(2) can be used there and if it
fails the 0600 is used as a fallback.
Thanks to @fanglingsu for reviews and suggestions!
|
|
The g_file_set_contents performs atomic write to file by creating a
temporary file, writing to it and renaming it. But during the creation
of the temporary file, the mode is set hard to 0666. So our files will
silently always change their mode in case we processed their content.
This patch adds the util_file_set_content() function which follows the
same approach, but allows to set the mode that is used to create the
temporary file. So the file is created with the right permissions.
|
|
Add a mode argument to util_get_filepath() in order to adjust file
permissions when creating file. Adjust all util_get_filepath()
call and file permissions making them readable and writable only
by the user.
|
|
Not sure if this changes anything, but it's a good choice to setup the
server before telling webkit where to look for webextensions.
|