Kim,

I don't think you can go wrong moving more of DQSD into C++.  The only real
downside that I see is it limiting the number of developers that might be
willing of have the experienced to work on it, but since a significant
portion is C++ now, I don't think that should even be a concern.  Honestly,
I'd love to see everything except configurable aspects (searches, etc) of
the tool moved into C++.

Glenn

On Sat, Jan 10, 2009 at 1:34 PM, Kim Gräsman <[email protected]> wrote:

> Hi guys,
>
> I've spent a little time investigating the Vista "blank window" issues
> that have been raised on the users list, and come up with a couple of
> ideas.
>
> There are two things you can launch from DQSD, a) searches and b) URLs
> (and a couple of other things, but let's leave it at that).
>
> Then there's a setting that affects how these launches are performed
> -- the launchmode, which can be 0) Use IE or 1) Use default browser.
>
> So there's essentially a behavior matrix for what happens in the
> respective cases-
>
>                   0
> 1
> a         form.submit                                Write out .html
> file to submit form in body onload + ShellExecute(file)
> b         window.open + window.navigate   ShellExecute(URL)
>
> Most of these methods have one issue or another with IE's new
> Protected Mode, because DQSD runs in un-PM, but launches searches and
> URLs that require PM, so there tends to be a lot of intermediary
> windows launched that bridge between the two modes.
>
> As if this wasn't complicated enough to follow, all cases with
> launchmode 0 happen in script, and all cases with launchmode 1 happen
> inside DQSDTools.Launcher.
>
> I'm wondering whether there would be value in moving all this logic
> into DQSDTools, and moving the actual logic to a simple class
> hierarchy of Launchers. Something like-
>
>  class Launcher
>  {
>  public:
>      virtual void SubmitForm(IHTMLFormElement* pForm, VARIANT options);
>      virtual void LaunchUrl(BSTR url, VARIANT options);
>  };
>
> and then with implementations for the respective launch modes, say,
> IELauncher and DefaultBrowserLauncher.
>
> The primary benefit of having the complete logic in C++ code, is that
> we can (hopefully) use new Vista APIs to safely bridge between
> un-protected and protected mode.
>
> What's also cool about this is that we can easily select
> implementation based on launchmode, and adding a launchmode is as
> simple as adding a new implementation...
>
> ...which leads me to another thing: we should probably add a new
> launchmode called Explicit, which comes with an explicit browser path.
> That way, users can launch their searches with a specific browser.
> This should please the x64 crowd, who want to use the 32-bit Internet
> Explorer even if DQSD runs in the 64-bit version of the browser.
>
> So... Anyone opposed to moving form submittal/URL launching entirely
> into DQSDTools? What are the drawbacks I don't see?
>
> Thanks,
> - Kim
>
>
> ------------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It is the best place to buy or sell services for
> just about anything Open Source.
> http://p.sf.net/sfu/Xq1LFB
> _______________________________________________
> Archive: https://lists.sourceforge.net/lists/listinfo/dqsd-devel
>
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Archive: https://lists.sourceforge.net/lists/listinfo/dqsd-devel

Reply via email to