Bug 161440 - [GTK] Remove unused GObject DOM unstable API
Summary: [GTK] Remove unused GObject DOM unstable API
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on: 161438 161681
Blocks:
  Show dependency treegraph
 
Reported: 2016-08-31 09:53 PDT by Carlos Garcia Campos
Modified: 2016-09-08 02:02 PDT (History)
3 users (show)

See Also:


Attachments
Patch (1.52 MB, patch)
2016-09-07 06:06 PDT, Carlos Garcia Campos
pnormand: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2016-08-31 09:53:18 PDT
Once patch in bug #161438 lands, GObject DOM API code will no longer be auto-generated, so it doesn't make sense to keep the unstable API. All API will be stable, since it can't be automatically changed. There's no API compatibility guarantee of the unstable part at all, but I don't want to break any application using any of the unstable APIS, so my plan is to move part of the unstable part API to stable. The approach could be something like this:

 1.- Move any unstable method/property of stable classes to stable.
 2.- Check if there's any application using API from any unstable class and move that entire class to stable.
 3.- Remove all other unstable classes.
Comment 1 Michael Catanzaro 2016-08-31 10:57:01 PDT
Yes, yes, yes, thank you!

FYI: in GNOME unstable API is used by Epiphany, Evolution, and Yelp.
Comment 2 Carlos Garcia Campos 2016-09-01 00:17:03 PDT
epiphany
--------

WebKitDOMDOMSelection
webkit_dom_dom_window_get_selection
webkit_dom_element_get_class_list

yelp
----

webkit_dom_element_webkit_matches_selector

evolution
---------

webkit_dom_html_element_get_hidden
webkit_dom_html_element_set_hidden
WebKitDOMDOMSelection
webkit_dom_dom_window_get_selection
webkit_dom_element_insert_adjacent_html
webkit_dom_document_caret_range_from_point
webkit_dom_document_fragment_query_selector
webkit_dom_html_element_set_spellcheck
webkit_dom_range_expand

So, for now making WebKitDOMDOMSelection stable and moving all unstable methods of WebKitDOMDOMWindow, WebKitDOMHTMLElement, WebKitDOMDocument, WebKitDOMDocumentFragment, WebKitDOMRange and WebKitDOMElement to stable would work for ephy, evo and yelp. I'll ask in the mailing list if someone else is using unstable API.
Comment 3 Carlos Garcia Campos 2016-09-07 06:06:28 PDT
Created attachment 288129 [details]
Patch

I hope I haven't missed anything. In any case we can bring back from unstable whatever we need on demand.
Comment 4 Carlos Garcia Campos 2016-09-07 06:43:48 PDT
Committed r205543: <http://trac.webkit.org/changeset/205543>
Comment 5 Tomas Popela 2016-09-08 02:02:38 PDT
Carlos thank you for doing this!

(In reply to comment #2)
> evolution
> ---------
> 
> webkit_dom_html_element_get_hidden
> webkit_dom_html_element_set_hidden
> webkit_dom_html_element_set_spellcheck

I think we don't need to expose these things as we can use the webkit_dom_element_set/get_attribute so you can remove them from the API if you want.