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

Unified Diff: chrome/browser/component_updater/pnacl/pnacl_component_installer.h

Issue 13071002: Turn on component updater on chromeos, only for the pnacl component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: filepath Created 7 years, 9 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/component_updater/pnacl/pnacl_component_installer.h
diff --git a/chrome/browser/component_updater/pnacl/pnacl_component_installer.h b/chrome/browser/component_updater/pnacl/pnacl_component_installer.h
index 765b860fee09d9f37d9ba7be74e61baeb36ac6c7..a5be53feb553954457d3d3dc0f32e0c3f3e2ec03 100644
--- a/chrome/browser/component_updater/pnacl/pnacl_component_installer.h
+++ b/chrome/browser/component_updater/pnacl/pnacl_component_installer.h
@@ -5,17 +5,59 @@
#ifndef CHROME_BROWSER_COMPONENT_UPDATER_PNACL_PNACL_COMPONENT_INSTALLER_H_
#define CHROME_BROWSER_COMPONENT_UPDATER_PNACL_PNACL_COMPONENT_INSTALLER_H_
+#include "base/memory/scoped_ptr.h"
+#include "chrome/browser/component_updater/component_updater_service.h"
+#include "chrome/browser/component_updater/pnacl/pnacl_profile_observer.h"
+
class CommandLine;
-class ComponentUpdateService;
class Version;
namespace base {
class DictionaryValue;
}
-// Component update registration for Portable Native Client.
-void RegisterPnaclComponent(ComponentUpdateService* cus,
- const CommandLine& command_line);
+// Component installer responsible for Portable Native Client files.
+// Files can be installed to a shared location, or be installed to
+// a per-user location.
+class PnaclComponentInstaller : public ComponentInstaller {
+ public:
+ PnaclComponentInstaller();
+
+ virtual ~PnaclComponentInstaller();
+
+ virtual void OnUpdateError(int error) OVERRIDE;
+
+ virtual bool Install(base::DictionaryValue* manifest,
+ const base::FilePath& unpack_path) OVERRIDE;
+
+ void RegisterPnaclComponent(ComponentUpdateService* cus,
+ const CommandLine& command_line);
+
+ // Check the PNaCl version again and re-register with the component
+ // updater service.
+ void ReRegisterPnacl();
+
+ bool per_user() const { return per_user_; }
+
+ CrxComponent component() const {
+ return pnacl_component_;
+ }
+
+ Version current_version() const {
+ return pnacl_component_.version;
+ }
+
+ void set_current_version(const Version& ver) {
+ pnacl_component_.version = ver;
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(PnaclComponentInstaller);
+ bool per_user_;
+ scoped_ptr<PnaclProfileObserver> profile_observer_;
+ CrxComponent pnacl_component_;
cpu_(ooo_6.6-7.5) 2013/03/29 22:20:55 I don't see the need for the pnacl_component_ memb
jvoung (off chromium) 2013/03/29 22:54:52 That's true, I'll simplify it.
+ ComponentUpdateService* cus_;
+};
// Returns true if this browser is compatible with the given Pnacl component
// manifest, with the version specified in the manifest in |version_out|.

Powered by Google App Engine
This is Rietveld 408576698