OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "ios/web_view/public/cwv_web_view.h" | 5 #import "ios/web_view/public/cwv_web_view.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #import "base/ios/weak_nsobject.h" | 10 #import "base/ios/weak_nsobject.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 @property(nonatomic, readwrite) NSURL* lastCommittedURL; | 80 @property(nonatomic, readwrite) NSURL* lastCommittedURL; |
81 @property(nonatomic, readwrite) BOOL loading; | 81 @property(nonatomic, readwrite) BOOL loading; |
82 @property(nonatomic, readwrite, copy) NSString* title; | 82 @property(nonatomic, readwrite, copy) NSString* title; |
83 @property(nonatomic, readwrite) NSURL* visibleURL; | 83 @property(nonatomic, readwrite) NSURL* visibleURL; |
84 | 84 |
85 // Updates the availability of the back/forward navigation properties exposed | 85 // Updates the availability of the back/forward navigation properties exposed |
86 // through |canGoBack| and |canGoForward|. | 86 // through |canGoBack| and |canGoForward|. |
87 - (void)updateNavigationAvailability; | 87 - (void)updateNavigationAvailability; |
88 // Updates the URLs exposed through |lastCommittedURL| and |visibleURL|. | 88 // Updates the URLs exposed through |lastCommittedURL| and |visibleURL|. |
89 - (void)updateCurrentURLs; | 89 - (void)updateCurrentURLs; |
| 90 // Updates |title| property. |
| 91 - (void)updateTitle; |
90 | 92 |
91 @end | 93 @end |
92 | 94 |
93 static NSString* gUserAgentProduct = nil; | 95 static NSString* gUserAgentProduct = nil; |
94 | 96 |
95 @implementation CWVWebView | 97 @implementation CWVWebView |
96 | 98 |
97 @synthesize canGoBack = _canGoBack; | 99 @synthesize canGoBack = _canGoBack; |
98 @synthesize canGoForward = _canGoForward; | 100 @synthesize canGoForward = _canGoForward; |
99 @synthesize configuration = _configuration; | 101 @synthesize configuration = _configuration; |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 | 234 |
233 - (void)webStateDidStopLoading:(web::WebState*)webState { | 235 - (void)webStateDidStopLoading:(web::WebState*)webState { |
234 self.loading = _webState->IsLoading(); | 236 self.loading = _webState->IsLoading(); |
235 } | 237 } |
236 | 238 |
237 - (void)webStateDidStartLoading:(web::WebState*)webState { | 239 - (void)webStateDidStartLoading:(web::WebState*)webState { |
238 self.loading = _webState->IsLoading(); | 240 self.loading = _webState->IsLoading(); |
239 } | 241 } |
240 | 242 |
241 - (void)webStateDidChangeTitle:(web::WebState*)webState { | 243 - (void)webStateDidChangeTitle:(web::WebState*)webState { |
242 self.title = base::SysUTF16ToNSString(_webState->GetTitle()); | 244 [self updateTitle]; |
243 } | 245 } |
244 | 246 |
245 - (void)renderProcessGoneForWebState:(web::WebState*)webState { | 247 - (void)renderProcessGoneForWebState:(web::WebState*)webState { |
246 SEL selector = @selector(webViewWebContentProcessDidTerminate:); | 248 SEL selector = @selector(webViewWebContentProcessDidTerminate:); |
247 if ([_navigationDelegate respondsToSelector:selector]) { | 249 if ([_navigationDelegate respondsToSelector:selector]) { |
248 [_navigationDelegate webViewWebContentProcessDidTerminate:self]; | 250 [_navigationDelegate webViewWebContentProcessDidTerminate:self]; |
249 } | 251 } |
250 } | 252 } |
251 | 253 |
252 - (BOOL)webState:(web::WebState*)webState | 254 - (BOOL)webState:(web::WebState*)webState |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 | 368 |
367 _javaScriptDialogPresenter = | 369 _javaScriptDialogPresenter = |
368 base::MakeUnique<ios_web_view::WebViewJavaScriptDialogPresenter>(self, | 370 base::MakeUnique<ios_web_view::WebViewJavaScriptDialogPresenter>(self, |
369 nullptr); | 371 nullptr); |
370 | 372 |
371 _scrollView.proxy = _webState.get()->GetWebViewProxy().scrollViewProxy; | 373 _scrollView.proxy = _webState.get()->GetWebViewProxy().scrollViewProxy; |
372 | 374 |
373 _translationController.webState = _webState.get(); | 375 _translationController.webState = _webState.get(); |
374 | 376 |
375 [self addInternalWebViewAsSubview]; | 377 [self addInternalWebViewAsSubview]; |
| 378 |
| 379 [self updateNavigationAvailability]; |
| 380 [self updateCurrentURLs]; |
| 381 [self updateTitle]; |
| 382 self.loading = NO; |
| 383 self.estimatedProgress = 0.0; |
376 } | 384 } |
377 | 385 |
378 // Adds the web view provided by |_webState| as a subview unless it has already. | 386 // Adds the web view provided by |_webState| as a subview unless it has already. |
379 - (void)addInternalWebViewAsSubview { | 387 - (void)addInternalWebViewAsSubview { |
380 UIView* subview = _webState->GetView(); | 388 UIView* subview = _webState->GetView(); |
381 if (subview.superview == self) { | 389 if (subview.superview == self) { |
382 return; | 390 return; |
383 } | 391 } |
384 subview.frame = self.bounds; | 392 subview.frame = self.bounds; |
385 subview.autoresizingMask = | 393 subview.autoresizingMask = |
386 UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; | 394 UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; |
387 [self addSubview:subview]; | 395 [self addSubview:subview]; |
388 } | 396 } |
389 | 397 |
390 - (void)updateNavigationAvailability { | 398 - (void)updateNavigationAvailability { |
391 self.canGoBack = _webState && _webState->GetNavigationManager()->CanGoBack(); | 399 self.canGoBack = _webState && _webState->GetNavigationManager()->CanGoBack(); |
392 self.canGoForward = | 400 self.canGoForward = |
393 _webState && _webState->GetNavigationManager()->CanGoForward(); | 401 _webState && _webState->GetNavigationManager()->CanGoForward(); |
394 } | 402 } |
395 | 403 |
396 - (void)updateCurrentURLs { | 404 - (void)updateCurrentURLs { |
397 self.lastCommittedURL = net::NSURLWithGURL(_webState->GetLastCommittedURL()); | 405 self.lastCommittedURL = net::NSURLWithGURL(_webState->GetLastCommittedURL()); |
398 self.visibleURL = net::NSURLWithGURL(_webState->GetVisibleURL()); | 406 self.visibleURL = net::NSURLWithGURL(_webState->GetVisibleURL()); |
399 } | 407 } |
400 | 408 |
| 409 - (void)updateTitle { |
| 410 self.title = base::SysUTF16ToNSString(_webState->GetTitle()); |
| 411 } |
| 412 |
401 @end | 413 @end |
OLD | NEW |