Updates:
Cc: [email protected]
Comment #2 on issue 9841 by [email protected]: REGRESSION: download shelf
disappears when "Save As" dialog pops up
http://code.google.com/p/chromium/issues/detail?id=9841
[+cc ben for UI discussion]
My change (r12799, http://codereview.chromium.org/45048) exposes an issue
with the
way that the Save Page feature uses the download shelf.
Previous to my change, saving a page added an item to the download shelf.
Saving a
second page replaced the first item on the download shelf. Since this
happened
synchronously, the removal of the first item and addition of the second
item made it
look like the shelf didn't disappear. The removal and addition actually
hides then
shows the shelf, but the very next paint operation processed only shows the
final
state with the second saved page displayed on the shelf.
My change makes this operation asynchronous:
- saving a page displays the shelf
- saving a second page removes the first saved page (possibly hiding the
shelf if the
first save was the only item on the shelf) and displays the save dialog
- clicking "OK" in the dialog displays the shelf and adds the second saved
page to it
I guess you could call this a regression, but I think it begs a more
fundamental user
interface question: if a user saves multiple pages, should we only show the
latest
save (our current behavior), or should we show them all the way we do with
downloads?
The reason that we only show the latest save page is that the Save Page
feature
creates a fake download in order to use the download shelf. The download
manager
isn't aware of it, so the "fake" download representing the saved page is
stored in
the WebContents. The next time a page is saved in that WebContents, it over
writes
the first. This implementation is incredibly hacky, but fixing it is beyond
the scope
of milestone-2.0.
My proposal is that we leave this bug as is for now, and that we re-think
how saved
pages are treated (i.e. should they just be considered downloads, managed
and
displayed by the Download Manager?).
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---