| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "chrome/common/extensions/manifest_handlers/ui_overrides_handler.h" | 5 #include "chrome/common/extensions/manifest_handlers/ui_overrides_handler.h" | 
| 6 | 6 | 
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" | 
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" | 
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" | 
| 10 #include "base/values.h" | 10 #include "base/values.h" | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 23 namespace extensions { | 23 namespace extensions { | 
| 24 | 24 | 
| 25 // The manifest permission implementation supports a permission for overriding | 25 // The manifest permission implementation supports a permission for overriding | 
| 26 // the bookmark UI. | 26 // the bookmark UI. | 
| 27 class UIOverridesHandler::ManifestPermissionImpl : public ManifestPermission { | 27 class UIOverridesHandler::ManifestPermissionImpl : public ManifestPermission { | 
| 28  public: | 28  public: | 
| 29   explicit ManifestPermissionImpl(bool override_bookmarks_ui_permission) | 29   explicit ManifestPermissionImpl(bool override_bookmarks_ui_permission) | 
| 30       : override_bookmarks_ui_permission_(override_bookmarks_ui_permission) {} | 30       : override_bookmarks_ui_permission_(override_bookmarks_ui_permission) {} | 
| 31 | 31 | 
| 32   // extensions::ManifestPermission overrides. | 32   // extensions::ManifestPermission overrides. | 
| 33   virtual std::string name() const OVERRIDE { | 33   virtual std::string name() const override { | 
| 34     return manifest_keys::kUIOverride; | 34     return manifest_keys::kUIOverride; | 
| 35   } | 35   } | 
| 36 | 36 | 
| 37   virtual std::string id() const OVERRIDE { | 37   virtual std::string id() const override { | 
| 38     return name(); | 38     return name(); | 
| 39   } | 39   } | 
| 40 | 40 | 
| 41   virtual bool HasMessages() const OVERRIDE { | 41   virtual bool HasMessages() const override { | 
| 42     return override_bookmarks_ui_permission_; | 42     return override_bookmarks_ui_permission_; | 
| 43   } | 43   } | 
| 44 | 44 | 
| 45   virtual PermissionMessages GetMessages() const OVERRIDE { | 45   virtual PermissionMessages GetMessages() const override { | 
| 46     PermissionMessages result; | 46     PermissionMessages result; | 
| 47     if (override_bookmarks_ui_permission_) { | 47     if (override_bookmarks_ui_permission_) { | 
| 48       result.push_back(PermissionMessage( | 48       result.push_back(PermissionMessage( | 
| 49           PermissionMessage::kOverrideBookmarksUI, | 49           PermissionMessage::kOverrideBookmarksUI, | 
| 50           l10n_util::GetStringUTF16( | 50           l10n_util::GetStringUTF16( | 
| 51               IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI))); | 51               IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI))); | 
| 52     } | 52     } | 
| 53     return result; | 53     return result; | 
| 54   } | 54   } | 
| 55 | 55 | 
| 56   virtual bool FromValue(const base::Value* value) OVERRIDE { | 56   virtual bool FromValue(const base::Value* value) override { | 
| 57     return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); | 57     return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); | 
| 58   } | 58   } | 
| 59 | 59 | 
| 60   virtual scoped_ptr<base::Value> ToValue() const OVERRIDE { | 60   virtual scoped_ptr<base::Value> ToValue() const override { | 
| 61     return scoped_ptr<base::Value>( | 61     return scoped_ptr<base::Value>( | 
| 62         new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass(); | 62         new base::FundamentalValue(override_bookmarks_ui_permission_)).Pass(); | 
| 63   } | 63   } | 
| 64 | 64 | 
| 65   virtual ManifestPermission* Diff(const ManifestPermission* rhs) const | 65   virtual ManifestPermission* Diff(const ManifestPermission* rhs) const | 
| 66       OVERRIDE { | 66       override { | 
| 67     const ManifestPermissionImpl* other = | 67     const ManifestPermissionImpl* other = | 
| 68         static_cast<const ManifestPermissionImpl*>(rhs); | 68         static_cast<const ManifestPermissionImpl*>(rhs); | 
| 69 | 69 | 
| 70     return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 70     return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 
| 71         override_bookmarks_ui_permission_ && | 71         override_bookmarks_ui_permission_ && | 
| 72         !other->override_bookmarks_ui_permission_)).release(); | 72         !other->override_bookmarks_ui_permission_)).release(); | 
| 73   } | 73   } | 
| 74 | 74 | 
| 75   virtual ManifestPermission* Union(const ManifestPermission* rhs) const | 75   virtual ManifestPermission* Union(const ManifestPermission* rhs) const | 
| 76       OVERRIDE { | 76       override { | 
| 77     const ManifestPermissionImpl* other = | 77     const ManifestPermissionImpl* other = | 
| 78         static_cast<const ManifestPermissionImpl*>(rhs); | 78         static_cast<const ManifestPermissionImpl*>(rhs); | 
| 79 | 79 | 
| 80     return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 80     return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 
| 81         override_bookmarks_ui_permission_ || | 81         override_bookmarks_ui_permission_ || | 
| 82         other->override_bookmarks_ui_permission_)).release(); | 82         other->override_bookmarks_ui_permission_)).release(); | 
| 83   } | 83   } | 
| 84 | 84 | 
| 85   virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const | 85   virtual ManifestPermission* Intersect(const ManifestPermission* rhs) const | 
| 86       OVERRIDE { | 86       override { | 
| 87     const ManifestPermissionImpl* other = | 87     const ManifestPermissionImpl* other = | 
| 88         static_cast<const ManifestPermissionImpl*>(rhs); | 88         static_cast<const ManifestPermissionImpl*>(rhs); | 
| 89 | 89 | 
| 90     return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 90     return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( | 
| 91         override_bookmarks_ui_permission_ && | 91         override_bookmarks_ui_permission_ && | 
| 92         other->override_bookmarks_ui_permission_)).release(); | 92         other->override_bookmarks_ui_permission_)).release(); | 
| 93   } | 93   } | 
| 94 | 94 | 
| 95  private: | 95  private: | 
| 96   bool override_bookmarks_ui_permission_; | 96   bool override_bookmarks_ui_permission_; | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 179   const UIOverrides* data = UIOverrides::Get(extension); | 179   const UIOverrides* data = UIOverrides::Get(extension); | 
| 180   if (data) | 180   if (data) | 
| 181     return data->manifest_permission->Clone(); | 181     return data->manifest_permission->Clone(); | 
| 182   return NULL; | 182   return NULL; | 
| 183 } | 183 } | 
| 184 const std::vector<std::string> UIOverridesHandler::Keys() const { | 184 const std::vector<std::string> UIOverridesHandler::Keys() const { | 
| 185   return SingleKey(manifest_keys::kUIOverride); | 185   return SingleKey(manifest_keys::kUIOverride); | 
| 186 } | 186 } | 
| 187 | 187 | 
| 188 }  // namespace extensions | 188 }  // namespace extensions | 
| OLD | NEW | 
|---|