Bug 101352

Summary: [EFL][WK2] Symbol for internal text checker method is not exported
Product: WebKit Reporter: Grzegorz Czajkowski <g.czajkowski>
Component: WebKit2Assignee: Grzegorz Czajkowski <g.czajkowski>
Status: RESOLVED INVALID    
Severity: Normal CC: cdumez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 93611    

Description Grzegorz Czajkowski 2012-11-06 07:44:30 PST
Fix build break after r132657.

EAPI macro is needed to be visible for WTR. It has been removed while refactoring in bug 100513.
Comment 1 Chris Dumez 2012-11-06 07:46:26 PST
I removed it because WTR did not seem to use it. Also, I don't get why WTR would use a this API which seems like it should be private. Could you please explain?
Comment 2 Grzegorz Czajkowski 2012-11-06 08:01:23 PST
(In reply to comment #1)
> I removed it because WTR did not seem to use it. 

A patch (which uses it) is under review - so that's the main reason you didn't see it (see please bug 93611).

> Also, I don't get why WTR would use a this API which seems like it should be private. Could you please explain?

WK2-EFL (in ewk_context.cpp) initializes text checker client, so putting that method in public header doesn't have much sense. As you know WTR doesn't initialize ewk's context, we need to initialize text checker manually.
Comment 3 Chris Dumez 2012-11-06 08:06:15 PST
(In reply to comment #2)
> (In reply to comment #1)
> > I removed it because WTR did not seem to use it. 
> 
> A patch (which uses it) is under review - so that's the main reason you didn't see it (see please bug 93611).
> 
> > Also, I don't get why WTR would use a this API which seems like it should be private. Could you please explain?
> 
> WK2-EFL (in ewk_context.cpp) initializes text checker client, so putting that method in public header doesn't have much sense. As you know WTR doesn't initialize ewk's context, we need to initialize text checker manually.

Actually, as far as I know, WKTR constructs a Ewk_View, which in turns creates a Ewk_Context so the textchecker initialization should be done, shoudn't it?

In any case, exporting a function from a private header does not seem like the right solution (if there is really a problem).
Comment 4 Grzegorz Czajkowski 2012-11-07 02:31:29 PST
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > I removed it because WTR did not seem to use it. 
> > 
> > A patch (which uses it) is under review - so that's the main reason you didn't see it (see please bug 93611).
> > 
> > > Also, I don't get why WTR would use a this API which seems like it should be private. Could you please explain?
> > 
> > WK2-EFL (in ewk_context.cpp) initializes text checker client, so putting that method in public header doesn't have much sense. As you know WTR doesn't initialize ewk's context, we need to initialize text checker manually.
> 
> Actually, as far as I know, WKTR constructs a Ewk_View, which in turns creates a Ewk_Context so the textchecker initialization should be done, shoudn't it?
> 

Right. When I was implementing the spelling feature WKTR created ewk_view in different way and ewk's context wasn't created so I needed this function to initialize text checker client.