Hi Yuta,

I suspect it is simpler to change
DownloadShelfContextMenu::IsItemCommandEnabled() and enable its "open"
and "show in folder" items only when the downloaded file exists as
shown in my mock code <http://codereview.chromium.org/113805>. (Even
though this mock code is not tested thoroughly and may cause
side-effects, please feel free to copy and use it.)

Regards,

Hironori Bono
E-mail: hb...@chromium.org

On Sat, May 23, 2009 at 10:47 AM, Yuta Kitamura <yu...@google.com> wrote:
> Hi all,
> I've been researching on DownloadManager for a day in order to to fix the
> issue 3551 <http://crbug.com/3551>. I want to hear some advice from people
> who know Chrome's design well.
> The problem of this issue is like the
> following: DownloadManager::OpenDownloadInShell() posts a task that opens a
> file using the shell (ShellExecute()) to the file thread. Because this task
> does not return any response (i.e. whether open was successful or not) back
> to the UI thread, DownloadItem cannot receive the result of open and the
> browser UI cannot display it either.
> So, I want to add the functionality of receiving the result of opening a
> file to DownloadItem. My current idea of implementation is:
> 1. Let DownloadItem be RefCountedThreadSafe, and rewrite use of
> "DownloadItem*" to "scoped_refptr<DownloadItem>".
> 2. Add the interface of receiving the result of OpenDownloadInShell to
> DownloadItem. Modify DownloadFileManager::OnOpenDownloadInShell to pass the
> result to it.
> 3. Modify UI (DownloadItemView) to reflect these changes.
> 4. Write tests.
> My question is:
> - How do you think about the whole idea? Am I going the right way?
> - Step 1: Is it okay to do this? Will this change give the negative effect
> of the browser's speed?
> - Step 3: How should the UI look like?
> - Step 4: How to do it? Is there a good reference in the existing tests?
> (Sorry but I'm not very experienced on testing...)
> How do you think? Any idea and suggestion is welcome!
> Thanks,
> Yuta
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to