OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "content/browser/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <cmath> | 9 #include <cmath> |
10 #include <utility> | 10 #include <utility> |
(...skipping 2557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2568 | 2568 |
2569 if (delegate_) | 2569 if (delegate_) |
2570 delegate_->ResizeDueToAutoResize(this, new_size); | 2570 delegate_->ResizeDueToAutoResize(this, new_size); |
2571 } | 2571 } |
2572 | 2572 |
2573 WebContents* WebContentsImpl::OpenURL(const OpenURLParams& params) { | 2573 WebContents* WebContentsImpl::OpenURL(const OpenURLParams& params) { |
2574 if (!delegate_) | 2574 if (!delegate_) |
2575 return NULL; | 2575 return NULL; |
2576 | 2576 |
2577 WebContents* new_contents = delegate_->OpenURLFromTab(this, params); | 2577 WebContents* new_contents = delegate_->OpenURLFromTab(this, params); |
2578 | |
2579 RenderFrameHost* render_frame_host = | |
2580 RenderFrameHost::FromID(params.render_process_id, params.render_frame_id); | |
2581 | |
nasko
2017/02/14 01:20:11
I realized we discussed one thing I forgot to ment
Patrick Noland
2017/02/14 21:33:59
Done.
| |
2582 if (new_contents && render_frame_host && new_contents != this) { | |
2583 for (auto& observer : observers_) { | |
2584 observer.DidOpenRequestedURL(new_contents, render_frame_host, params.url, | |
2585 params.referrer, params.disposition, | |
2586 params.transition, | |
2587 params.started_from_context_menu); | |
2588 } | |
2589 } | |
2590 | |
2578 return new_contents; | 2591 return new_contents; |
2579 } | 2592 } |
2580 | 2593 |
2581 bool WebContentsImpl::Send(IPC::Message* message) { | 2594 bool WebContentsImpl::Send(IPC::Message* message) { |
2582 if (!GetRenderViewHost()) { | 2595 if (!GetRenderViewHost()) { |
2583 delete message; | 2596 delete message; |
2584 return false; | 2597 return false; |
2585 } | 2598 } |
2586 | 2599 |
2587 return GetRenderViewHost()->Send(message); | 2600 return GetRenderViewHost()->Send(message); |
(...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3361 NotifyNavigationStateChanged(changed_flags); | 3374 NotifyNavigationStateChanged(changed_flags); |
3362 } | 3375 } |
3363 | 3376 |
3364 void WebContentsImpl::DidStartNavigationToPendingEntry(const GURL& url, | 3377 void WebContentsImpl::DidStartNavigationToPendingEntry(const GURL& url, |
3365 ReloadType reload_type) { | 3378 ReloadType reload_type) { |
3366 // Notify observers about navigation. | 3379 // Notify observers about navigation. |
3367 for (auto& observer : observers_) | 3380 for (auto& observer : observers_) |
3368 observer.DidStartNavigationToPendingEntry(url, reload_type); | 3381 observer.DidStartNavigationToPendingEntry(url, reload_type); |
3369 } | 3382 } |
3370 | 3383 |
3371 void WebContentsImpl::RequestOpenURL(RenderFrameHostImpl* render_frame_host, | |
3372 const OpenURLParams& params) { | |
3373 // OpenURL can blow away the source RFH. Use the process/frame routing ID as a | |
3374 // weak pointer of sorts. | |
3375 const int32_t process_id = render_frame_host->GetProcess()->GetID(); | |
3376 const int32_t frame_id = render_frame_host->GetRoutingID(); | |
3377 | |
3378 WebContents* new_contents = OpenURL(params); | |
3379 | |
3380 if (new_contents && RenderFrameHost::FromID(process_id, frame_id)) { | |
3381 // Notify observers. | |
3382 for (auto& observer : observers_) { | |
3383 observer.DidOpenRequestedURL(new_contents, render_frame_host, params.url, | |
3384 params.referrer, params.disposition, | |
3385 params.transition); | |
3386 } | |
3387 } | |
3388 } | |
3389 | |
3390 bool WebContentsImpl::ShouldTransferNavigation(bool is_main_frame_navigation) { | 3384 bool WebContentsImpl::ShouldTransferNavigation(bool is_main_frame_navigation) { |
3391 if (!delegate_) | 3385 if (!delegate_) |
3392 return true; | 3386 return true; |
3393 return delegate_->ShouldTransferNavigation(is_main_frame_navigation); | 3387 return delegate_->ShouldTransferNavigation(is_main_frame_navigation); |
3394 } | 3388 } |
3395 | 3389 |
3396 bool WebContentsImpl::ShouldPreserveAbortedURLs() { | 3390 bool WebContentsImpl::ShouldPreserveAbortedURLs() { |
3397 if (!delegate_) | 3391 if (!delegate_) |
3398 return false; | 3392 return false; |
3399 return delegate_->ShouldPreserveAbortedURLs(this); | 3393 return delegate_->ShouldPreserveAbortedURLs(this); |
(...skipping 1975 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5375 GetMainFrame()->AddMessageToConsole( | 5369 GetMainFrame()->AddMessageToConsole( |
5376 content::CONSOLE_MESSAGE_LEVEL_WARNING, | 5370 content::CONSOLE_MESSAGE_LEVEL_WARNING, |
5377 base::StringPrintf("This site does not have a valid SSL " | 5371 base::StringPrintf("This site does not have a valid SSL " |
5378 "certificate! Without SSL, your site's and " | 5372 "certificate! Without SSL, your site's and " |
5379 "visitors' data is vulnerable to theft and " | 5373 "visitors' data is vulnerable to theft and " |
5380 "tampering. Get a valid SSL certificate before" | 5374 "tampering. Get a valid SSL certificate before" |
5381 " releasing your website to the public.")); | 5375 " releasing your website to the public.")); |
5382 } | 5376 } |
5383 | 5377 |
5384 } // namespace content | 5378 } // namespace content |
OLD | NEW |