Quentin Rameau
fef80cd56c
Un(g)boolify to separate GTK dependant code from the rest
2015-11-22 02:03:26 +01:00
Quentin Rameau
6124176b89
Use char instead of gchar and make them const when possible
2015-11-22 01:52:13 +01:00
Quentin Rameau
11fa5a7a4d
Style update for indentation
2015-11-22 01:42:34 +01:00
Quentin Rameau
954a718197
Add mouse function to play medias in external player
...
Control + left click launches mpv with the target media url.
2015-11-21 19:53:29 +01:00
Quentin Rameau
bc46e954f2
Style change in includes order
2015-11-21 19:22:11 +01:00
Quentin Rameau
432f3c6b53
Style change in functions ordering
...
Try to group and order functions in a logical manner.
Same thing for config keybindings.
2015-11-21 19:14:08 +01:00
Quentin Rameau
7e9a85a5cb
Cleanup remaining unused variables and copystr()
2015-11-20 17:42:25 +01:00
Quentin Rameau
adc650f399
Adapt newwindow()
...
Reorder cmdline options alphabetically and try to keep settings as they
have been toggled in this surf client.
2015-11-20 17:39:45 +01:00
Quentin Rameau
5bca222339
Adapt user agent handling
...
Now we can only append Surf version to the default WebKit user agent
instead of setting the whole string (while this remains possible to do).
2015-11-20 17:12:00 +01:00
Quentin Rameau
e6cefa584e
Adapt updatetitle()
...
Now always show loading progress, still print mouse over link uri before
page uri. Process simplyfied because we use const strings.
2015-11-20 16:59:15 +01:00
Quentin Rameau
b5096b1c8f
Adapt toggle statistics
...
Rename *togglestat to plural *togglestats, add frame flatenning
indicator, resize array in consequence.
Use a static index instead of a dynamic one as we always use all values
anyway.
2015-11-20 16:53:52 +01:00
Quentin Rameau
690118133d
Adapt page statistics
...
Rename *pagestat to plural *pagestats, and resize array to reflect
missing proxy parameter.
2015-11-20 16:48:18 +01:00
Quentin Rameau
84611a5d29
Adapt loaduri()
...
Better handling of different URIs. Filter out “about:” scheme, dont
touch URI if it contains a complete scheme (we assume "://", denotes
one), else test if given path is an actual reachable file on the
filesystem, else prepend arbitrary http:// scheme.
2015-11-20 16:39:53 +01:00
Quentin Rameau
2d1e422368
Rename mouse functions to clickFUNCTION()
2015-11-20 16:27:02 +01:00
Quentin Rameau
82abf5154f
Adapt toggle(), clean some config parameters
...
Regroup all toggles in an enum and handle them with a unique function
via a switch. That lets us take different actions for each toggle.
Add a frame flatenning and a dns preteching options.
2015-11-20 15:48:04 +01:00
Quentin Rameau
526b974c33
Adapt find()
...
Slightly new behaviour: searching again for the same string (via MOD+/)
resets the search (ie restarts search from document top).
Searching for an empty string stops the search (ie all highlights are
removed).
2015-11-20 01:12:28 +01:00
Quentin Rameau
320e4e4388
Adapt zoom()
2015-11-20 01:03:32 +01:00
Quentin Rameau
acec16e685
Adapt navigate()
2015-11-20 01:00:38 +01:00
Quentin Rameau
42fdc77f5e
Remove togglescrollbars()
...
We do not have access to scrollbars and will have to manipulate DOM to
do that.
2015-11-20 00:58:14 +01:00
Quentin Rameau
a53dc90171
Adapt scrolling
...
In fact, we have a scrolling handle ersatz for now using JavaScript
calls as we don't have access anymore to scrollbars.
We'll have to manipulate the DOM directly (later).
2015-11-20 00:53:14 +01:00
Quentin Rameau
c4f01cd18b
Adapt inspector handling
...
The inspector is now easily manageable via API, there's no need for
keeping its state in the Client.
2015-11-20 00:46:11 +01:00
Quentin Rameau
0b5b798eb2
Adapt print()
2015-11-20 00:34:23 +01:00
Quentin Rameau
2c2a7b608e
Simplify building of stylefiles path
...
We can directly use style file pointers instead of using temporary
string pointers.
2015-11-20 00:34:22 +01:00
Quentin Rameau
ba8617e4ee
Adapt setstyle()
...
We can't anymore pass a simple path to a stylefile, we have to read the
entire file to create a stylesheet and apply it to the view.
2015-11-20 00:34:22 +01:00
Quentin Rameau
701815a5f2
Adapt clipboard()
...
Replace linkhover with target uri and add some comments
2015-11-20 00:34:22 +01:00
Quentin Rameau
d6794e0d75
Rename fullscreen() to togglefullscreen()
...
And handle c->fullscreen value in winevent(). This way we keep track of
fullscreen state even if we did not directly initiate the fullscreen.
2015-11-20 00:34:22 +01:00
Quentin Rameau
b4e78555d0
Replace titlechangeleave() with catch-all winevent()
...
All GtkWidget events have the same function prototype with the generic
GdkEvent as parameter. This will let us handle everything in the switch.
2015-11-20 00:34:22 +01:00
Quentin Rameau
d9cecc8932
Adapt JavaScript functions
...
Removed eval(), evalscript() is now sufficient and can directly execute
passed JavaScript string.
2015-11-20 00:34:22 +01:00
Quentin Rameau
72905b8bfc
Remove windowobjectcleared(), execute scripts on load finished
...
The “window-object-cleared” signal is not directly accessible for
specific WebViews now. We'll have to use an Extension or rewrite the
JavaScript running functions.
2015-11-20 00:34:22 +01:00
Quentin Rameau
bb1fc4195f
Add createwindow() for GtkWindow creation
...
Move there window creation from showview().
2015-11-20 00:34:22 +01:00
Quentin Rameau
2e1fb87361
Add closeview() for JavaScript window closing
...
Simply call gtk_widget_destroy() on the window. Then GtkWindow closing
process will take care of the rest.
2015-11-20 00:34:21 +01:00
Quentin Rameau
04d46d1791
Remove (delete :>) deletion_interface()
2015-11-20 00:34:21 +01:00
Quentin Rameau
76940a9ab5
Integrate beforerequest() into decidepolicy()
2015-11-20 00:34:21 +01:00
Quentin Rameau
d542773e75
Remove contextmenu() and menuactivate() for "context-menu" signal
...
Those were added because “right click menu to copy the link URI will now
work” (would not work) in 2013. It's been a while since that works without
intervention.
2015-11-20 00:34:21 +01:00
Quentin Rameau
f6a35e5fbf
Adapted buttonrelease()
...
Use the current hit test (c->mousepos) to determine where the mouse
pointer is.
It is possible to link an action to a click and still propagate the
event after that by setting the “stop event” parameter of a Button to 0.
2015-11-20 00:34:21 +01:00
Quentin Rameau
96188f83f0
Replace initdownload() and intercept global download requests.
...
Attach to download requests on WebKitContext, this way we can easily
manage all types of downloads (coming from views or not).
2015-11-20 00:34:21 +01:00
Quentin Rameau
26a2dbac65
Adapted progresschanged()
2015-11-20 00:34:21 +01:00
Quentin Rameau
58c4e18975
Manage ssl errors with GTlsCertificateFlags
...
Keep a GTlsCertificateFlags in Client for TLS errors.
If we don't use a ssl connection, set it to a value greater than maximum
error flag value (which is G_TLS_CERTIFICATE_VALIDATE_ALL for all
possible errors).
2015-11-20 00:34:20 +01:00
Quentin Rameau
e9ec482049
Replace loadstatuschanged() with loadchanged()
2015-11-20 00:34:20 +01:00
Quentin Rameau
bce814b30a
Replace decidewindow() and decidedownload() with decidepolicy()
...
Now all the requests are triggered by one signal.
We then handle each type, resource download, navigation, newwindow, in
separate functions.
2015-11-20 00:34:20 +01:00
Quentin Rameau
1f99df029c
Replace createwindow() with createview()
...
We can now perform some filtering before opening a new view (window)
when requested by JavaScript (either random or by a click).
2015-11-20 00:34:20 +01:00
Quentin Rameau
92d7ba7ed8
Replace geopolicyrequested() with permissionrequested()
...
The permission-request signal can now ask for than a geolocation
authorisation (though we only handle that for now).
2015-11-20 00:34:20 +01:00
Quentin Rameau
42c6c90366
Replace linkhover() with mousetargetchanged()
...
The “linkhover” can now be more than a simple link (image, video, etc.).
As we can't anymore perform a hit test when we want, we have to keep the
last known hit test to be able to know where the mouse is on the next
click event.
2015-11-20 00:34:20 +01:00
Quentin Rameau
b9530ad5d1
Modify the context name of the hit tests
...
These relate more to the position of the pointer when an event occurs.
2015-11-20 00:34:20 +01:00
Quentin Rameau
60f574e4b7
Adapted titlechange()
...
Do not copy title strings, just carry over the const pointer.
2015-11-20 00:34:20 +01:00
Quentin Rameau
0f3e3bf669
Move all necessary initialisation to newview()
...
Most all the settings and callbacks are set before view creation.
Create a related view (with inherited settings) if asked to.
2015-11-20 00:34:19 +01:00
Quentin Rameau
ad538bb00a
Add newview() and forward related views
...
View creation is now done in a separate function.
That helps identifying the workflow and let us easily carry related
view (client) when asked by the WebKit for a new one.
2015-11-20 00:34:19 +01:00
Quentin Rameau
421486db18
Add showview()
...
Only show the window when and if the view is ready.
Move all the window rendering there.
2015-11-20 00:34:14 +01:00
Quentin Rameau
f86977a6fa
Separate the rendering engine process
...
Use one WebKitWebProcess per view instead of one for all views.
More information in the API documentation.
2015-11-20 00:23:59 +01:00
Quentin Rameau
b0f35be17b
No option to enforce 96DPI anymore on WebKit2
2015-11-20 00:23:59 +01:00