| 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 <sstream> | 5 #include <sstream> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 #include "chrome/browser/ui/chrome_pages.h" | 55 #include "chrome/browser/ui/chrome_pages.h" |
| 56 #include "chrome/browser/ui/host_desktop.h" | 56 #include "chrome/browser/ui/host_desktop.h" |
| 57 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 57 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 58 #include "chrome/common/chrome_paths.h" | 58 #include "chrome/common/chrome_paths.h" |
| 59 #include "chrome/common/extensions/feature_switch.h" | 59 #include "chrome/common/extensions/feature_switch.h" |
| 60 #include "chrome/common/pref_names.h" | 60 #include "chrome/common/pref_names.h" |
| 61 #include "chrome/common/url_constants.h" | 61 #include "chrome/common/url_constants.h" |
| 62 #include "chrome/test/base/in_process_browser_test.h" | 62 #include "chrome/test/base/in_process_browser_test.h" |
| 63 #include "chrome/test/base/test_switches.h" | 63 #include "chrome/test/base/test_switches.h" |
| 64 #include "chrome/test/base/ui_test_utils.h" | 64 #include "chrome/test/base/ui_test_utils.h" |
| 65 #include "content/public/browser/download_interrupt_reasons.h" |
| 65 #include "content/public/browser/download_item.h" | 66 #include "content/public/browser/download_item.h" |
| 66 #include "content/public/browser/download_manager.h" | 67 #include "content/public/browser/download_manager.h" |
| 67 #include "content/public/browser/download_save_info.h" | 68 #include "content/public/browser/download_save_info.h" |
| 68 #include "content/public/browser/download_url_parameters.h" | 69 #include "content/public/browser/download_url_parameters.h" |
| 69 #include "content/public/browser/notification_source.h" | 70 #include "content/public/browser/notification_source.h" |
| 70 #include "content/public/browser/render_view_host.h" | 71 #include "content/public/browser/render_view_host.h" |
| 71 #include "content/public/browser/resource_context.h" | 72 #include "content/public/browser/resource_context.h" |
| 72 #include "content/public/browser/web_contents.h" | 73 #include "content/public/browser/web_contents.h" |
| 73 #include "content/public/common/content_switches.h" | 74 #include "content/public/common/content_switches.h" |
| 74 #include "content/public/common/context_menu_params.h" | 75 #include "content/public/common/context_menu_params.h" |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 } | 362 } |
| 362 | 363 |
| 363 DISALLOW_COPY_AND_ASSIGN(TestRenderViewContextMenu); | 364 DISALLOW_COPY_AND_ASSIGN(TestRenderViewContextMenu); |
| 364 }; | 365 }; |
| 365 | 366 |
| 366 bool WasAutoOpened(DownloadItem* item) { | 367 bool WasAutoOpened(DownloadItem* item) { |
| 367 return item->GetAutoOpened(); | 368 return item->GetAutoOpened(); |
| 368 } | 369 } |
| 369 | 370 |
| 370 // Called when a download starts. Marks the download as hidden. | 371 // Called when a download starts. Marks the download as hidden. |
| 371 void SetHiddenDownloadCallback(DownloadItem* item, net::Error error) { | 372 void SetHiddenDownloadCallback(DownloadItem* item, |
| 373 content::DownloadInterruptReason reason) { |
| 372 DownloadItemModel(item).SetShouldShowInShelf(false); | 374 DownloadItemModel(item).SetShouldShowInShelf(false); |
| 373 } | 375 } |
| 374 | 376 |
| 375 // Callback for HistoryObserver; used in DownloadHistoryCheck | 377 // Callback for HistoryObserver; used in DownloadHistoryCheck |
| 376 bool HasDataAndName(const history::DownloadRow& row) { | 378 bool HasDataAndName(const history::DownloadRow& row) { |
| 377 return row.received_bytes > 0 && !row.target_path.empty(); | 379 return row.received_bytes > 0 && !row.target_path.empty(); |
| 378 } | 380 } |
| 379 | 381 |
| 380 } // namespace | 382 } // namespace |
| 381 | 383 |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 size_t i) { | 869 size_t i) { |
| 868 std::stringstream s; | 870 std::stringstream s; |
| 869 s << " " << __FUNCTION__ << "()" | 871 s << " " << __FUNCTION__ << "()" |
| 870 << " index = " << i | 872 << " index = " << i |
| 871 << " url = '" << download_info.url_name << "'" | 873 << " url = '" << download_info.url_name << "'" |
| 872 << " method = " | 874 << " method = " |
| 873 << ((download_info.download_method == DOWNLOAD_DIRECT) ? | 875 << ((download_info.download_method == DOWNLOAD_DIRECT) ? |
| 874 "DOWNLOAD_DIRECT" : "DOWNLOAD_NAVIGATE") | 876 "DOWNLOAD_DIRECT" : "DOWNLOAD_NAVIGATE") |
| 875 << " show_item = " << download_info.show_download_item | 877 << " show_item = " << download_info.show_download_item |
| 876 << " reason = " | 878 << " reason = " |
| 877 << InterruptReasonDebugString(download_info.reason); | 879 << DownloadInterruptReasonToString(download_info.reason); |
| 878 | 880 |
| 879 std::vector<DownloadItem*> download_items; | 881 std::vector<DownloadItem*> download_items; |
| 880 GetDownloads(browser(), &download_items); | 882 GetDownloads(browser(), &download_items); |
| 881 size_t downloads_expected = download_items.size(); | 883 size_t downloads_expected = download_items.size(); |
| 882 | 884 |
| 883 std::string server_path = "files/downloads/"; | 885 std::string server_path = "files/downloads/"; |
| 884 server_path += download_info.url_name; | 886 server_path += download_info.url_name; |
| 885 GURL url = test_server()->GetURL(server_path); | 887 GURL url = test_server()->GetURL(server_path); |
| 886 ASSERT_TRUE(url.is_valid()) << s.str(); | 888 ASSERT_TRUE(url.is_valid()) << s.str(); |
| 887 | 889 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 906 params->set_callback(creation_observer->callback()); | 908 params->set_callback(creation_observer->callback()); |
| 907 DownloadManagerForBrowser(browser())->DownloadUrl(params.Pass()); | 909 DownloadManagerForBrowser(browser())->DownloadUrl(params.Pass()); |
| 908 | 910 |
| 909 // Wait until the item is created, or we have determined that it | 911 // Wait until the item is created, or we have determined that it |
| 910 // won't be. | 912 // won't be. |
| 911 creation_observer->WaitForDownloadItemCreation(); | 913 creation_observer->WaitForDownloadItemCreation(); |
| 912 | 914 |
| 913 EXPECT_EQ(download_info.show_download_item, | 915 EXPECT_EQ(download_info.show_download_item, |
| 914 creation_observer->succeeded()); | 916 creation_observer->succeeded()); |
| 915 if (download_info.show_download_item) { | 917 if (download_info.show_download_item) { |
| 916 EXPECT_EQ(net::OK, creation_observer->error()); | 918 EXPECT_EQ(content::DOWNLOAD_INTERRUPT_REASON_NONE, |
| 919 creation_observer->interrupt_reason()); |
| 917 EXPECT_NE(content::DownloadItem::kInvalidId, | 920 EXPECT_NE(content::DownloadItem::kInvalidId, |
| 918 creation_observer->download_id()); | 921 creation_observer->download_id()); |
| 919 } else { | 922 } else { |
| 920 EXPECT_NE(net::OK, creation_observer->error()); | 923 EXPECT_NE(content::DOWNLOAD_INTERRUPT_REASON_NONE, |
| 924 creation_observer->interrupt_reason()); |
| 921 EXPECT_EQ(content::DownloadItem::kInvalidId, | 925 EXPECT_EQ(content::DownloadItem::kInvalidId, |
| 922 creation_observer->download_id()); | 926 creation_observer->download_id()); |
| 923 } | 927 } |
| 924 } else { | 928 } else { |
| 925 // Navigate to URL normally, wait until done. | 929 // Navigate to URL normally, wait until done. |
| 926 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), | 930 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| 927 url, | 931 url, |
| 928 1); | 932 1); |
| 929 } | 933 } |
| 930 | 934 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 const FileErrorInjectInfo& info, | 1004 const FileErrorInjectInfo& info, |
| 1001 size_t i) { | 1005 size_t i) { |
| 1002 std::stringstream s; | 1006 std::stringstream s; |
| 1003 s << " " << __FUNCTION__ << "()" | 1007 s << " " << __FUNCTION__ << "()" |
| 1004 << " index = " << i | 1008 << " index = " << i |
| 1005 << " url = " << info.error_info.url | 1009 << " url = " << info.error_info.url |
| 1006 << " operation code = " << | 1010 << " operation code = " << |
| 1007 content::TestFileErrorInjector::DebugString( | 1011 content::TestFileErrorInjector::DebugString( |
| 1008 info.error_info.code) | 1012 info.error_info.code) |
| 1009 << " instance = " << info.error_info.operation_instance | 1013 << " instance = " << info.error_info.operation_instance |
| 1010 << " error = " << content::InterruptReasonDebugString( | 1014 << " error = " << content::DownloadInterruptReasonToString( |
| 1011 info.error_info.error); | 1015 info.error_info.error); |
| 1012 | 1016 |
| 1013 injector->ClearErrors(); | 1017 injector->ClearErrors(); |
| 1014 injector->AddError(info.error_info); | 1018 injector->AddError(info.error_info); |
| 1015 | 1019 |
| 1016 injector->InjectErrors(); | 1020 injector->InjectErrors(); |
| 1017 | 1021 |
| 1018 DownloadFilesCheckErrorsLoopBody(info.download_info, i); | 1022 DownloadFilesCheckErrorsLoopBody(info.download_info, i); |
| 1019 | 1023 |
| 1020 size_t expected_successes = info.download_info.show_download_item ? 1u : 0u; | 1024 size_t expected_successes = info.download_info.show_download_item ? 1u : 0u; |
| (...skipping 2224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3245 | 3249 |
| 3246 // No errors this time. The download should complete successfully. | 3250 // No errors this time. The download should complete successfully. |
| 3247 EXPECT_FALSE(completion_observer->IsFinished()); | 3251 EXPECT_FALSE(completion_observer->IsFinished()); |
| 3248 completion_observer->StartObserving(); | 3252 completion_observer->StartObserving(); |
| 3249 download->Resume(); | 3253 download->Resume(); |
| 3250 completion_observer->WaitForFinished(); | 3254 completion_observer->WaitForFinished(); |
| 3251 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState()); | 3255 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState()); |
| 3252 | 3256 |
| 3253 EXPECT_FALSE(DidShowFileChooser()); | 3257 EXPECT_FALSE(DidShowFileChooser()); |
| 3254 } | 3258 } |
| OLD | NEW |