| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/frame_host/render_frame_host_impl.h" | 5 #include "content/browser/frame_host/render_frame_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 3396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3407 pending_web_ui_ = delegate_->CreateWebUIForRenderFrameHost(dest_url); | 3407 pending_web_ui_ = delegate_->CreateWebUIForRenderFrameHost(dest_url); |
| 3408 DCHECK(pending_web_ui_); | 3408 DCHECK(pending_web_ui_); |
| 3409 pending_web_ui_type_ = new_web_ui_type; | 3409 pending_web_ui_type_ = new_web_ui_type; |
| 3410 | 3410 |
| 3411 // If we have assigned (zero or more) bindings to the NavigationEntry in | 3411 // If we have assigned (zero or more) bindings to the NavigationEntry in |
| 3412 // the past, make sure we're not granting it different bindings than it | 3412 // the past, make sure we're not granting it different bindings than it |
| 3413 // had before. If so, note it and don't give it any bindings, to avoid a | 3413 // had before. If so, note it and don't give it any bindings, to avoid a |
| 3414 // potential privilege escalation. | 3414 // potential privilege escalation. |
| 3415 if (entry_bindings != NavigationEntryImpl::kInvalidBindings && | 3415 if (entry_bindings != NavigationEntryImpl::kInvalidBindings && |
| 3416 pending_web_ui_->GetBindings() != entry_bindings) { | 3416 pending_web_ui_->GetBindings() != entry_bindings) { |
| 3417 RecordAction( | 3417 base::RecordAction( |
| 3418 base::UserMetricsAction("ProcessSwapBindingsMismatch_RVHM")); | 3418 base::UserMetricsAction("ProcessSwapBindingsMismatch_RVHM")); |
| 3419 ClearPendingWebUI(); | 3419 ClearPendingWebUI(); |
| 3420 } | 3420 } |
| 3421 } | 3421 } |
| 3422 } | 3422 } |
| 3423 DCHECK_EQ(!pending_web_ui_, pending_web_ui_type_ == WebUI::kNoWebUI); | 3423 DCHECK_EQ(!pending_web_ui_, pending_web_ui_type_ == WebUI::kNoWebUI); |
| 3424 | 3424 |
| 3425 // Either grant or check the RenderViewHost with/for proper bindings. | 3425 // Either grant or check the RenderViewHost with/for proper bindings. |
| 3426 if (pending_web_ui_ && !render_view_host_->GetProcess()->IsForGuestsOnly()) { | 3426 if (pending_web_ui_ && !render_view_host_->GetProcess()->IsForGuestsOnly()) { |
| 3427 // If a WebUI was created for the URL and the RenderView is not in a guest | 3427 // If a WebUI was created for the URL and the RenderView is not in a guest |
| (...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4209 } | 4209 } |
| 4210 | 4210 |
| 4211 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( | 4211 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( |
| 4212 const std::string& interface_name, | 4212 const std::string& interface_name, |
| 4213 mojo::ScopedMessagePipeHandle pipe) { | 4213 mojo::ScopedMessagePipeHandle pipe) { |
| 4214 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); | 4214 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); |
| 4215 } | 4215 } |
| 4216 #endif | 4216 #endif |
| 4217 | 4217 |
| 4218 } // namespace content | 4218 } // namespace content |
| OLD | NEW |