Re: [PATCH] Don't force gtkmozembed in the Facebook module



On Fri, Mar 14, 2008 at 7:36 PM, John Stowers <john stowers gmail com> wrote:


2008/3/15 Chris Rivera <chrismrivera gmail com>:

The current Facebook module forces the built-in browser to be used for authentication.  This should respect the 'Use Built in Web Browser' setting in the properties dialog.  Please CC me on replies.

Hi Chris,

Im not sure I like this change. The hardcoding of the built in web-browser in facebook is intentional - this is because if you make any facebook API calls with the (as yet unauthenticated token) it revokes that tokens validity, which means when the user finishes logging in, Conduits login token token request is denied.

This is similar to what happens with rememberthemilk.  I was playing around with an RTM conduit module and ran into this same problem.



The alternative (which is what the system browser login does) is just to wait a fixed amount of time before checking if the user has logged in. This works OK, but its just a dirty hack - if the user takes too long to log in then Conduit just gives up, because any pending calls will invalidate the token (in the facebook case).

I don't like the arbitrary timeout either.  We don't know when the user grants or denies access when we use the system browser though.  Does the built-in browser solve this problem?

The only other (crappy) solution, that I can think of, is to run the system browser using a mechanism other than the webbrowser module so we can watch the process and then instruct the user to close the browser instance after they've granted or denied access.
 


The only solution that keeps all the code consistent between all dataproviders is to use the conduit web browser. As it happens I think this is actually a better solution, the user gets immediate feedback that the login they are being asked to perform is directly related to Conduit. I havent received any bug reports about Conduit crashing from the built in browser, so I am very tempted (for the next release) to make it the only way to log into websites.

Thoughts?

I submitted the patch because it seems like there's an inconsistency between the built-in property and the browser behavior.

I needed this option to work because gtkmozembed is segfaulting on opensuse11.0 alpha 2 with conduit trunk.   It's segfaulting in libxpcom_core.so during gtkmozembed.MozEmbed().  Running python and doing this manually works fine though.  I don't have a handle on what's going on yet.

Chris



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]