Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/download/chrome_download_manager_delegate.h" | 5 #include "chrome/browser/download/chrome_download_manager_delegate.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 377 item->GetFullPath(), | 377 item->GetFullPath(), |
| 378 item->GetReceivedBytes()); | 378 item->GetReceivedBytes()); |
| 379 | 379 |
| 380 // RCH specifies that the receiver gets the url, but with Web Intents | 380 // RCH specifies that the receiver gets the url, but with Web Intents |
| 381 // it isn't really needed. | 381 // it isn't really needed. |
| 382 intent_data.extra_data.insert(make_pair( | 382 intent_data.extra_data.insert(make_pair( |
| 383 ASCIIToUTF16("url"), ASCIIToUTF16(item->GetURL().spec()))); | 383 ASCIIToUTF16("url"), ASCIIToUTF16(item->GetURL().spec()))); |
| 384 | 384 |
| 385 // The SuggestedFilename is not always filled in in the DownloadItem. | 385 // The SuggestedFilename is not always filled in in the DownloadItem. |
| 386 // When it is, it comes from the purpose-built HTML algorithm, but | 386 // When it is, it comes from the purpose-built HTML algorithm, but |
| 387 // in practice it is frequently just inferred. | 387 // in practice it is frequently just inferred. GetFileNameToReportUser |
| 388 string16 filename = UTF8ToUTF16(item->GetSuggestedFilename()); | 388 // is more authoritative. |
| 389 string16 filename = item->GetFileNameToReportUser().LossyDisplayName(); | |
|
Greg Billock
2012/07/23 21:42:22
So this looks right, then, and is what we decided
asanka
2012/07/23 21:45:43
Yes. GetFileNameToReportUser() is what we decided
Greg Billock
2012/07/24 20:09:47
Done.
| |
| 389 if (filename.empty()) | 390 if (filename.empty()) |
| 390 filename = item->GetFileNameToReportUser().LossyDisplayName(); | 391 filename = UTF8ToUTF16(item->GetSuggestedFilename()); |
| 391 intent_data.extra_data.insert(make_pair(ASCIIToUTF16("filename"), filename)); | 392 intent_data.extra_data.insert(make_pair(ASCIIToUTF16("filename"), filename)); |
| 392 | 393 |
| 393 content::WebIntentsDispatcher* dispatcher = | 394 content::WebIntentsDispatcher* dispatcher = |
| 394 content::WebIntentsDispatcher::Create(intent_data); | 395 content::WebIntentsDispatcher::Create(intent_data); |
| 395 // TODO(gbillock): try to get this to be able to delegate to the Browser | 396 // TODO(gbillock): try to get this to be able to delegate to the Browser |
| 396 // object directly, passing a NULL WebContents? | 397 // object directly, passing a NULL WebContents? |
| 397 item->GetWebContents()->GetDelegate()->WebIntentDispatch( | 398 item->GetWebContents()->GetDelegate()->WebIntentDispatch( |
| 398 item->GetWebContents(), dispatcher); | 399 item->GetWebContents(), dispatcher); |
| 399 } | 400 } |
| 400 | 401 |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 758 int32 download_id, int64 db_handle) { | 759 int32 download_id, int64 db_handle) { |
| 759 // It's not immediately obvious, but HistoryBackend::CreateDownload() can | 760 // It's not immediately obvious, but HistoryBackend::CreateDownload() can |
| 760 // call this function with an invalid |db_handle|. For instance, this can | 761 // call this function with an invalid |db_handle|. For instance, this can |
| 761 // happen when the history database is offline. We cannot have multiple | 762 // happen when the history database is offline. We cannot have multiple |
| 762 // DownloadItems with the same invalid db_handle, so we need to assign a | 763 // DownloadItems with the same invalid db_handle, so we need to assign a |
| 763 // unique |db_handle| here. | 764 // unique |db_handle| here. |
| 764 if (db_handle == DownloadItem::kUninitializedHandle) | 765 if (db_handle == DownloadItem::kUninitializedHandle) |
| 765 db_handle = download_history_->GetNextFakeDbHandle(); | 766 db_handle = download_history_->GetNextFakeDbHandle(); |
| 766 download_manager_->OnItemAddedToPersistentStore(download_id, db_handle); | 767 download_manager_->OnItemAddedToPersistentStore(download_id, db_handle); |
| 767 } | 768 } |
| OLD | NEW |