diff options
author | asargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-08 23:54:27 +0000 |
---|---|---|
committer | asargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-08 23:54:27 +0000 |
commit | fd3df77805388c12b7a20149c4fc4a8c061df26d (patch) | |
tree | 8023b2d806afa6bfe69e502e0837d48ca7fd3d74 /apps | |
parent | c91996eb60a08c62c329201e5468ee92afff1c13 (diff) | |
download | chromium_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.cc | 4 | ||||
-rw-r--r-- | apps/shell/browser/shell_extension_system.h | 1 |
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. |