I've taken a evening to stare at the Google Chrome browser code and
below are some of the observations I've been doing.
I've tried to find a good place to put the code that would handle the
metalink and I haven't come up with the best possible solution yet (as
far as I can see). Has anybody else had a look at the code, or are there
thoughts floating around on this? Here's hoping somebody has better or
more ideas on this ;)
Bram
---- BEGIN NOTES: very sketchy, but if you saw the code you might
understand. Crosses ([X]) are not an option, [?] means possible but not
great.
Possible inserts:
[X] New browser url handler (BrowserURLHandler)
Set a new browser url handlers
Pro: will allow for new rendering scheme of XML
Con: Won't always work, because it depends on the mime, not the
extension or scheme
[X] New URLRequest
Create a new URLRequest which makes sure that any URL over HTTP is first
mime-type sniffed (by the mime_sniffer_proxy) and then checks for the
application/metalink mime-type.
Pro: This should work.
Con: What to do with a metalink with multiple files?? This would only
result in a single stream, which can't support multiple files.
[?] new DownloadItemView
Go into the DownloadItemView and add a button: when a metalink is
downloaded, allow people to push a button to start downloading the
separate files.
Pro: This would give people an option, but might leave them hanging.
Making it automatic should not be a problem
Con: This doesn't include the possibility of downloading from multiple
streams to the same file yet.
[?] onDonwloadComplete somewhere??
Maybe there is a hook which will allow us to spawn new downloads when a
metalink is downloaded completely: after download, inspect the file and
start downloads for the files next to the metalink. Not sure how to
handle the whole restart thing, but maybe some country(UTC
offset)/language checking and randomness would help.
http://code.google.com/p/chromium/issues/detail?id=1751
I updated the status page. there's also a $200 bounty for it.
--
(( Anthony Bryan ... Metalink [ http://www.metalinker.org ]
)) Easier, More Reliable, Self Healing Downloads
http://code.google.com/p/chromium/issues/detail?id=1751
did I already mentioned that Paweł Hajdan jr, one of the Chromium
community members said if we have a patch adding metalink support he
would help address some issues during review or commiting process. he
also said the extension mechanism for Chrome is in progress.
so, anyone want to work on a patch? :)