| 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 2120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2131 render_process_id, main_frame_widget_route_id)] = new_contents; | 2131 render_process_id, main_frame_widget_route_id)] = new_contents; |
| 2132 AddDestructionObserver(new_contents); | 2132 AddDestructionObserver(new_contents); |
| 2133 } | 2133 } |
| 2134 | 2134 |
| 2135 if (delegate_) { | 2135 if (delegate_) { |
| 2136 delegate_->WebContentsCreated( | 2136 delegate_->WebContentsCreated( |
| 2137 this, render_process_id, params.opener_render_frame_id, | 2137 this, render_process_id, params.opener_render_frame_id, |
| 2138 params.frame_name, params.target_url, new_contents); | 2138 params.frame_name, params.target_url, new_contents); |
| 2139 } | 2139 } |
| 2140 | 2140 |
| 2141 RenderFrameHost* source_render_frame_host = |
| 2142 RenderFrameHost::FromID(render_process_id, params.opener_render_frame_id); |
| 2143 |
| 2144 if (source_render_frame_host) { |
| 2145 for (auto& observer : observers_) { |
| 2146 observer.DidOpenRequestedURL(new_contents, source_render_frame_host, |
| 2147 params.target_url, params.referrer, |
| 2148 params.disposition, ui::PAGE_TRANSITION_LINK, |
| 2149 false, // started_from_context_menu |
| 2150 true); // renderer_initiated |
| 2151 } |
| 2152 } |
| 2153 |
| 2141 if (params.opener_suppressed) { | 2154 if (params.opener_suppressed) { |
| 2142 // When the opener is suppressed, the original renderer cannot access the | 2155 // When the opener is suppressed, the original renderer cannot access the |
| 2143 // new window. As a result, we need to show and navigate the window here. | 2156 // new window. As a result, we need to show and navigate the window here. |
| 2144 bool was_blocked = false; | 2157 bool was_blocked = false; |
| 2145 if (delegate_) { | 2158 if (delegate_) { |
| 2146 gfx::Rect initial_rect; | 2159 gfx::Rect initial_rect; |
| 2147 base::WeakPtr<WebContentsImpl> weak_new_contents = | 2160 base::WeakPtr<WebContentsImpl> weak_new_contents = |
| 2148 new_contents->weak_factory_.GetWeakPtr(); | 2161 new_contents->weak_factory_.GetWeakPtr(); |
| 2149 | 2162 |
| 2150 delegate_->AddNewContents( | 2163 delegate_->AddNewContents( |
| (...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2593 if (source_render_frame_host && params.source_site_instance) { | 2606 if (source_render_frame_host && params.source_site_instance) { |
| 2594 CHECK_EQ(source_render_frame_host->GetSiteInstance(), | 2607 CHECK_EQ(source_render_frame_host->GetSiteInstance(), |
| 2595 params.source_site_instance.get()); | 2608 params.source_site_instance.get()); |
| 2596 } | 2609 } |
| 2597 | 2610 |
| 2598 if (new_contents && source_render_frame_host && new_contents != this) { | 2611 if (new_contents && source_render_frame_host && new_contents != this) { |
| 2599 for (auto& observer : observers_) { | 2612 for (auto& observer : observers_) { |
| 2600 observer.DidOpenRequestedURL(new_contents, source_render_frame_host, | 2613 observer.DidOpenRequestedURL(new_contents, source_render_frame_host, |
| 2601 params.url, params.referrer, | 2614 params.url, params.referrer, |
| 2602 params.disposition, params.transition, | 2615 params.disposition, params.transition, |
| 2603 params.started_from_context_menu); | 2616 params.started_from_context_menu, false); |
| 2604 } | 2617 } |
| 2605 } | 2618 } |
| 2606 | 2619 |
| 2607 return new_contents; | 2620 return new_contents; |
| 2608 } | 2621 } |
| 2609 | 2622 |
| 2610 bool WebContentsImpl::Send(IPC::Message* message) { | 2623 bool WebContentsImpl::Send(IPC::Message* message) { |
| 2611 if (!GetRenderViewHost()) { | 2624 if (!GetRenderViewHost()) { |
| 2612 delete message; | 2625 delete message; |
| 2613 return false; | 2626 return false; |
| (...skipping 2825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5439 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); | 5452 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); |
| 5440 if (!render_view_host) | 5453 if (!render_view_host) |
| 5441 continue; | 5454 continue; |
| 5442 render_view_host_set.insert(render_view_host); | 5455 render_view_host_set.insert(render_view_host); |
| 5443 } | 5456 } |
| 5444 for (RenderViewHost* render_view_host : render_view_host_set) | 5457 for (RenderViewHost* render_view_host : render_view_host_set) |
| 5445 render_view_host->OnWebkitPreferencesChanged(); | 5458 render_view_host->OnWebkitPreferencesChanged(); |
| 5446 } | 5459 } |
| 5447 | 5460 |
| 5448 } // namespace content | 5461 } // namespace content |
| OLD | NEW |