No subject
Mon Jan 28 08:41:14 PST 2013
tAuthenticationDialogRequest* is passed into the existing webkitWebViewHand=
leAuthenticationChallenge(...) (parameters now changed) which emits a new s=
ignal.
I propose the signal name be "run-authentication-dialog", since in principl=
e it is quite similar to "run-file-chooser" in that it brings up a dialog f=
or the user to interact with.
The default handler for the signal does what was previously done, i.e. call=
webkitWebViewRunAuthenticationDialog() which creates the custom webkitAuth=
enticationDialog.
A WIP patch has been uploaded to https://bugs.webkit.org/show_bug.cgi?id=3D=
99352 if you want more detail.
What do you think?
Regards
Brian
Brian Holt
Senior Software Engineer
Samsung Electronics (UK) Limited
Registered number: 03086621
Registered address: Samsung House, 1000 Hillswood Drive, Chertsey,
Surrey KT16 0PS, England
South Street Email: brian.holt at samsung.com<mailto:brian.holt at samsun=
g.com>
Staines Fax: +44 (0)1784 428620
MIDDLESEX Office: +44 (0)1784 428600 (ext 380)
TW18 4QE
England
--_000_B6EE7E37BBBAD747B3F3BEF592ED021F4F464752ex1sericouk_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-GB" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi WebKitGtk+, <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">I’m creating the API for the Authentication Di=
alog (see <a href=3D"https://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap"=
>
https://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap</a>) tracked under <a=
href=3D"https://bugs.webkit.org/show_bug.cgi?id=3D99352">
https://bugs.webkit.org/show_bug.cgi?id=3D99352</a>. The basic idea i=
s that some application authors might want to bring up their own authentica=
tion dialog for http authentication, and so this work is to enable them to =
do so by connecting to a new signal and
interacting with a new API.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">A prototype is working, now I just need to check tha=
t I’ve got the names and architecture right.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">When WebLoaderClient::didReceiveAuthentication=
ChallengeInFrame() is called I propose to create a new WebkitAuthentication=
DialogRequest object. This class will be the public interface for the authe=
ntication request and I propose that it
have the following public API:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API void<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_set_username &=
nbsp; &nbs=
p; (WebKitAuthenticationDialogRequest *request,<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; const gchar *username);<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API const gchar =
*<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_get_username &=
nbsp; &nbs=
p; (WebKitAuthenticationDialogRequest *request);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API void<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_set_password &=
nbsp; &nbs=
p; (WebKitAuthenticationDialogRequest *request,<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">  =
; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; const gchar* password);<o:p></o:p></p=
>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API const gchar =
*<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_get_password &=
nbsp; &nbs=
p; (WebKitAuthenticationDialogRequest *request);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API void<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_set_remember_password &nbs=
p; (WebKitAuthenticationDialogReq=
uest *request,<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; gboolean remember);<o:=
p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API gboolean<o:p=
></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_get_remember_password &nbs=
p; (WebKitAuthenticationDialogReq=
uest *request);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API void<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_set_private_browsing  =
; (WebKitAuthenticationDial=
ogRequest *request,<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">  =
; &n=
bsp;  =
; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; gboolean privateBrowsingEnabled);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API gboolean<o:p=
></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_get_private_browsing  =
; (WebKitAuthenticationDial=
ogRequest *request);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API void<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_authenticate &=
nbsp; &nbs=
p; (WebKitAuthenticationDialogRequest *request);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WEBKIT_API void<o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_cancel &=
nbsp; &nbs=
p; (WebKitAuthenticationDialogReq=
uest *request);<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">To support the existing webkitAuthenticationDialog &=
nbsp;custom widget without much change I propose to also support a private =
pair of functions to access the AuthenticationChallengeProxy*<o:p></o:p></p=
>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">void<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_set_authentication_challenge (WebKitAuthenticationDialo=
gRequest *request,<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">  =
; &n=
bsp;  =
; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; WebKit::AuthenticationChallengeProxy * authent=
icationChallenge);<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt"><o:p> </o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">WebKit::AuthenticationC=
hallengeProxy*<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:36.0pt">webkit_authentication_d=
ialog_request_get_authentication_challenge (WebKitAuthenticationDialo=
gRequest *request);<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">From WebLoaderClient::didReceiveAuthenticationChalle=
ngeInFrame(), the WebkitAuthenticationDialogRequest* is passed into the exi=
sting webkitWebViewHandleAuthenticationChallenge(...) (parameters now chang=
ed) which emits a new signal.
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">I propose the signal name be “run-authenticati=
on-dialog”, since in principle it is quite similar to “run-file=
-chooser” in that it brings up a dialog for the user to interact with=
.
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">The default handler for the signal does what was pre=
viously done, i.e. call webkitWebViewRunAuthenticationDialog() which create=
s the custom webkitAuthenticationDialog.<o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal">A WIP patch has been uploaded to <a href=3D"https://=
bugs.webkit.org/show_bug.cgi?id=3D99352">
https://bugs.webkit.org/show_bug.cgi?id=3D99352</a> if you want more detail=
.<o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal">What do you think?<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">Regards<o:p></o:p></p>
<p class=3D"MsoNormal">Brian<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:9.0pt;font-family:"=
Courier New"">Brian Holt</span></b><span style=3D"font-size:9.0pt;font=
-family:"Courier New""><br>
Senior Software Engineer<br>
<br>
Samsung Electronics (UK) Limited<br>
Registered number: 03086621<br>
Registered address: Samsung House, 1000 Hillswood&=
nbsp;Drive, Chertsey,<br>
&nb=
sp; Surrey KT16 0PS,&nbs=
p;England<br>
<br>
South Street Email:&nbs=
p; </span><a href=3D"mailto:brian.holt at samsung.com"><span style=3D"fon=
t-size:9.0pt;font-family:"Courier New"">brian.holt at samsung.com</s=
pan></a><span style=3D"font-size:9.0pt;font-family:"Courier New""=
><br>
Staines =
Fax: +44 (0)1784 428620<br>
MIDDLESEX Offic=
e: +44 (0)1784 428600 (ext 380)<br>
TW18 4QE<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:9.0pt;font-family:"Cou=
rier New"">England</span><span style=3D"font-size:9.0pt"><o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>
--_000_B6EE7E37BBBAD747B3F3BEF592ED021F4F464752ex1sericouk_--
More information about the webkit-gtk
mailing list