Chromium Code Reviews| Index: ios/web/web_state/web_state_impl.mm |
| diff --git a/ios/web/web_state/web_state_impl.mm b/ios/web/web_state/web_state_impl.mm |
| index d918d551104742002c9fe8f0f0c4464aceed938f..68ec99439ebb26a8dd286fe8c28a57245b371b8d 100644 |
| --- a/ios/web/web_state/web_state_impl.mm |
| +++ b/ios/web/web_state/web_state_impl.mm |
| @@ -18,6 +18,7 @@ |
| #import "ios/web/navigation/legacy_navigation_manager_impl.h" |
| #import "ios/web/navigation/navigation_item_impl.h" |
| #import "ios/web/navigation/session_storage_builder.h" |
| +#import "ios/web/navigation/wk_based_navigation_manager_impl.h" |
| #include "ios/web/public/browser_state.h" |
| #import "ios/web/public/crw_session_storage.h" |
| #import "ios/web/public/java_script_dialog_presenter.h" |
| @@ -37,6 +38,7 @@ |
| #import "ios/web/web_state/session_certificate_policy_cache_impl.h" |
| #import "ios/web/web_state/ui/crw_web_controller.h" |
| #import "ios/web/web_state/ui/crw_web_controller_container_view.h" |
| +#import "ios/web/web_state/ui/web_view_navigation_proxy.h" |
| #include "ios/web/webui/web_ui_ios_controller_factory_registry.h" |
| #include "ios/web/webui/web_ui_ios_impl.h" |
| #include "net/http/http_response_headers.h" |
| @@ -80,12 +82,18 @@ WebStateImpl::WebStateImpl(const CreateParams& params, |
| created_with_opener_(params.created_with_opener), |
| weak_factory_(this) { |
| // Create or deserialize the NavigationManager. |
| + if (web::GetWebClient()->IsSlimNavigationManagerEnabled()) { |
| + navigation_manager_ = base::WrapUnique<NavigationManagerImpl>( |
|
Eugene But (OOO till 7-30)
2017/06/29 22:28:02
nit: Is it possible to use MakeUnique now?
danyao
2017/06/29 23:09:48
Yes. :)
|
| + new WKBasedNavigationManagerImpl); |
| + } else { |
| + navigation_manager_ = base::WrapUnique<NavigationManagerImpl>( |
| + new LegacyNavigationManagerImpl); |
| + } |
| + |
| if (session_storage) { |
| SessionStorageBuilder session_storage_builder; |
| session_storage_builder.ExtractSessionState(this, session_storage); |
| } else { |
| - navigation_manager_ = base::WrapUnique<NavigationManagerImpl>( |
| - new LegacyNavigationManagerImpl); |
| certificate_policy_cache_ = |
| base::MakeUnique<SessionCertificatePolicyCacheImpl>(); |
| } |
| @@ -737,4 +745,8 @@ WebState* WebStateImpl::GetWebState() { |
| return this; |
| } |
| +id<WebViewNavigationProxy> WebStateImpl::GetWebViewNavigationProxy() const { |
| + return [web_controller_ webViewNavigationProxy]; |
| +} |
| + |
| } // namespace web |