<ul>How to use WebKitGtk+ </ul><ul>허 준회 (Joone Hur) </ul><ul>2012. 1.28 1 st  GNOME Tech Talks, GNOME Korea Community </ul>
 
<ul>Who am I? </ul><ul><ul><li>WebKit Committer (joone@webkit.org)
Working for Collabora (http://collabora.com)
Working on WebKitGtk+, WebKit-Clutter </li></ul></ul>
<ul>WebKitGtk+ </ul><ul><ul><li>WebKitGTK+ is the GNOME platform port of the WebKit rendering engine. 
Offering WebKit's full functionality through a set of GObject-based APIs
GTK+ widget </li></ul></ul>
<ul>What Uses WebKitGtk+? </ul><ul><ul><li>GNOME Browser (Epiphany)
Midori
DevHelp
Evolution
GNOME Shell </li></ul></ul><ul><ul><li>Amazon Kindle </li></ul></ul>
<ul>Current Version </ul><ul>Stable version   WebKitGTK+ 1.6.1 ( 2011.9.28)   Development Version WebKitGTK+ 1.7.4  (2012....
<ul>WebKitGTK+ 1.6.1 </ul><ul><ul><li>The JavaScriptCore library is now installed independently as &quot;libjavascriptcore...
New DOM methods exist to check if editable areas have been modified by the user (webkit_dom_html_{input,text_area}_is_edit...
A few new spell checking APIs are added, which make implementing spell checking in a user agent much easier. - Added API t...
GTK+ 3.x is now the default toolkit for WebKitGTK+. GTK+ 2 is considered deprecated now and we will stop supporting it in ...
<ul>WebKitWebView is a GtkWdiget </ul><ul>GObject      +----GInitiallyUnowned                +----GtkWidget               ...
<ul>  </ul><ul>#ifdef GTK_API_VERSION_2 G_DEFINE_TYPE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER) #else G_DEFINE_T...
Upcoming SlideShare
Loading in...5
×

How to use WebKitGtk+

4,277

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,277
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • The JavaScriptCore library is now installed independently as     &amp;quot;libjavascriptcoregtk&amp;quot;, and it comes with its own pkg-config file. This allows linking to JavaScriptCore without WebKitGTK+.  New DOM methods exist to check if editable areas have been modified by the user (webkit_dom_html_{input,text_area}_is_edited). A typical usecase for these APIs is to warn the user if they are leaving     a page without submitting a form. A few new spell checking APIs are added, which make implementing spell checking in a user agent much easier. - Added API to set local storage database path. GTK+ 3.x is now the default toolkit for WebKitGTK+. GTK+ 2 is considered deprecated now and we will stop supporting it in future releases, so please try to move to GTK+3 in the near future.
  • Applications can use fontconfig in two ways: by querying it for the available fonts on the system, or by asking it for a font matching certain parameters ( pattern ). Fontconfig will then return a font whose properties match those specified in the pattern as closely as possible.
  • How to use WebKitGtk+

    1. 1. <ul>How to use WebKitGtk+ </ul><ul>허 준회 (Joone Hur) </ul><ul>2012. 1.28 1 st GNOME Tech Talks, GNOME Korea Community </ul>
    2. 3. <ul>Who am I? </ul><ul><ul><li>WebKit Committer (joone@webkit.org)
    3. 4. Working for Collabora (http://collabora.com)
    4. 5. Working on WebKitGtk+, WebKit-Clutter </li></ul></ul>
    5. 6. <ul>WebKitGtk+ </ul><ul><ul><li>WebKitGTK+ is the GNOME platform port of the WebKit rendering engine. 
    6. 7. Offering WebKit's full functionality through a set of GObject-based APIs
    7. 8. GTK+ widget </li></ul></ul>
    8. 9. <ul>What Uses WebKitGtk+? </ul><ul><ul><li>GNOME Browser (Epiphany)
    9. 10. Midori
    10. 11. DevHelp
    11. 12. Evolution
    12. 13. GNOME Shell </li></ul></ul><ul><ul><li>Amazon Kindle </li></ul></ul>
    13. 14. <ul>Current Version </ul><ul>Stable version   WebKitGTK+ 1.6.1 ( 2011.9.28)   Development Version WebKitGTK+ 1.7.4  (2012. 1.16) </ul>
    14. 15. <ul>WebKitGTK+ 1.6.1 </ul><ul><ul><li>The JavaScriptCore library is now installed independently as &quot;libjavascriptcoregtk&quot;, and it comes with its own pkg-config file.  
    15. 16. New DOM methods exist to check if editable areas have been modified by the user (webkit_dom_html_{input,text_area}_is_edited).
    16. 17. A few new spell checking APIs are added, which make implementing spell checking in a user agent much easier. - Added API to set local storage database path.
    17. 18. GTK+ 3.x is now the default toolkit for WebKitGTK+. GTK+ 2 is considered deprecated now and we will stop supporting it in future releases, so please try to move to GTK+3 in the near future. </li></ul></ul>
    18. 19. <ul>WebKitWebView is a GtkWdiget </ul><ul>GObject      +----GInitiallyUnowned                +----GtkWidget                          +----GtkContainer                                   +----WebKitWebView </ul>
    19. 20. <ul>  </ul><ul>#ifdef GTK_API_VERSION_2 G_DEFINE_TYPE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER) #else G_DEFINE_TYPE_WITH_CODE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER,                         G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, 0)) #endif </ul>
    20. 21. <ul>Dependency </ul><ul><ul><li>gtk+
    21. 22. libsoup 
    22. 23. cairo & pango
    23. 24. fontconfig 
    24. 25. FreeType2 
    25. 26. libxml </li></ul></ul><ul>Optional dependency </ul><ul><ul><li>libxslt 
    26. 27. sqlite 
    27. 28. gstreamer 
    28. 29. gstreamer-plugin-base 
    29. 30. enchant
    30. 31. geoclue </li></ul></ul>
    31. 32. <ul>Architecture </ul><ul>  </ul>
    32. 33. <ul>Class Overview </ul><ul><ul><li>WebKitWebView  — The central class of the WebKitGTK+ API
    33. 34. WebKitWebFrame  — The content of a   WebKitWebView
    34. 35. WebKitWebSettings  — Control the behaviour of a WebKitWebView
    35. 36. WebKitWebBackForwardList  — The history of a  WebKitWebView
    36. 37. WebKitWebHistoryItem  — One item of the  WebKitWebBackForwardList  and or global history
    37. 38. WebKitWebNavigationAction  — Object used to report details of navigation actions
    38. 39. WebKitWebPolicyDecision  — Liason between WebKit and the application regarding asynchronous policy decisions
    39. 40. WebKitGeolocationPolicyDecision  — Liaison between WebKit and the application regarding asynchronous geolocation policy decisions </li></ul></ul>
    40. 41. <ul>  </ul><ul><ul><li>WebKitNetworkRequest  — The target of a navigation request
    41. 42. WebKitNetworkResponse  — the response given to a network request
    42. 43. WebKitWebInspector  — Access to the WebKit Inspector
    43. 44. WebKitWebDatabase  — A WebKit web application database
    44. 45. WebKitWebResource  — Represents a downloaded URI.
    45. 46. WebKitDownload  — Object used to communicate with the application when downloading.
    46. 47. WebKitViewportAttributes  — Represents the viewport properties of a web page
    47. 48. WebKitHitTestResult  — The target of a mouse event </li></ul></ul>
    48. 49. <ul>  </ul><ul><ul><li>WebKitSoupAuthDialog  — A SoupSessionFeature to provide a simple authentication dialog for HTTP basic auth support.
    49. 50. WebKitWebWindowFeatures  — Window properties of a  WebKitWebView </li></ul></ul>
    50. 51. <ul>WebKitWebView signal </ul><ul>create-web-view web-view-ready close-web-view navigation-requested new-window-policy-decision-requested navigation-policy-decision-requested download-requested load-started load-committed load-progress-changed load-error load-finished onload-event title-changed </ul><ul>geolocation-policy-decision-requested  </ul>
    51. 52. <ul>Code Example </ul><ul>http://webkitgtk.org/reference/webkitgtk/stable/webkitgtk-webkitwebview.html </ul>
    52. 53. <ul>Build and Run </ul><ul>gcc -o run main.c `pkg-config webkitgtk-3.0 --cflags --libs` </ul>
    53. 54. <ul>GObject DOM bindings </ul><ul><ul><li>Access to DOM APIs through native GObject layer
    54. 55. Demo </li></ul></ul>
    55. 56. <ul>WebKitGtk+ GObject Introspection </ul><ul>Demo </ul>
    56. 57. <ul>Next topic? </ul><ul>WebKit2Gtk+ </ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×