Hi,  I spent the night learning the code and trying to resolve this
issue:

    http://code.google.com/p/chromium/issues/detail?id=2292

I think I find the problem but I am not smart enough yet to undestand
the synchronization of  the data flow, threads and/or events.

The bottom line is that by the time this function in src\chrome\common
\win_util.cc  called, the file has yet to exist, thus yielding an
error 2 (not found).

bool OpenItemViaShell(const std::wstring& full_path, bool ask_for_app)
{
  HINSTANCE h = ::ShellExecuteW(
      NULL, NULL, full_path.c_str(), NULL,
      file_util::GetDirectoryFromPath(full_path).c_str(),
SW_SHOWNORMAL);

  LONG_PTR error = reinterpret_cast<LONG_PTR>(h);
  if (error > 32)
    return true;

  if ((error == SE_ERR_NOASSOC) && ask_for_app)
    return OpenItemWithExternalApp(full_path);

  return false;
}

I insolated this function into a testshell.cpp program and it works
fine with the shell association.

I fixed the download directory to something I can easily watch and the
file simply does not exist by the time this function is called by, I
believe, in

      src\chrome\browser\download\download_file.cc

with the function void DownloadFileManager::DownloadFinished().

I tried to followed the logic with this, but there are two another
problem associated with this that maybe can be resolved at the same
time:

1) These files doe not have to be saved, they can remain in the
temorary folder, but even if they remain in the download folder, then

2) We really need an option to stop the auto-sequential numbering of
existing files. It is simply annoying and all it will do is accumulate
files for no reason.

If people prefer that I roll my sleeves and try to fix it, there is
only one problem with that. I know how I am and I will totally revamp
it.  I prefer not to do this.

Can someone on the team take control of this and try to address this?

    - Fix the timing issue,

    - Dictionary preference option to not sequence existing file

         Download.Overwrite_Existing:  true    <-- default?

Time to get some sleep.

Thanks

--
HLS
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Chromium-dev" group.
To post to this group, send email to chromium-dev@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/chromium-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to