Bug 101727 - [GTK] Isolate the GTK/Gail/Pango specific code in accessibility/gtk
Summary: [GTK] Isolate the GTK/Gail/Pango specific code in accessibility/gtk
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 98895 99578
  Show dependency treegraph
 
Reported: 2012-11-09 01:41 PST by Mario Sanchez Prada
Modified: 2012-11-15 04:05 PST (History)
8 users (show)

See Also:


Attachments
Patch proposal (10.60 KB, patch)
2012-11-09 02:04 PST, Mario Sanchez Prada
cfleizach: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mario Sanchez Prada 2012-11-09 01:41:38 PST
This is a bug to track work initially started in bug 99578, to provide conditional compilation units for isolating the GTK specific code in accessibility/gtk, so most of the code in there can be later reused in other ports, such as EFL
Comment 1 Mario Sanchez Prada 2012-11-09 02:04:27 PST
Created attachment 173245 [details]
Patch proposal

Here comes the patch, properly filling the ChangeLog and addressing the review comments from bug 99578.
Comment 2 Mario Sanchez Prada 2012-11-09 11:48:14 PST
Committed r134094: <http://trac.webkit.org/changeset/134094>
Comment 3 Martin Robinson 2012-11-09 12:04:17 PST
I think we should just replace this code for both platforms with something platform-independent, if possible.
Comment 4 Alejandro Piñeiro 2012-11-12 03:11:18 PST
(In reply to comment #3)
> I think we should just replace this code for both platforms with something platform-independent, if possible.

This was discussed at bug 99578 comment 4, 5 and 6. The idea is replace the gail/pango code used to implement some methods of AtkText. Mario suggested stuff like TextIterator, that it is already in use. But that task can be long, so first step is isolate that code (this patch) while working on the final and platform-independent solution. In summary: this isolation is a temporary solution.
Comment 5 Martin Robinson 2012-11-12 08:25:45 PST
(In reply to comment #4)
> (In reply to comment #3)
> > I think we should just replace this code for both platforms with something platform-independent, if possible.
> 
> This was discussed at bug 99578 comment 4, 5 and 6. The idea is replace the gail/pango code used to implement some methods of AtkText. Mario suggested stuff like TextIterator, that it is already in use. But that task can be long, so first step is isolate that code (this patch) while working on the final and platform-independent solution. In summary: this isolation is a temporary solution.

Hrm. Do you mean that there will be many patches and the work will be incomplete during that time?
Comment 6 Mario Sanchez Prada 2012-11-15 04:05:10 PST
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > I think we should just replace this code for both platforms with something platform-independent, if possible.
> > 
> > This was discussed at bug 99578 comment 4, 5 and 6. The idea is replace the gail/pango code used to implement some methods of AtkText. Mario suggested stuff like TextIterator, that it is already in use. But that task can be long, so first step is isolate that code (this patch) while working on the final and platform-independent solution. In summary: this isolation is a temporary solution.
> 
> Hrm. Do you mean that there will be many patches and the work will be incomplete during that time?

As for WebKitGTK the work won't ever be incomplete (it will for other ports, though), since it will keep working as it used to do so far. These conditional compilation units were added just to ease the work of other ports (EFL) should they want to reuse the non-GTK dependant ATK code (which is 99% already).

However, I'd expect that over time (probably while implementing those notimplemented() bits in the #if !PLATFORM(GTK) regions) most of those conditional bits (e.g. pango / gail) will be implemented in a more generic way so they could be shared by all the ports. Which I think is what you suggested in your first comment.