Index: ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.h |
diff --git a/ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.h b/ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..973b29519c8a642ab5f7e114d6bacadd489b2e6d |
--- /dev/null |
+++ b/ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.h |
@@ -0,0 +1,34 @@ |
+// 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_PUBLIC_PROVIDER_CHROME_BROWSER_UI_DEFAULT_IOS_WEB_VIEW_FACTORY_H_ |
+#define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_UI_DEFAULT_IOS_WEB_VIEW_FACTORY_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+// External services to use in |newExternalWebView:|. |
+typedef enum { |
+ SSO_AUTHENTICATION, |
+ NUM_SHARING_SERVICES |
+} IOSWebViewFactoryExternalService; |
+ |
+@protocol IOSWebViewFactory |
+ |
+// Returns a new instance of |UIWebView| that will be used within external |
+// libraries. |
++ (UIWebView*) |
+ newExternalWebView:(IOSWebViewFactoryExternalService)externalService; |
+ |
+@end |
+ |
+// Factory for creating |UIWebView|'s on iOS. Returns vanilla |UIWebView|'s by |
+// default, with an interface by which another class implementing |
+// |IOSWebViewFactory| can register to have its methods called instead. |
+@interface DefaultIOSWebViewFactory : NSObject<IOSWebViewFactory> |
+ |
++ (void)registerWebViewFactory:(Class)webViewFactoryClass; |
+ |
+@end |
+ |
+#endif // IOS_PUBLIC_PROVIDER_CHROME_BROWSER_UI_DEFAULT_IOS_WEB_VIEW_FACTORY_H_ |