Index: chrome/browser/download/chrome_download_manager_delegate.cc |
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc |
index dcfbfd153197eabac72b27c5e048db0d8b9b19f7..cdd91fd232c77b93d31f23aaebacc6621964b5b9 100644 |
--- a/chrome/browser/download/chrome_download_manager_delegate.cc |
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc |
@@ -32,7 +32,6 @@ |
#include "chrome/browser/extensions/extension_system.h" |
#include "chrome/browser/history/history_service.h" |
#include "chrome/browser/history/history_service_factory.h" |
-#include "chrome/browser/intents/web_intents_util.h" |
#include "chrome/browser/platform_util.h" |
#include "chrome/browser/prefs/pref_registry_syncable.h" |
#include "chrome/browser/prefs/pref_service.h" |
@@ -50,12 +49,9 @@ |
#include "content/public/browser/notification_source.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/browser/web_contents_delegate.h" |
-#include "content/public/browser/web_intents_dispatcher.h" |
#include "grit/generated_resources.h" |
#include "net/base/net_util.h" |
#include "ui/base/l10n/l10n_util.h" |
-#include "webkit/glue/web_intent_data.h" |
-#include "webkit/glue/web_intent_reply_data.h" |
#if !defined(OS_ANDROID) |
#include "chrome/browser/ui/browser.h" |
@@ -83,11 +79,6 @@ namespace { |
// a download item. |
static const char safe_browsing_id[] = "Safe Browsing ID"; |
-// String pointer used to set the local file extension to be used when a |
-// download is going to be dispatched with web intents. |
-static const base::FilePath::CharType kWebIntentsFileExtension[] = |
- FILE_PATH_LITERAL(".webintents"); |
- |
// The state of a safebrowsing check. |
class SafeBrowsingState : public DownloadCompletionBlocker { |
public: |
@@ -133,20 +124,6 @@ void GenerateFileNameFromRequest(const DownloadItem& download_item, |
default_file_name); |
} |
-// Needed to give PostTask a void closure in OnWebIntentDispatchCompleted. |
-void DeleteFile(const base::FilePath& file_path) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
- file_util::Delete(file_path, false); |
-} |
- |
-// Called when the web intents dispatch has completed. Deletes the |file_path|. |
-void OnWebIntentDispatchCompleted( |
- const base::FilePath& file_path, |
- webkit_glue::WebIntentReplyType intent_reply) { |
- BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
- base::Bind(&DeleteFile, file_path)); |
-} |
- |
typedef base::Callback<void(bool)> VisitedBeforeCallback; |
// Condenses the results from HistoryService::GetVisibleVisitCountToHost() to a |
@@ -392,107 +369,9 @@ bool ChromeDownloadManagerDelegate::ShouldOpenDownload( |
return false; |
} |
-#if defined(ENABLE_WEB_INTENTS) |
- if (ShouldOpenWithWebIntents(item)) { |
- OpenWithWebIntent(item); |
- callback.Run(true); |
- return false; |
- } |
-#endif |
- |
return true; |
} |
-#if defined(ENABLE_WEB_INTENTS) |
-bool ChromeDownloadManagerDelegate::ShouldOpenWithWebIntents( |
- const DownloadItem* item) { |
- if (!web_intents::IsWebIntentsEnabledForProfile(profile_)) |
- return false; |
- |
- if ((item->GetWebContents() && !item->GetWebContents()->GetDelegate()) && |
- !web_intents::GetBrowserForBackgroundWebIntentDelivery(profile_)) { |
- return false; |
- } |
- if (!item->GetForcedFilePath().empty()) |
- return false; |
- if (item->GetTargetDisposition() == DownloadItem::TARGET_DISPOSITION_PROMPT) |
- return false; |
- |
-#if !defined(OS_CHROMEOS) |
- std::string mime_type = item->GetMimeType(); |
- |
- // If QuickOffice extension is installed, and we're not on ChromeOS,use web |
- // intents to handle the downloaded file. |
- const char kQuickOfficeExtensionId[] = "gbkeegbaiigmenfmjfclcdgdpimamgkj"; |
- const char kQuickOfficeDevExtensionId[] = "ionpfmkccalenbmnddpbmocokhaknphg"; |
- ExtensionServiceInterface* extension_service = |
- extensions::ExtensionSystem::Get(profile_)->extension_service(); |
- |
- bool use_quickoffice = false; |
- if (extension_service && |
- extension_service->GetInstalledExtension(kQuickOfficeExtensionId) && |
- extension_service->IsExtensionEnabled(kQuickOfficeExtensionId)) |
- use_quickoffice = true; |
- |
- if (extension_service && |
- extension_service->GetInstalledExtension(kQuickOfficeDevExtensionId) && |
- extension_service->IsExtensionEnabled(kQuickOfficeDevExtensionId)) |
- use_quickoffice = true; |
- |
- if (use_quickoffice) { |
- if (mime_type == "application/msword" || |
- mime_type == "application/vnd.ms-powerpoint" || |
- mime_type == "application/vnd.ms-excel" || |
- mime_type == "application/vnd.openxmlformats-officedocument." |
- "wordprocessingml.document" || |
- mime_type == "application/vnd.openxmlformats-officedocument." |
- "presentationml.presentation" || |
- mime_type == "application/vnd.openxmlformats-officedocument." |
- "spreadsheetml.sheet") { |
- return true; |
- } |
- } |
-#endif // !defined(OS_CHROMEOS) |
- |
- return false; |
-} |
- |
-void ChromeDownloadManagerDelegate::OpenWithWebIntent( |
- const DownloadItem* item) { |
- webkit_glue::WebIntentData intent_data( |
- ASCIIToUTF16("http://webintents.org/view"), |
- ASCIIToUTF16(item->GetMimeType()), |
- item->GetFullPath(), |
- item->GetReceivedBytes()); |
- |
- // RCH specifies that the receiver gets the url, but with Web Intents |
- // it isn't really needed. |
- intent_data.extra_data.insert(make_pair( |
- ASCIIToUTF16("url"), ASCIIToUTF16(item->GetURL().spec()))); |
- |
- // Pass the downloaded filename to the service app as the name hint. |
- intent_data.extra_data.insert( |
- make_pair(ASCIIToUTF16("filename"), |
- item->GetFileNameToReportUser().LossyDisplayName())); |
- |
- content::WebIntentsDispatcher* dispatcher = |
- content::WebIntentsDispatcher::Create(intent_data); |
- dispatcher->RegisterReplyNotification( |
- base::Bind(&OnWebIntentDispatchCompleted, item->GetFullPath())); |
- |
- content::WebContentsDelegate* delegate = NULL; |
-#if !defined(OS_ANDROID) |
- if (item->GetWebContents() && item->GetWebContents()->GetDelegate()) { |
- delegate = item->GetWebContents()->GetDelegate(); |
- } else { |
- delegate = web_intents::GetBrowserForBackgroundWebIntentDelivery(profile_); |
- } |
-#endif // !defined(OS_ANDROID) |
- DCHECK(delegate); |
- delegate->WebIntentDispatch(NULL, dispatcher); |
-} |
-#endif |
- |
bool ChromeDownloadManagerDelegate::GenerateFileHash() { |
#if defined(FULL_SAFE_BROWSING) |
return profile_->GetPrefs()->GetBoolean(prefs::kSafeBrowsingEnabled) && |
@@ -788,16 +667,6 @@ void ChromeDownloadManagerDelegate::CheckVisitedReferrerBeforeDone( |
suggested_path = download->GetForcedFilePath(); |
} |
-#if defined(ENABLE_WEB_INTENTS) |
- // If we will open the file with a web intents dispatch, |
- // give it a name that will not allow the OS to open it using usual |
- // associated apps. |
- if (ShouldOpenWithWebIntents(download)) { |
- download->SetDisplayName(suggested_path.BaseName()); |
- suggested_path = suggested_path.AddExtension(kWebIntentsFileExtension); |
- } |
-#endif |
- |
// If the download hasn't already been marked dangerous (could be |
// DANGEROUS_URL), check if it is a dangerous file. |
if (danger_type == content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) { |