summaryrefslogtreecommitdiff
path: root/surf.c
AgeCommit message (Collapse)Author
2015-11-21Add mouse function to play medias in external playerQuentin Rameau
Control + left click launches mpv with the target media url.
2015-11-21Style change in includes orderQuentin Rameau
2015-11-21Style change in functions orderingQuentin Rameau
Try to group and order functions in a logical manner. Same thing for config keybindings.
2015-11-20Cleanup remaining unused variables and copystr()Quentin Rameau
2015-11-20Adapt newwindow()Quentin Rameau
Reorder cmdline options alphabetically and try to keep settings as they have been toggled in this surf client.
2015-11-20Adapt user agent handlingQuentin Rameau
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-20Adapt updatetitle()Quentin Rameau
Now always show loading progress, still print mouse over link uri before page uri. Process simplyfied because we use const strings.
2015-11-20Adapt toggle statisticsQuentin Rameau
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-20Adapt page statisticsQuentin Rameau
Rename *pagestat to plural *pagestats, and resize array to reflect missing proxy parameter.
2015-11-20Adapt loaduri()Quentin Rameau
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-20Rename mouse functions to clickFUNCTION()Quentin Rameau
2015-11-20Adapt toggle(), clean some config parametersQuentin Rameau
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-20Adapt find()Quentin Rameau
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-20Adapt zoom()Quentin Rameau
2015-11-20Adapt navigate()Quentin Rameau
2015-11-20Remove togglescrollbars()Quentin Rameau
We do not have access to scrollbars and will have to manipulate DOM to do that.
2015-11-20Adapt scrollingQuentin Rameau
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-20Adapt inspector handlingQuentin Rameau
The inspector is now easily manageable via API, there's no need for keeping its state in the Client.
2015-11-20Adapt print()Quentin Rameau
2015-11-20Simplify building of stylefiles pathQuentin Rameau
We can directly use style file pointers instead of using temporary string pointers.
2015-11-20Adapt setstyle()Quentin Rameau
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-20Adapt clipboard()Quentin Rameau
Replace linkhover with target uri and add some comments
2015-11-20Rename fullscreen() to togglefullscreen()Quentin Rameau
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-20Replace titlechangeleave() with catch-all winevent()Quentin Rameau
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-20Adapt JavaScript functionsQuentin Rameau
Removed eval(), evalscript() is now sufficient and can directly execute passed JavaScript string.
2015-11-20Remove windowobjectcleared(), execute scripts on load finishedQuentin Rameau
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-20Add createwindow() for GtkWindow creationQuentin Rameau
Move there window creation from showview().
2015-11-20Add closeview() for JavaScript window closingQuentin Rameau
Simply call gtk_widget_destroy() on the window. Then GtkWindow closing process will take care of the rest.
2015-11-20Remove (delete :>) deletion_interface()Quentin Rameau
2015-11-20Integrate beforerequest() into decidepolicy()Quentin Rameau
2015-11-20Remove contextmenu() and menuactivate() for "context-menu" signalQuentin Rameau
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-20Adapted buttonrelease()Quentin Rameau
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-20Replace initdownload() and intercept global download requests.Quentin Rameau
Attach to download requests on WebKitContext, this way we can easily manage all types of downloads (coming from views or not).
2015-11-20Adapted progresschanged()Quentin Rameau
2015-11-20Manage ssl errors with GTlsCertificateFlagsQuentin Rameau
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-20Replace loadstatuschanged() with loadchanged()Quentin Rameau
2015-11-20Replace decidewindow() and decidedownload() with decidepolicy()Quentin Rameau
Now all the requests are triggered by one signal. We then handle each type, resource download, navigation, newwindow, in separate functions.
2015-11-20Replace createwindow() with createview()Quentin Rameau
We can now perform some filtering before opening a new view (window) when requested by JavaScript (either random or by a click).
2015-11-20Replace geopolicyrequested() with permissionrequested()Quentin Rameau
The permission-request signal can now ask for than a geolocation authorisation (though we only handle that for now).
2015-11-20Replace linkhover() with mousetargetchanged()Quentin Rameau
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-20Modify the context name of the hit testsQuentin Rameau
These relate more to the position of the pointer when an event occurs.
2015-11-20Adapted titlechange()Quentin Rameau
Do not copy title strings, just carry over the const pointer.
2015-11-20Move all necessary initialisation to newview()Quentin Rameau
Most all the settings and callbacks are set before view creation. Create a related view (with inherited settings) if asked to.
2015-11-20Add newview() and forward related viewsQuentin Rameau
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-20Add showview()Quentin Rameau
Only show the window when and if the view is ready. Move all the window rendering there.
2015-11-20Separate the rendering engine processQuentin Rameau
Use one WebKitWebProcess per view instead of one for all views. More information in the API documentation.
2015-11-20No option to enforce 96DPI anymore on WebKit2Quentin Rameau
2015-11-20Scrolling is now handled through WebKitQuentin Rameau
We don't have access anymore to the scrolling process and have to rely entirely on WebKit. We could be able to manage scrolling and bars directly by manipulating the DOM via a WebKitExtension. To be continued…
2015-11-20SSL policy is now handled through WebKitQuentin Rameau
2015-11-20Disk cache is now handled through WebKitQuentin Rameau