Index: chrome/browser/nacl_host/nacl_browser_delegate_impl.cc |
diff --git a/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc b/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc |
index b30a3ae0789a1dfb82969b250b67b19187abd5e8..77c5795f5e98eb7b6980ca67cd2945ca76dc17e6 100644 |
--- a/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc |
+++ b/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc |
@@ -17,6 +17,7 @@ |
#include "chrome/common/chrome_paths_internal.h" |
#include "chrome/common/chrome_version_info.h" |
#include "chrome/common/logging_chrome.h" |
+#include "chrome/common/pepper_permission_util.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/site_instance.h" |
@@ -33,6 +34,13 @@ using extensions::SharedModuleInfo; |
namespace { |
+// These are tempoararily needed for testing non-sfi mode on ChromeOS without |
jln (very slow on Chromium)
2014/05/08 23:22:41
nit: temporarily
elijahtaylor1
2014/05/09 00:33:28
Done.
|
+// passing command-line arguments to Chrome. |
+const char* const kAllowedNonSfiOrigins[] = { |
+ "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/355141 |
+ "4EB74897CB187C7633357C2FE832E0AD6A44883A" // see crbug.com/355141 |
+}; |
+ |
// Handles an extension's NaCl process transitioning in or out of idle state by |
// relaying the state to the extension's process manager. |
// |
@@ -105,7 +113,11 @@ void OnKeepalive( |
NaClBrowserDelegateImpl::NaClBrowserDelegateImpl( |
extensions::InfoMap* extension_info_map) |
- : extension_info_map_(extension_info_map), inverse_debug_patterns_(false) {} |
+ : extension_info_map_(extension_info_map), inverse_debug_patterns_(false) { |
+ for (size_t i = 0; i < arraysize(kAllowedNonSfiOrigins); ++i) { |
+ allowed_nonsfi_origins_.insert(kAllowedNonSfiOrigins[i]); |
+ } |
+} |
NaClBrowserDelegateImpl::~NaClBrowserDelegateImpl() { |
} |
@@ -265,3 +277,10 @@ content::BrowserPpapiHost::OnKeepaliveCallback |
NaClBrowserDelegateImpl::GetOnKeepaliveCallback() { |
return base::Bind(&OnKeepalive); |
} |
+ |
+bool NaClBrowserDelegateImpl::IsNonSfiModeAllowed(const GURL& manifest_url) { |
+ const extensions::ExtensionSet* extension_set = |
+ &extension_info_map_->extensions(); |
+ return chrome::IsExtensionOrSharedModuleWhitelisted( |
+ manifest_url, extension_set, allowed_nonsfi_origins_); |
+} |