Bug 161440

Summary: [GTK] Remove unused GObject DOM unstable API
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, mcatanzaro, tpopela
Priority: P2 Keywords: Gtk
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 161438, 161681    
Bug Blocks:    
Attachments:
Description Flags
Patch pnormand: review+

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.