summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/customization_document.h
diff options
context:
space:
mode:
authorglotov@chromium.org <glotov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-02 12:32:18 +0000
committerglotov@chromium.org <glotov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-02 12:32:18 +0000
commitf8eed5a0e3727702d4ba668a1bde0effd1fdcb9e (patch)
tree40a02e74b7ba3fb214b96cb1f9499e9f32742887 /chrome/browser/chromeos/customization_document.h
parentd8c37b73320d579fb1cc1c758d597b1e009ec5ac (diff)
downloadchromium_src-f8eed5a0e3727702d4ba668a1bde0effd1fdcb9e.zip
chromium_src-f8eed5a0e3727702d4ba668a1bde0effd1fdcb9e.tar.gz
chromium_src-f8eed5a0e3727702d4ba668a1bde0effd1fdcb9e.tar.bz2
OEM EULA extracted correctly from manifest.
Fixing CustomizationDocument to return full path to the pages being queried. BUG=chromium:3178 TEST=none Review URL: http://codereview.chromium.org/3052030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54534 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/customization_document.h')
-rw-r--r--chrome/browser/chromeos/customization_document.h44
1 files changed, 31 insertions, 13 deletions
diff --git a/chrome/browser/chromeos/customization_document.h b/chrome/browser/chromeos/customization_document.h
index ba6e0ba..55182a4 100644
--- a/chrome/browser/chromeos/customization_document.h
+++ b/chrome/browser/chromeos/customization_document.h
@@ -11,12 +11,12 @@
#include <vector>
#include "base/basictypes.h"
+#include "base/file_path.h"
#include "base/scoped_ptr.h"
#include "third_party/skia/include/core/SkColor.h"
class DictionaryValue;
class ListValue;
-class FilePath;
namespace chromeos {
@@ -36,6 +36,7 @@ class CustomizationDocument {
// Parses manifest's attributes from the JSON dictionary value.
virtual bool ParseFromJsonValue(const DictionaryValue* root);
+ private:
// Manifest version string.
std::string version_;
@@ -46,6 +47,20 @@ class CustomizationDocument {
class StartupCustomizationDocument : public CustomizationDocument {
public:
+ StartupCustomizationDocument() {}
+
+ virtual bool LoadManifestFromFile(const FilePath& manifest_path);
+
+ const std::string& product_sku() const { return product_sku_; }
+ const std::string& initial_locale() const { return initial_locale_; }
+ const std::string& initial_timezone() const { return initial_timezone_; }
+ SkColor background_color() const { return background_color_; }
+ const std::string& registration_url() const { return registration_url_; }
+
+ FilePath GetHelpPagePath(const std::string& locale) const;
+ FilePath GetEULAPagePath(const std::string& locale) const;
+
+ private:
struct SetupContent {
SetupContent() {}
SetupContent(const std::string& help_page_path,
@@ -61,18 +76,9 @@ class StartupCustomizationDocument : public CustomizationDocument {
typedef std::map<std::string, SetupContent> SetupContentMap;
- StartupCustomizationDocument() {}
-
- const std::string& product_sku() const { return product_sku_; }
- const std::string& initial_locale() const { return initial_locale_; }
- const std::string& initial_timezone() const { return initial_timezone_; }
- SkColor background_color() const { return background_color_; }
- const std::string& registration_url() const { return registration_url_; }
-
- const SetupContent* GetSetupContent(const std::string& locale) const;
-
- protected:
virtual bool ParseFromJsonValue(const DictionaryValue* root);
+ FilePath GetSetupPagePath(const std::string& locale,
+ std::string SetupContent::* page_path) const;
// Product SKU.
std::string product_sku_;
@@ -92,9 +98,21 @@ class StartupCustomizationDocument : public CustomizationDocument {
// Setup content for different locales.
SetupContentMap setup_content_;
+ // Copy of manifest full path.
+ FilePath manifest_path_;
+
DISALLOW_COPY_AND_ASSIGN(StartupCustomizationDocument);
};
+inline FilePath StartupCustomizationDocument::GetHelpPagePath(
+ const std::string& locale) const {
+ return GetSetupPagePath(locale, &SetupContent::help_page_path);
+}
+inline FilePath StartupCustomizationDocument::GetEULAPagePath(
+ const std::string& locale) const {
+ return GetSetupPagePath(locale, &SetupContent::eula_page_path);
+}
+
// OEM services customization document class.
class ServicesCustomizationDocument : public CustomizationDocument {
@@ -115,7 +133,7 @@ class ServicesCustomizationDocument : public CustomizationDocument {
const StringList& web_apps() const { return web_apps_; }
const StringList& extensions() const { return extensions_; }
- protected:
+ private:
virtual bool ParseFromJsonValue(const DictionaryValue* root);
bool ParseStringListFromJsonValue(const ListValue* list_value,