Index: ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.mm |
diff --git a/ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.mm b/ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ad97ae0c1ae3557b7ce4af9745c7590d967304dc |
--- /dev/null |
+++ b/ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.mm |
@@ -0,0 +1,30 @@ |
+// 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. |
+ |
+#import "ios/public/provider/chrome/browser/ui/default_ios_web_view_factory.h" |
+ |
+#include "base/logging.h" |
+ |
+namespace { |
+Class g_registered_factory_class = nil; |
+} // namespace |
+ |
+@implementation DefaultIOSWebViewFactory |
+ |
++ (void)registerWebViewFactory:(Class)webViewFactoryClass { |
+ DCHECK([webViewFactoryClass conformsToProtocol:@protocol(IOSWebViewFactory)]); |
+ g_registered_factory_class = webViewFactoryClass; |
+} |
+ |
+#pragma mark - |
+#pragma mark IOSWebViewFactory |
+ |
++ (UIWebView*) |
+ newExternalWebView:(IOSWebViewFactoryExternalService)externalService { |
+ if (g_registered_factory_class) |
+ return [g_registered_factory_class newExternalWebView:externalService]; |
+ return [[UIWebView alloc] init]; |
+} |
+ |
+@end |