| 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 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2602 if (source_render_frame_host && params.source_site_instance) { | 2615 if (source_render_frame_host && params.source_site_instance) { |
| 2603 CHECK_EQ(source_render_frame_host->GetSiteInstance(), | 2616 CHECK_EQ(source_render_frame_host->GetSiteInstance(), |
| 2604 params.source_site_instance.get()); | 2617 params.source_site_instance.get()); |
| 2605 } | 2618 } |
| 2606 | 2619 |
| 2607 if (new_contents && source_render_frame_host && new_contents != this) { | 2620 if (new_contents && source_render_frame_host && new_contents != this) { |
| 2608 for (auto& observer : observers_) { | 2621 for (auto& observer : observers_) { |
| 2609 observer.DidOpenRequestedURL(new_contents, source_render_frame_host, | 2622 observer.DidOpenRequestedURL(new_contents, source_render_frame_host, |
| 2610 params.url, params.referrer, | 2623 params.url, params.referrer, |
| 2611 params.disposition, params.transition, | 2624 params.disposition, params.transition, |
| 2612 params.started_from_context_menu); | 2625 params.started_from_context_menu, false); |
| 2613 } | 2626 } |
| 2614 } | 2627 } |
| 2615 | 2628 |
| 2616 return new_contents; | 2629 return new_contents; |
| 2617 } | 2630 } |
| 2618 | 2631 |
| 2619 bool WebContentsImpl::Send(IPC::Message* message) { | 2632 bool WebContentsImpl::Send(IPC::Message* message) { |
| 2620 if (!GetRenderViewHost()) { | 2633 if (!GetRenderViewHost()) { |
| 2621 delete message; | 2634 delete message; |
| 2622 return false; | 2635 return false; |
| (...skipping 2796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5419 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); | 5432 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); |
| 5420 if (!render_view_host) | 5433 if (!render_view_host) |
| 5421 continue; | 5434 continue; |
| 5422 render_view_host_set.insert(render_view_host); | 5435 render_view_host_set.insert(render_view_host); |
| 5423 } | 5436 } |
| 5424 for (RenderViewHost* render_view_host : render_view_host_set) | 5437 for (RenderViewHost* render_view_host : render_view_host_set) |
| 5425 render_view_host->OnWebkitPreferencesChanged(); | 5438 render_view_host->OnWebkitPreferencesChanged(); |
| 5426 } | 5439 } |
| 5427 | 5440 |
| 5428 } // namespace content | 5441 } // namespace content |
| OLD | NEW |