summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-08 23:54:27 +0000
committerasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-08 23:54:27 +0000
commitfd3df77805388c12b7a20149c4fc4a8c061df26d (patch)
tree8023b2d806afa6bfe69e502e0837d48ca7fd3d74 /apps
parentc91996eb60a08c62c329201e5468ee92afff1c13 (diff)
downloadchromium_src-fd3df77805388c12b7a20149c4fc4a8c061df26d.zip
chromium_src-fd3df77805388c12b7a20149c4fc4a8c061df26d.tar.gz
chromium_src-fd3df77805388c12b7a20149c4fc4a8c061df26d.tar.bz2
Beginning of support for extension content verification
The basic idea is that the webstore will provide signed expected hashes of file content that can be checked during runtime in the browser to detect corruption due to disk errors or malware. This CL has a lot of the high-level pieces, with several of the details left out for subsequent CLs to make this one more easily digestible. The design is that there is a ContentVerifier for each BrowserContext which can be used anywhere we read from files inside an extension. It vends out ContentVerifyJob's, which need to be informed of the bytes read from each file, and will know how to check those against a set of expected block hashes. If the job detects contents that don't match what was expected, it will notify the verifier. BUG=369895 R=rvargas@chromium.org, yoz@chromium.org Review URL: https://codereview.chromium.org/266963003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269108 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'apps')
-rw-r--r--apps/shell/browser/shell_extension_system.cc4
-rw-r--r--apps/shell/browser/shell_extension_system.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/apps/shell/browser/shell_extension_system.cc b/apps/shell/browser/shell_extension_system.cc
index f6a3b85..fffba35 100644
--- a/apps/shell/browser/shell_extension_system.cc
+++ b/apps/shell/browser/shell_extension_system.cc
@@ -170,4 +170,8 @@ const OneShotEvent& ShellExtensionSystem::ready() const {
return ready_;
}
+ContentVerifier* ShellExtensionSystem::content_verifier() {
+ return NULL;
+}
+
} // namespace extensions
diff --git a/apps/shell/browser/shell_extension_system.h b/apps/shell/browser/shell_extension_system.h
index 7f39211..a287d2d 100644
--- a/apps/shell/browser/shell_extension_system.h
+++ b/apps/shell/browser/shell_extension_system.h
@@ -67,6 +67,7 @@ class ShellExtensionSystem : public ExtensionSystem {
const std::string& extension_id,
const UnloadedExtensionInfo::Reason reason) OVERRIDE;
virtual const OneShotEvent& ready() const OVERRIDE;
+ virtual ContentVerifier* content_verifier() OVERRIDE;
private:
content::BrowserContext* browser_context_; // Not owned.