Index: ios/chrome/browser/ui/external_file_controller.h |
diff --git a/ios/chrome/browser/ui/external_file_controller.h b/ios/chrome/browser/ui/external_file_controller.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..20290bb1bec84450ff5548bbcc260bbe64e3a781 |
--- /dev/null |
+++ b/ios/chrome/browser/ui/external_file_controller.h |
@@ -0,0 +1,37 @@ |
+// Copyright 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef IOS_CHROME_BROWSER_UI_EXTERNAL_FILE_CONTROLLER_H_ |
+#define IOS_CHROME_BROWSER_UI_EXTERNAL_FILE_CONTROLLER_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+#include "base/mac/scoped_nsobject.h" |
+#import "ios/chrome/browser/ui/native_content_controller.h" |
+ |
+namespace web { |
+class BrowserState; |
+} |
+ |
+// Native content controller for presenting external files received from |
+// other applications. These files are saved in the |
+// <Application_Home>/Documents/Inbox directory by the iOS framework. |
+@interface ExternalFileController : NativeContentController |
+// Initialize with an |url| of the form "chrome://external-file/<file_name>" |
+// where |file_name| is the name of the file received from another application. |
+- (instancetype)initWithURL:(const GURL&)URL |
+ browserState:(web::BrowserState*)browserState; |
+ |
+// Returns the path in the application sandbox of an external file from the |
+// URL received for that file. |
++ (NSString*)pathForExternalFileURL:(const GURL&)url; |
+ |
+// Removes all the files in the Inbox directory that are not in |
+// |filesToKeep| and that are older than |ageInDays| days. |
+// |filesToKeep| may be nil if all files should be removed. |
++ (void)removeFilesExcluding:(NSSet*)filesToKeep olderThan:(NSInteger)ageInDays; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_UI_EXTERNAL_FILE_CONTROLLER_H_ |