| 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 80364f53a2b782c8df092d0dd829151804e40433..4c4f20edb3db92bb2014d816968bcac19444db09 100644
|
| --- a/ios/web/web_state/web_state_impl.mm
|
| +++ b/ios/web/web_state/web_state_impl.mm
|
| @@ -43,12 +43,10 @@
|
|
|
| /* static */
|
| std::unique_ptr<WebState> WebState::Create(const CreateParams& params) {
|
| - std::unique_ptr<WebStateImpl> web_state(
|
| - new WebStateImpl(params.browser_state));
|
| + std::unique_ptr<WebStateImpl> web_state(new WebStateImpl(params));
|
|
|
| // Initialize the new session.
|
| - BOOL opened_by_dom = NO;
|
| - web_state->GetNavigationManagerImpl().InitializeSession(opened_by_dom);
|
| + web_state->GetNavigationManagerImpl().InitializeSession();
|
|
|
| // This std::move is required to compile with the version of clang shipping
|
| // with Xcode 8.0+. Evalute whether the issue is fixed once a new version of
|
| @@ -60,7 +58,7 @@
|
| std::unique_ptr<WebState> WebState::Create(const CreateParams& params,
|
| CRWSessionStorage* session_storage) {
|
| std::unique_ptr<WebStateImpl> web_state(
|
| - new WebStateImpl(params.browser_state, session_storage));
|
| + new WebStateImpl(params, session_storage));
|
|
|
| // This std::move is required to compile with the version of clang shipping
|
| // with Xcode 8.0+. Evalute whether the issue is fixed once a new version of
|
| @@ -68,10 +66,10 @@
|
| return std::move(web_state);
|
| }
|
|
|
| -WebStateImpl::WebStateImpl(BrowserState* browser_state)
|
| - : WebStateImpl(browser_state, nullptr) {}
|
| +WebStateImpl::WebStateImpl(const CreateParams& params)
|
| + : WebStateImpl(params, nullptr) {}
|
|
|
| -WebStateImpl::WebStateImpl(BrowserState* browser_state,
|
| +WebStateImpl::WebStateImpl(const CreateParams& params,
|
| CRWSessionStorage* session_storage)
|
| : delegate_(nullptr),
|
| is_loading_(false),
|
| @@ -79,6 +77,7 @@
|
| facade_delegate_(nullptr),
|
| web_controller_(nil),
|
| interstitial_(nullptr),
|
| + created_with_opener_(params.created_with_opener),
|
| weak_factory_(this) {
|
| // Create or deserialize the NavigationManager.
|
| if (session_storage) {
|
| @@ -88,7 +87,7 @@
|
| navigation_manager_.reset(new NavigationManagerImpl());
|
| }
|
| navigation_manager_->SetDelegate(this);
|
| - navigation_manager_->SetBrowserState(browser_state);
|
| + navigation_manager_->SetBrowserState(params.browser_state);
|
| // Send creation event and create the web controller.
|
| GlobalWebStateEventTracker::GetInstance()->OnWebStateCreated(this);
|
| web_controller_.reset([[CRWWebController alloc] initWithWebState:this]);
|
| @@ -727,6 +726,10 @@
|
| return [web_controller_ webViewProxy];
|
| }
|
|
|
| +bool WebStateImpl::HasOpener() const {
|
| + return created_with_opener_;
|
| +}
|
| +
|
| void WebStateImpl::OnProvisionalNavigationStarted(const GURL& url) {
|
| for (auto& observer : observers_)
|
| observer.ProvisionalNavigationStarted(url);
|
|
|