The old function is actually being removed because it breaks
monitoring of page loading. It was only used internally so far.
Moreover a warning is now emitted when loading an URI before
adding a view to a browser.
All infobars are automatically removed if the location changes
or reloads now. The button arguments are dynamic. The infobar
look-alike is also closer to a real GtkInfoBar.
If one of two known root certificate files is available, we
enable certificate validation, otherwise a warning is emitted.
Not using validation means that we trust any certificate. We
should consider doing the opposite.
The new property MidoriView:security is set during load
and indicates the security status. midori_view_get_security can
be used to determine the status later on.
midori_location_action_set_security_hint is implemented to
present security status visually. For now, this only changes
the icon, we need to find a more visible solution.
MidoriBrowser updates the security hint for the current view in
_midori_browser_update_interface.
MidoriView is the only place where icons are and should be
loaded, elsewhere we just use cached icons.
midori_view_get_icon_uri allows distinguishing whether a view
has an icon or a default icon, and using the filename.
The preference determining where to open those windows
is not currently honored, so everything goes in a new tab.
Incidentally compile time checks guarding the web inspector
are replaced with runtime checks here, and the same
approach is used for the create-web-view signal. The
features are used if available.
We are not literally undoing in the sense of
reverting, this is actually about undoing
the individual parts of the last refactoring
that implemented the socket/ plug logic.
As turned out, the idea was nice but the
implementation was absolutely not, embedding
of processes in a graphical way is not
at all reliable enough for complex use cases.
Naturally this change should solve all sorts
of peculiar issues, including actual
regressions in functionality. Relieving.
The approach is rather plump, Midori can be
run in a plug mode that creates a GtkPlug,
while the normal instance knows how to embed it.
Communication between browser and tabs is
done via named pipes which are portable.
The feature is not complete right now, there
are expected regressions, but it works.
As a bonus, we implement Not found pages.