Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A binding to WebKitGTK+ for Common Lisp

License

NotificationsYou must be signed in to change notification settings

atlas-engineer/cl-webkit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

cl-webkit is a binding to [WebKitGTK+] for Common Lisp, currently targeting WebKit version 2. The WebKitGTK+ library adds web browsing capabilities to an application, leveraging the full power of the WebKit browsing engine.

API overview

The cl-webkit API closely follows the WebKit2 API, with the exception that class based interfaces are preferred over functional interfaces in cases where both are provided.

That is,*_{new,get,set} methods are excluded in favour ofmake-instance and slot accessors wherever possible.

For documentation on how to use the WebKit2 API, please refer to the C API documentation.

Backwards compatibility (with older WebKit2 API versions) is not a priority. The binding targets the latest version of Webkit2Gtk+ available on mainstream distributions.

Dependencies

  • A working installation of WebKit2GTK+ (whichever package provideslibwebkit2gtk-4.0.so, e.g.,libwebkit2gtk on Debian).
  • A [CFFI] compatible Common Lisp implementation. The package is developed using [SBCL] but should work on any implementation that supports CFFI.
  • A recent checkout of [cl-cffi-gtk]

Installation

Assuming you have [Quicklisp] installed, do

  1. Clone to~/common-lisp/quicklisp/local-projects/cl-webkit
  2. > lisp
  3. > (ql:quickload :cl-webkit2)

Testing

To run tests, you need to additionally installCalispel,float-features andFiveAM (all of these are available via Quicklisp). After that, simply running(asdf:test-system :cl-webkit2) should be enough.

Contributing

Contributing implies an agreement to redistribute the work under the project’s license (see below); please make sure that you own the rights to the work you contribute.

Resources

Change Log

3.5.10

  • Add message sending to all extensions in WebkitWebWebContext.
  • Add user script handlers support.
  • Fix the type passed to language-related functions.

3.5.9

  • Add micro Webkit version to*features*.

3.5.8

  • Remove support for Webkit shared lib version 5.0 due to libsoup conflicts.

3.5.7

  • Add bindings for WebKitUserContentFilterStore.
  • Add more properties for WebKitWebView.
  • Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION value for WebKitHitTestResult enum.
  • Fix several implicit dependency issues.

3.5.6

  • Fix SoapMessageHeaders’ access from WebKitURIResponse.

3.5.5

  • Add SoapMessageHeaders bindings.
  • Use them everywhere, in custom scheme processing too.

3.5.4

  • Add WebKitWebResource bindings.
  • Add WebKitUriSchemeResponse bindings and use them in scheme callbacks by default.
  • Add GAction-related functions for WebKitContextMenuAction.

3.5.3

  • Fix typing for context menu item-related functions.

3.5.2

  • Fix string processing for custom URLs – no longer segfaulting on long strings.

3.5.1

  • Add support for libwebkit2gtk-5.0.
  • Add advanced editing commands withwebkit-web-view-execute-editing-command-with-arguments as the way to execute those.
  • Bugfixes in custom schemes and color chooser requests.

3.5.0

  • Add webkit-web-view-set-cors-allowlist, a binding for a recently (2.34.1) introducedwebkit_web_view_set_cors_allowlist.
  • Bug Fix: Catch any condition in C callbacks to avoid crashing the whole Lisp process due to unhandled conditions.

3.4.0

  • Add a binding forwebkit_web_view_try_close.

3.3.0

  • Add full bindings forWebKitURIRequest andWebKitNotification.
  • Support libwebkit2gtk-4.1.
  • Rename starred functions to non-starred for consistency:
    • webkit-web-view-can-execute-editing-command* ->webkit-web-view-can-execute-editing-command.
    • webkit-web-view-send-message-to-page* ->webkit-web-view-send-message-to-page

3.2.0

  • Addwebkit-web-view-can-execute-editing-command* for easier execution command checking.

3.1.1

  • Exportwebkit-web-view-execute-editing-command properly.

3.1.0

Additions:

  • webkit-web-view-send-message-to-page* to sendWebKitUserMesssages in a nicer Lispy way.
  • MoreWebKitSettings settings.
  • Bind all the subtypes ofWebKitPermissionRequest.
  • Bindings for:
    • webkit_user_content_manager_remove_script
    • webkit_user_content_manager_remove_style_sheet
  • Newg-variant-get-maybe-string: checksGVariant for nullness and returns a contained string if possible.
  • TheWebKitURISchemeRequest callbacks run on separate thread now.
  • make-jsc-function should return the originalJSCValue as a second value.

Minor API-breaking changes:

  • webkit-web-context-register-uri-scheme-callback now has one less optional arguments.

Bug Fixes:

  • Fix mistyped JSC-related exports.
  • Use :string type instead of :pointer forWebKitUserMessage names.
  • webkit2.uri-response is not loaded in cl-webkit.asd.

3.0.0

  • Makewebkit-web-view-evaluate-javascript process the returned values and turn them into the matching Lisp values (seejsc-value-to-lisp docstring for transformation rules).
  • The callback to thewebkit-web-view-evaluate-javascript now accepts two required arguments – the Lispy data, transformed from the results of code evaluation, and an originalJSCValue it was transformed from.
  • Add tests (webkit2/tests/ subdirectory andcl-webkit2/tests system), mostly for JS evaluation results.

Copying

cl-webkit is distributed under the MIT license.

Please note that this licence only covers the binding itself. Refer to the distribution terms of the third-party dependencies for details.

About

A binding to WebKitGTK+ for Common Lisp

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Common Lisp100.0%

[8]ページ先頭

©2009-2025 Movatter.jp