OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/renderer/extensions/chrome_extensions_renderer_client.h" | 5 #include "chrome/renderer/extensions/chrome_extensions_renderer_client.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 // process. Use the URL of the opener's local frame root, which will | 78 // process. Use the URL of the opener's local frame root, which will |
79 // correctly handle any site isolation modes (--site-per-process and | 79 // correctly handle any site isolation modes (--site-per-process and |
80 // --isolate-extensions). | 80 // --isolate-extensions). |
81 blink::WebLocalFrame* local_root = opener_frame->localRoot(); | 81 blink::WebLocalFrame* local_root = opener_frame->localRoot(); |
82 old_url = local_root->document().url(); | 82 old_url = local_root->document().url(); |
83 | 83 |
84 // If we're about to open a normal web page from a same-origin opener stuck | 84 // If we're about to open a normal web page from a same-origin opener stuck |
85 // in an extension process (other than the Chrome Web Store), we want to | 85 // in an extension process (other than the Chrome Web Store), we want to |
86 // keep it in process to allow the opener to script it. | 86 // keep it in process to allow the opener to script it. |
87 blink::WebDocument opener_document = opener_frame->document(); | 87 blink::WebDocument opener_document = opener_frame->document(); |
88 blink::WebSecurityOrigin opener_origin = opener_document.securityOrigin(); | 88 blink::WebSecurityOrigin opener_origin = |
| 89 opener_document.getSecurityOrigin(); |
89 bool opener_is_extension_url = !opener_origin.isUnique() && | 90 bool opener_is_extension_url = !opener_origin.isUnique() && |
90 extension_registry->GetExtensionOrAppByURL( | 91 extension_registry->GetExtensionOrAppByURL( |
91 opener_document.url()) != nullptr; | 92 opener_document.url()) != nullptr; |
92 const Extension* opener_top_extension = | 93 const Extension* opener_top_extension = |
93 extension_registry->GetExtensionOrAppByURL(old_url); | 94 extension_registry->GetExtensionOrAppByURL(old_url); |
94 bool opener_is_web_store = | 95 bool opener_is_web_store = |
95 opener_top_extension && | 96 opener_top_extension && |
96 opener_top_extension->id() == extensions::kWebStoreAppId; | 97 opener_top_extension->id() == extensions::kWebStoreAppId; |
97 if (!is_extension_url && !opener_is_extension_url && !opener_is_web_store && | 98 if (!is_extension_url && !opener_is_extension_url && !opener_is_web_store && |
98 IsStandaloneExtensionProcess() && | 99 IsStandaloneExtensionProcess() && |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 content::BrowserPluginDelegate* | 297 content::BrowserPluginDelegate* |
297 ChromeExtensionsRendererClient::CreateBrowserPluginDelegate( | 298 ChromeExtensionsRendererClient::CreateBrowserPluginDelegate( |
298 content::RenderFrame* render_frame, | 299 content::RenderFrame* render_frame, |
299 const std::string& mime_type, | 300 const std::string& mime_type, |
300 const GURL& original_url) { | 301 const GURL& original_url) { |
301 if (mime_type == content::kBrowserPluginMimeType) | 302 if (mime_type == content::kBrowserPluginMimeType) |
302 return new extensions::ExtensionsGuestViewContainer(render_frame); | 303 return new extensions::ExtensionsGuestViewContainer(render_frame); |
303 return new extensions::MimeHandlerViewContainer(render_frame, mime_type, | 304 return new extensions::MimeHandlerViewContainer(render_frame, mime_type, |
304 original_url); | 305 original_url); |
305 } | 306 } |
OLD | NEW |