download_controller_android.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 3// found in the LICENSE file. 4 5#ifndef CONTENT_PUBLIC_BROWSER_ANDROID_DOWNLOAD_CONTROLLER_ANDROID_H_ 6#define CONTENT_PUBLIC_BROWSER_ANDROID_DOWNLOAD_CONTROLLER_ANDROID_H_ 7 8namespace content { 9class DownloadItem; 10class RenderViewHost; 11class WebContents; 12 13// Interface to request GET downloads and send notifications for POST 14// downloads. 15class DownloadControllerAndroid { 16 public: 17 // Returns the singleton instance of the DownloadControllerAndroid. 18 static DownloadControllerAndroid* Get(); 19 20 // Starts a new download request with Android. Should be called on the 21 // UI thread. 22 virtual void CreateGETDownload(RenderViewHost* source, int request_id) = 0; 23 24 // Should be called when a POST download is started. Notifies the embedding 25 // app about the download. Should be called on the UI thread. 26 virtual void OnPostDownloadStarted(WebContents* web_contents, 27 DownloadItem* download_item) = 0; 28 protected: 29 virtual ~DownloadControllerAndroid() {}; 30}; 31 32} // namespace content 33 34#endif // CONTENT_PUBLIC_BROWSER_ANDROID_DOWNLOAD_CONTROLLER_ANDROID_H_ 35