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

Unified Diff: chrome/browser/nacl_host/nacl_browser_delegate_impl.cc

Issue 264923011: Add a whitelist check for nacl-nonsfi mode (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: feedback 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 side-by-side diff with in-line comments
Download patch
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_);
+}

Powered by Google App Engine
This is Rietveld 408576698