Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(218)

Side by Side Diff: ios/web/web_state/ui/crw_ui_simple_web_view_controller.mm

Issue 1804273002: Removing CRWUISimpleWebViewController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: y Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 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 #import "ios/web/web_state/ui/crw_ui_simple_web_view_controller.h"
6
7 #include "base/ios/weak_nsobject.h"
8 #import "base/logging.h"
9 #import "base/mac/scoped_nsobject.h"
10
11 @interface CRWUISimpleWebViewController () <UIWebViewDelegate>
12 @end
13
14 @implementation CRWUISimpleWebViewController {
15 base::scoped_nsobject<UIWebView> _webView;
16 base::WeakNSProtocol<id<CRWSimpleWebViewControllerDelegate>> _delegate;
17 }
18
19 - (instancetype)initWithUIWebView:(UIWebView*)webView {
20 self = [super init];
21 if (self) {
22 DCHECK(webView);
23 _webView.reset([webView retain]);
24 [_webView setDelegate:self];
25 }
26 return self;
27 }
28
29 - (void)dealloc {
30 [_webView setDelegate:nil];
31 [super dealloc];
32 }
33
34 #pragma mark -
35 #pragma mark CRWSimpleWebView implementation
36
37 - (void)reload {
38 [_webView reload];
39 }
40
41 - (UIView*)view {
42 return _webView.get();
43 }
44
45 - (UIScrollView*)scrollView {
46 return [_webView scrollView];
47 }
48
49 - (NSString*)title {
50 return [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];
51 }
52
53 - (void)loadRequest:(NSURLRequest*)request {
54 [_webView loadRequest:request];
55 }
56
57 - (void)loadHTMLString:(NSString*)html baseURL:(NSURL*)baseURL {
58 [_webView loadHTMLString:html baseURL:baseURL];
59 }
60
61 - (void)setDelegate:(id<CRWSimpleWebViewControllerDelegate>)delegate {
62 _delegate.reset(delegate);
63 }
64
65 - (id<CRWSimpleWebViewControllerDelegate>)delegate {
66 return _delegate.get();
67 }
68
69 - (void)loadPDFAtFilePath:(NSString*)filePath {
70 DCHECK([[NSFileManager defaultManager] fileExistsAtPath:filePath]);
71 NSData* data = [NSData dataWithContentsOfFile:filePath];
72 [_webView loadData:data
73 MIMEType:@"application/pdf"
74 textEncodingName:@"utf-8"
75 baseURL:[NSURL URLWithString:@""]];
76 }
77
78 - (void)evaluateJavaScript:(NSString*)script
79 stringResultHandler:(web::JavaScriptCompletion)handler {
80 web::EvaluateJavaScript(_webView, script, handler);
81 }
82
83 #pragma mark -
84 #pragma mark UIWebViewDelegateMethods
85
86 - (BOOL)webView:(UIWebView*)webView
87 shouldStartLoadWithRequest:(NSURLRequest*)request
88 navigationType:(UIWebViewNavigationType)navigationType {
89 if ([_delegate respondsToSelector:@selector(simpleWebViewController:
90 shouldStartLoadWithRequest:)]) {
91 return [_delegate simpleWebViewController:self
92 shouldStartLoadWithRequest:request];
93 }
94 // By default all loads are allowed.
95 return YES;
96 }
97
98 - (void)webViewDidFinishLoad:(UIWebView*)webView {
99 if (![_delegate respondsToSelector:@selector(simpleWebViewController:
100 titleMayHaveChanged:)]) {
101 return;
102 }
103 [_delegate simpleWebViewController:self titleMayHaveChanged:self.title];
104 }
105
106 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698