| 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/automation/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 2705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2716 DownloadServiceFactory::GetForProfile(browser->profile())); | 2716 DownloadServiceFactory::GetForProfile(browser->profile())); |
| 2717 | 2717 |
| 2718 if (download_service->HasCreatedDownloadManager()) { | 2718 if (download_service->HasCreatedDownloadManager()) { |
| 2719 std::vector<DownloadItem*> downloads; | 2719 std::vector<DownloadItem*> downloads; |
| 2720 BrowserContext::GetDownloadManager(browser->profile())-> | 2720 BrowserContext::GetDownloadManager(browser->profile())-> |
| 2721 GetAllDownloads(FilePath(), &downloads); | 2721 GetAllDownloads(FilePath(), &downloads); |
| 2722 | 2722 |
| 2723 for (std::vector<DownloadItem*>::iterator it = downloads.begin(); | 2723 for (std::vector<DownloadItem*>::iterator it = downloads.begin(); |
| 2724 it != downloads.end(); | 2724 it != downloads.end(); |
| 2725 it++) { // Fill info about each download item. | 2725 it++) { // Fill info about each download item. |
| 2726 list_of_downloads->Append(GetDictionaryFromDownloadItem(*it)); | 2726 list_of_downloads->Append(GetDictionaryFromDownloadItem( |
| 2727 *it, browser->profile()->IsOffTheRecord())); |
| 2727 } | 2728 } |
| 2728 } | 2729 } |
| 2729 return_value->Set("downloads", list_of_downloads); | 2730 return_value->Set("downloads", list_of_downloads); |
| 2730 reply.SendSuccess(return_value.get()); | 2731 reply.SendSuccess(return_value.get()); |
| 2731 } | 2732 } |
| 2732 | 2733 |
| 2733 void TestingAutomationProvider::WaitForAllDownloadsToComplete( | 2734 void TestingAutomationProvider::WaitForAllDownloadsToComplete( |
| 2734 Browser* browser, | 2735 Browser* browser, |
| 2735 DictionaryValue* args, | 2736 DictionaryValue* args, |
| 2736 IPC::Message* reply_message) { | 2737 IPC::Message* reply_message) { |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2811 // We need to be IN_PROGRESS for these actions. | 2812 // We need to be IN_PROGRESS for these actions. |
| 2812 if ((action == "toggle_pause" || action == "cancel") && | 2813 if ((action == "toggle_pause" || action == "cancel") && |
| 2813 !selected_item->IsInProgress()) { | 2814 !selected_item->IsInProgress()) { |
| 2814 AutomationJSONReply(this, reply_message) | 2815 AutomationJSONReply(this, reply_message) |
| 2815 .SendError("Selected DownloadItem is not in progress."); | 2816 .SendError("Selected DownloadItem is not in progress."); |
| 2816 } | 2817 } |
| 2817 | 2818 |
| 2818 if (action == "open") { | 2819 if (action == "open") { |
| 2819 selected_item->AddObserver( | 2820 selected_item->AddObserver( |
| 2820 new AutomationProviderDownloadUpdatedObserver( | 2821 new AutomationProviderDownloadUpdatedObserver( |
| 2821 this, reply_message, true)); | 2822 this, reply_message, true, browser->profile()->IsOffTheRecord())); |
| 2822 selected_item->OpenDownload(); | 2823 selected_item->OpenDownload(); |
| 2823 } else if (action == "toggle_open_files_like_this") { | 2824 } else if (action == "toggle_open_files_like_this") { |
| 2824 DownloadPrefs* prefs = | 2825 DownloadPrefs* prefs = |
| 2825 DownloadPrefs::FromBrowserContext(selected_item->GetBrowserContext()); | 2826 DownloadPrefs::FromBrowserContext(selected_item->GetBrowserContext()); |
| 2826 FilePath path = selected_item->GetUserVerifiedFilePath(); | 2827 FilePath path = selected_item->GetUserVerifiedFilePath(); |
| 2827 if (!selected_item->ShouldOpenFileBasedOnExtension()) | 2828 if (!selected_item->ShouldOpenFileBasedOnExtension()) |
| 2828 prefs->EnableAutoOpenBasedOnExtension(path); | 2829 prefs->EnableAutoOpenBasedOnExtension(path); |
| 2829 else | 2830 else |
| 2830 prefs->DisableAutoOpenBasedOnExtension(path); | 2831 prefs->DisableAutoOpenBasedOnExtension(path); |
| 2831 AutomationJSONReply(this, reply_message).SendSuccess(NULL); | 2832 AutomationJSONReply(this, reply_message).SendSuccess(NULL); |
| 2832 } else if (action == "remove") { | 2833 } else if (action == "remove") { |
| 2833 download_manager->AddObserver( | 2834 download_manager->AddObserver( |
| 2834 new AutomationProviderDownloadModelChangedObserver( | 2835 new AutomationProviderDownloadModelChangedObserver( |
| 2835 this, reply_message, download_manager)); | 2836 this, reply_message, download_manager)); |
| 2836 selected_item->Remove(); | 2837 selected_item->Remove(); |
| 2837 } else if (action == "decline_dangerous_download") { | 2838 } else if (action == "decline_dangerous_download") { |
| 2838 download_manager->AddObserver( | 2839 download_manager->AddObserver( |
| 2839 new AutomationProviderDownloadModelChangedObserver( | 2840 new AutomationProviderDownloadModelChangedObserver( |
| 2840 this, reply_message, download_manager)); | 2841 this, reply_message, download_manager)); |
| 2841 selected_item->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD); | 2842 selected_item->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD); |
| 2842 } else if (action == "save_dangerous_download") { | 2843 } else if (action == "save_dangerous_download") { |
| 2843 selected_item->AddObserver(new AutomationProviderDownloadUpdatedObserver( | 2844 selected_item->AddObserver(new AutomationProviderDownloadUpdatedObserver( |
| 2844 this, reply_message, false)); | 2845 this, reply_message, false, browser->profile()->IsOffTheRecord())); |
| 2845 selected_item->DangerousDownloadValidated(); | 2846 selected_item->DangerousDownloadValidated(); |
| 2846 } else if (action == "toggle_pause") { | 2847 } else if (action == "toggle_pause") { |
| 2847 selected_item->AddObserver(new AutomationProviderDownloadUpdatedObserver( | 2848 selected_item->AddObserver(new AutomationProviderDownloadUpdatedObserver( |
| 2848 this, reply_message, false)); | 2849 this, reply_message, false, browser->profile()->IsOffTheRecord())); |
| 2849 // This will still return if download has already completed. | 2850 // This will still return if download has already completed. |
| 2850 selected_item->TogglePause(); | 2851 selected_item->TogglePause(); |
| 2851 } else if (action == "cancel") { | 2852 } else if (action == "cancel") { |
| 2852 selected_item->AddObserver(new AutomationProviderDownloadUpdatedObserver( | 2853 selected_item->AddObserver(new AutomationProviderDownloadUpdatedObserver( |
| 2853 this, reply_message, false)); | 2854 this, reply_message, false, browser->profile()->IsOffTheRecord())); |
| 2854 selected_item->Cancel(true); | 2855 selected_item->Cancel(true); |
| 2855 } else { | 2856 } else { |
| 2856 AutomationJSONReply(this, reply_message) | 2857 AutomationJSONReply(this, reply_message) |
| 2857 .SendError(StringPrintf("Invalid action '%s' given.", action.c_str())); | 2858 .SendError(StringPrintf("Invalid action '%s' given.", action.c_str())); |
| 2858 } | 2859 } |
| 2859 } | 2860 } |
| 2860 | 2861 |
| 2861 void TestingAutomationProvider::SetDownloadShelfVisibleJSON( | 2862 void TestingAutomationProvider::SetDownloadShelfVisibleJSON( |
| 2862 DictionaryValue* args, | 2863 DictionaryValue* args, |
| 2863 IPC::Message* reply_message) { | 2864 IPC::Message* reply_message) { |
| (...skipping 4377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7241 void TestingAutomationProvider::OnRemoveProvider() { | 7242 void TestingAutomationProvider::OnRemoveProvider() { |
| 7242 if (g_browser_process) | 7243 if (g_browser_process) |
| 7243 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 7244 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
| 7244 } | 7245 } |
| 7245 | 7246 |
| 7246 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, | 7247 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, |
| 7247 WebContents* tab) { | 7248 WebContents* tab) { |
| 7248 if (chrome::GetActiveWebContents(browser) != tab) | 7249 if (chrome::GetActiveWebContents(browser) != tab) |
| 7249 chrome::ActivateTabAt(browser, chrome::GetIndexOfTab(browser, tab), true); | 7250 chrome::ActivateTabAt(browser, chrome::GetIndexOfTab(browser, tab), true); |
| 7250 } | 7251 } |
| OLD | NEW |