Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(474)

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 261013005: BrowserPlugin: Move CreateGuest to chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@guestview_manager_simplify_api
Patch Set: Removed unnecessary includes Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "content/browser/renderer_host/render_process_host_impl.h" 8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 1567 matching lines...) Expand 10 before | Expand all | Expand 10 after
1578 return; 1578 return;
1579 } 1579 }
1580 1580
1581 if (url->SchemeIs(kAboutScheme)) { 1581 if (url->SchemeIs(kAboutScheme)) {
1582 // The renderer treats all URLs in the about: scheme as being about:blank. 1582 // The renderer treats all URLs in the about: scheme as being about:blank.
1583 // Canonicalize about: URLs to about:blank. 1583 // Canonicalize about: URLs to about:blank.
1584 *url = GURL(kAboutBlankURL); 1584 *url = GURL(kAboutBlankURL);
1585 RecordAction(base::UserMetricsAction("FilterURLTermiate_About")); 1585 RecordAction(base::UserMetricsAction("FilterURLTermiate_About"));
1586 } 1586 }
1587 1587
1588 // Do not allow browser plugin guests to navigate to non-web URLs, since they 1588 if (!policy->CanRequestURL(rph->GetID(), *url)) {
1589 // cannot swap processes or grant bindings.
1590 bool non_web_url_in_guest = rph->IsGuest() &&
1591 !(url->is_valid() && policy->IsWebSafeScheme(url->scheme()));
1592
1593 if (non_web_url_in_guest || !policy->CanRequestURL(rph->GetID(), *url)) {
1594 // If this renderer is not permitted to request this URL, we invalidate the 1589 // If this renderer is not permitted to request this URL, we invalidate the
1595 // URL. This prevents us from storing the blocked URL and becoming confused 1590 // URL. This prevents us from storing the blocked URL and becoming confused
1596 // later. 1591 // later.
1597 VLOG(1) << "Blocked URL " << url->spec(); 1592 VLOG(1) << "Blocked URL " << url->spec();
1598 *url = GURL(kAboutBlankURL); 1593 *url = GURL(kAboutBlankURL);
1599 RecordAction(base::UserMetricsAction("FilterURLTermiate_Blocked")); 1594 RecordAction(base::UserMetricsAction("FilterURLTermiate_Blocked"));
1600 } 1595 }
1601 } 1596 }
1602 1597
1603 // static 1598 // static
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
2075 mojo::ScopedMessagePipeHandle handle) { 2070 mojo::ScopedMessagePipeHandle handle) {
2076 mojo_activation_required_ = true; 2071 mojo_activation_required_ = true;
2077 MaybeActivateMojo(); 2072 MaybeActivateMojo();
2078 2073
2079 mojo::AllocationScope scope; 2074 mojo::AllocationScope scope;
2080 mojo_application_host_->shell_client()->AcceptConnection(service_name, 2075 mojo_application_host_->shell_client()->AcceptConnection(service_name,
2081 handle.Pass()); 2076 handle.Pass());
2082 } 2077 }
2083 2078
2084 } // namespace content 2079 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698