| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This should fix any crashes when determining if t->active is an active
input element or not. The pointer is from a function which returns
transfer none, so if we want to keep it alive (we do), we need
manually add reference to it, and unrefernce it so it is freed.
|
|
|
|
|
| |
This reorders some gtk calls and adds another to unset the text in the
GtkEntry before showing it.
|
|
|
|
|
| |
This prevents sites from even being able to correctly guess an xtp
session key.
|
|
|
|
| |
While here, kill a bunch of trailing whitespace.
|
|
|
|
|
|
| |
This adds the full url to the about:secviolation warning page, as well
as implementing a new link to show the local cached cert instead of
only the new remote one.
|
|
|
|
|
|
| |
We thought these were the cause of the focus bugs, but it was
something else instead. Now that we have that fixed, these can go
back in.
|
|
|
|
|
| |
We probably shouldn't be relying on internal gtk functions (especially
since we can't link to them on linux), so try this instead.
|
|
|
|
|
|
|
| |
Accidentally pushed a bunch of stuff to master that wasn't ready yet
when making the FreeBSD Makefile changes. Sorry marco for the merges
in the logs. This should revert everything back to how it was at
d397399c349d36f611a5aac6fa53528d2fe2eaea.
|
|
|
|
| |
window.
|
|
|
|
|
| |
keeps the toplevel window count from incrementing each time the arrow
is clicked.
|
|
|
|
|
|
|
|
|
| |
We need to hide t->cmd, t->oops, and t->buffers when creating a new
tab, because when the tab is switched to, they are automatically
hidden in the notebook callback. Removing this also prevents focusing
the url GtkEntry when using middle click to create a new tab, since
t->focus_wv would not have been set to 1 yet in the create_new_tab()
function.
|
|
|
|
|
|
| |
Whenever t->cmd is hidden we need to make a decision about what to
focus (in most cases, the webview). Before this may not have always
happened if t->cmd was hidden and no focus was explicitly set.
|
|
|
|
|
|
|
|
| |
This change modifies the paste_uri function to change all newlines in
the uri with spaces. This stops the new tab from expanding to twice
it's correct height when using the P command, if pasting a link that
contains any newlines (usually these would come from copying the
newline out of a terminal).
|
| |
|
|
|
|
|
|
|
| |
It was likely something from one of these changes that introduced all
of our focus bugs. We can reintroduce these commits again, much
slower than as I first developed them, and see if the focus issues
still appear.
|
|
|
|
|
|
| |
change runtime settings. Settings that have been modified show in a
highlighted color in the table. Tooltips describe the setting's
function, as well as the default values.
|
|
|
|
|
|
| |
widgets that should not be receiving focus, and try focusing the HTML
body to try to prevent some of the focus bugs that have been popping
up. No idea if this will solve our problems but they can't hurt.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
whitelist settings) to make all requests to that domain use the HTTPS
scheme, similar to HSTS.
Install a new file, hsts-preload, into the resource dir. This is a
regular config file with a bunch of force_https = ... lines, which is
used to implement a preloaded HSTS list. Right now all the domains in
this file, except for conformal.com and cyphertite.com, are taken
directly from chromium's preloaded HSTS list (and should be synced
with this file every so often). Also implement a new setting,
preload_strict_transport (enabled by default), to enable or disable
the loading of this preloaded HSTS list. Document force_https and
preload_strict_transport in the manpage.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
with show_oops, and document how donothing behaves in the manpage and
example conf.
|
| |
|
| |
|
|
|
|
|
| |
enable_strict_transport is set. Before, if referer_mode was set to
XT_REFERER_ALWAYS, this code would never be run. Found by dhill.
|
|
|
|
|
|
|
| |
invisible on windows, and add some additional inline CSS hacks for
Windows into the source to beautify the tabs a bit. With this change,
we should be ready to re-enable the default windows gtk3 theme instead
of disabling user themes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when the spinner is shown. Doing this in a way so that the text
doesn't bounce around when the spinner is shown and hidden requires a
ugly ugly hack of giving the label a fixed size instead of letting the
GtkBox give it an appropiate width, but afaik this isnecessary (and
the old gtk2 code was using the same hack).
While in here, give the Arrow name to the arrow button itself and not
the GtkArrow it holds, and remove the .button#Arrow CSS as we don't
want to remove the border from this button, only the tab close and
fancy_bar buttons.
|
|
|
|
|
|
|
|
|
|
| |
widgets (with the exception of the uri, we need this for the
progressbar). Because labels only take up as much room as they need,
the statusbar elements now dynamically fit together in a GtkBox
instead of giving GtkEntry a fixed size. Because the background color
of labels can not be colored directly, place a GtkEventBox underneath
the packing GtkBox (which is also transparent) and color that when
changing the colors for HTTPS sites.
|
|
|
|
|
|
|
|
|
|
|
|
| |
be immediatelly shown due to fancy_bar = 0 or an empty search_string.
We need these to be created in case they are shown again by changing
these gui settings at runtime later. This also prevents a lot of
Gtk-CRITICAL warnings due to trying to set various widgets active or
inactive based on the current page status (for example, stop and the
js toggle button).
While here, kill some useless boxes around both the uri and search
entries in the toolbar.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly in GTK3, maybe it was turned into a windowless widget) and
instead use a GtkEventBox behind the compact tab bar. Give this
GtkEventBox the same background color as the old separator, and put a
2 pixel spacing gap between each compact tab. This simplifies the
code required to paint these separators, and works for both GTK2 and
GTK3.
* * *
Call gtk_label_set_ellipsize() on the compact tab labels. This
prevents the main window from forcefully expanding when there's not
enough room for all of the compact tab labels.
|
|
|
|
| |
warning to about:startpage. While in here, clean up some #ifdefs.
|
|
|
|
|
| |
(keep current behavior) for gui_mode = normal, and disable for
gui_mode = minimal. Requires GTK3.
|
| |
|
|
|
|
|
|
| |
and p work with CLIPBOARD in addition to PRIMARY. Yanking copies to
both, and pasting tries PRIMARY first, and if empty, reads from
CLIPBOARD. This should make y/p/P work on windows.
|
| |
|
| |
|
|
|
|
|
| |
give each t->vbox the "vbox" name, which is then used to style .entry
classes that are direct descendants.
|
|
|
|
|
|
| |
improve coloring when using other invasive GTK3 themes. The URI bar
should now be colored correctly, unless explicitly overridden in a
user theme.
|
|
|
|
|
|
| |
GTK2 is still supported. To build against GTK2, use:
$ GTK_VERSION=gtk2 make
|
|
|
|
|
|
|
|
|
| |
text in the text box and seeing if it's any different from the new
text before attempting to enter command mode. Before, there was only
a check to see if there was any text. This also only sets t->active
if it is not NULL, so only the page's default text entry box is ever
used when entering insert_mode, instead of the last text box that was
typed into.
|
|
|
|
|
|
| |
This restores the prior GUI behavior. Hide the asynchronous download
complete message behind the download_notifications setting which is
disruptive and racy.
|
|
|
|
| |
a format string actualy has something to print.
|
| |
|
| |
|
| |
|
| |
|