Bug 24790 - [GTK] webkitsoupauthdialog.h lacks WEBKIT_API before function
Summary: [GTK] webkitsoupauthdialog.h lacks WEBKIT_API before function
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-24 17:09 PDT by Cosimo Cecchi
Modified: 2009-03-28 14:18 PDT (History)
2 users (show)

See Also:


Attachments
proposed fix (649 bytes, patch)
2009-03-24 17:10 PDT, Cosimo Cecchi
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Cosimo Cecchi 2009-03-24 17:09:16 PDT
SSIA; this causes e.g. gir-repository not to find webkit_soup_auth_dialog_get_type() in the libwebkit-1.0.so file, breaking the build.
Comment 1 Cosimo Cecchi 2009-03-24 17:10:09 PDT
Created attachment 28918 [details]
proposed fix
Comment 2 Holger Freyther 2009-03-25 00:25:00 PDT
SSIA? Could you provide a log of the build breakage?
Comment 3 Cosimo Cecchi 2009-03-25 03:19:34 PDT
Subject Says It All :)
It's not the WebKit build itself that breaks; the issue is that the gobject-introspection scanner won't find the function while parsing the .h files, as it's defined with the wrong visibility (AFAICS that's what WEBKIT_API does).
If you really need it, I can provide you with the failed build log for gir-repository, but I would need to recompile WebKit without this patch and I can't do it right now.
Comment 4 Holger Freyther 2009-03-25 04:19:52 PDT
You assume I know what SSIA and gir are... now I know it is related to gobject introspection but more input would be welcome... this dialog is private... it shouldn't exist/be visible... so how does this "error" come into existence?
Comment 5 Cosimo Cecchi 2009-03-25 06:53:33 PDT
gir-repository is a scanner which grabs all the public API inside the installed *.h files from a library and generates a .typelib file containing all the introspection information to be used by the gobject-introspection system.
This error arises when you have a function which is declared as public inside the .h file (webkitauthsoupdialog.h in this case) but doesn't have the right visibility setting inside the shared object.
We can solve this in two ways
- adding the right visibility to the function (which is what this patch does)
- removing the header from the installed webkit API files which, if the dialog is really private and not meant to be created by some third party client other than WebKit itself, seems a better solution to me. In this case, I guess all we have to do is to remove the header from the relevant section inside GNUMakefile.am

I hope this somewhat clarifies the issue, sorry for not having been clearer in the first place.
Comment 6 Holger Freyther 2009-03-25 22:38:53 PDT
Thanks for the clarification. Now the question is how to proceed. We have bug #24598 which wants to make the dialog type public as well. I think for gir the best way would be to make the a noinst header.
Comment 7 Gustavo Noronha (kov) 2009-03-28 14:05:02 PDT
(In reply to comment #6)
> Thanks for the clarification. Now the question is how to proceed. We have bug
> #24598 which wants to make the dialog type public as well. I think for gir the
> best way would be to make the a noinst header.
> 

I think the feature needs to be public, for people customizing the session to be able to add/remove it, at least.
Comment 8 Xan Lopez 2009-03-28 14:17:16 PDT
As Gustavo says we really want to have this exported, the whole idea behind making it a session was that people could configure/remove it from outside of WebKit. I've committed the patch as r42075, closing as FIXED.
Comment 9 Xan Lopez 2009-03-28 14:18:54 PDT
Er, I meant "the whole idea behind making it a session FEATURE".