Right now we only download big files if the user is in a WiFi connection. This means that if the user uses 3G and clicks a PDF link, the link will always be opened in browser (and this will force a download of the file). So we aren't downloading the file to save data, but we're forcing a new download every time the user clicks the file...
Also, now that we have observers, it would be interesting to update the file URL if it's downloaded in background. external-content starts the download in background and uses the original URL meanwhile, it would be interesting to update the URL once the download finishes.