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

Side by Side Diff: chrome/common/extensions/manifest_handlers/ui_overrides_handler.cc

Issue 1880143002: Convert chrome/common to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 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 unified diff | Download patch
OLDNEW
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 <memory>
8
8 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
10 #include "base/values.h" 11 #include "base/values.h"
11 #include "chrome/grit/generated_resources.h" 12 #include "chrome/grit/generated_resources.h"
12 #include "extensions/common/error_utils.h" 13 #include "extensions/common/error_utils.h"
13 #include "extensions/common/feature_switch.h" 14 #include "extensions/common/feature_switch.h"
14 #include "extensions/common/manifest_constants.h" 15 #include "extensions/common/manifest_constants.h"
15 #include "extensions/common/permissions/manifest_permission.h" 16 #include "extensions/common/permissions/manifest_permission.h"
16 #include "extensions/common/permissions/permissions_data.h" 17 #include "extensions/common/permissions/permissions_data.h"
17 #include "extensions/common/permissions/permissions_info.h" 18 #include "extensions/common/permissions/permissions_info.h"
(...skipping 24 matching lines...) Expand all
42 // IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI 43 // IDS_EXTENSION_PROMPT_WARNING_OVERRIDE_BOOKMARKS_UI
43 permissions.insert(APIPermission::kOverrideBookmarksUI); 44 permissions.insert(APIPermission::kOverrideBookmarksUI);
44 } 45 }
45 return permissions; 46 return permissions;
46 } 47 }
47 48
48 bool FromValue(const base::Value* value) override { 49 bool FromValue(const base::Value* value) override {
49 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_); 50 return value && value->GetAsBoolean(&override_bookmarks_ui_permission_);
50 } 51 }
51 52
52 scoped_ptr<base::Value> ToValue() const override { 53 std::unique_ptr<base::Value> ToValue() const override {
53 return scoped_ptr<base::Value>( 54 return std::unique_ptr<base::Value>(
54 new base::FundamentalValue(override_bookmarks_ui_permission_)); 55 new base::FundamentalValue(override_bookmarks_ui_permission_));
55 } 56 }
56 57
57 ManifestPermission* Diff(const ManifestPermission* rhs) const override { 58 ManifestPermission* Diff(const ManifestPermission* rhs) const override {
58 const ManifestPermissionImpl* other = 59 const ManifestPermissionImpl* other =
59 static_cast<const ManifestPermissionImpl*>(rhs); 60 static_cast<const ManifestPermissionImpl*>(rhs);
60 61
61 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( 62 return std::unique_ptr<ManifestPermissionImpl>(
62 override_bookmarks_ui_permission_ && 63 new ManifestPermissionImpl(
63 !other->override_bookmarks_ui_permission_)).release(); 64 override_bookmarks_ui_permission_ &&
65 !other->override_bookmarks_ui_permission_))
66 .release();
64 } 67 }
65 68
66 ManifestPermission* Union(const ManifestPermission* rhs) const override { 69 ManifestPermission* Union(const ManifestPermission* rhs) const override {
67 const ManifestPermissionImpl* other = 70 const ManifestPermissionImpl* other =
68 static_cast<const ManifestPermissionImpl*>(rhs); 71 static_cast<const ManifestPermissionImpl*>(rhs);
69 72
70 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( 73 return std::unique_ptr<ManifestPermissionImpl>(
71 override_bookmarks_ui_permission_ || 74 new ManifestPermissionImpl(
72 other->override_bookmarks_ui_permission_)).release(); 75 override_bookmarks_ui_permission_ ||
76 other->override_bookmarks_ui_permission_))
77 .release();
73 } 78 }
74 79
75 ManifestPermission* Intersect(const ManifestPermission* rhs) const override { 80 ManifestPermission* Intersect(const ManifestPermission* rhs) const override {
76 const ManifestPermissionImpl* other = 81 const ManifestPermissionImpl* other =
77 static_cast<const ManifestPermissionImpl*>(rhs); 82 static_cast<const ManifestPermissionImpl*>(rhs);
78 83
79 return scoped_ptr<ManifestPermissionImpl>(new ManifestPermissionImpl( 84 return std::unique_ptr<ManifestPermissionImpl>(
80 override_bookmarks_ui_permission_ && 85 new ManifestPermissionImpl(
81 other->override_bookmarks_ui_permission_)).release(); 86 override_bookmarks_ui_permission_ &&
87 other->override_bookmarks_ui_permission_))
88 .release();
82 } 89 }
83 90
84 private: 91 private:
85 bool override_bookmarks_ui_permission_; 92 bool override_bookmarks_ui_permission_;
86 }; 93 };
87 94
88 UIOverrides::UIOverrides() {} 95 UIOverrides::UIOverrides() {}
89 96
90 UIOverrides::~UIOverrides() {} 97 UIOverrides::~UIOverrides() {}
91 98
(...skipping 23 matching lines...) Expand all
115 *ui_overrides->bookmarks_ui->remove_bookmark_open_pages_shortcut; 122 *ui_overrides->bookmarks_ui->remove_bookmark_open_pages_shortcut;
116 } 123 }
117 124
118 UIOverridesHandler::UIOverridesHandler() {} 125 UIOverridesHandler::UIOverridesHandler() {}
119 126
120 UIOverridesHandler::~UIOverridesHandler() {} 127 UIOverridesHandler::~UIOverridesHandler() {}
121 128
122 bool UIOverridesHandler::Parse(Extension* extension, base::string16* error) { 129 bool UIOverridesHandler::Parse(Extension* extension, base::string16* error) {
123 const base::Value* dict = NULL; 130 const base::Value* dict = NULL;
124 CHECK(extension->manifest()->Get(manifest_keys::kUIOverride, &dict)); 131 CHECK(extension->manifest()->Get(manifest_keys::kUIOverride, &dict));
125 scoped_ptr<ChromeUIOverrides> overrides( 132 std::unique_ptr<ChromeUIOverrides> overrides(
126 ChromeUIOverrides::FromValue(*dict, error)); 133 ChromeUIOverrides::FromValue(*dict, error));
127 if (!overrides) 134 if (!overrides)
128 return false; 135 return false;
129 136
130 scoped_ptr<UIOverrides> info(new UIOverrides); 137 std::unique_ptr<UIOverrides> info(new UIOverrides);
131 info->bookmarks_ui.swap(overrides->bookmarks_ui); 138 info->bookmarks_ui.swap(overrides->bookmarks_ui);
132 if (!info->bookmarks_ui) { 139 if (!info->bookmarks_ui) {
133 *error = ErrorUtils::FormatErrorMessageUTF16( 140 *error = ErrorUtils::FormatErrorMessageUTF16(
134 manifest_errors::kInvalidEmptyDictionary, 141 manifest_errors::kInvalidEmptyDictionary,
135 manifest_keys::kUIOverride); 142 manifest_keys::kUIOverride);
136 return false; 143 return false;
137 } 144 }
138 info->manifest_permission.reset(new ManifestPermissionImpl( 145 info->manifest_permission.reset(new ManifestPermissionImpl(
139 info->bookmarks_ui.get() != NULL)); 146 info->bookmarks_ui.get() != NULL));
140 extension->SetManifestData(manifest_keys::kUIOverride, info.release()); 147 extension->SetManifestData(manifest_keys::kUIOverride, info.release());
(...skipping 27 matching lines...) Expand all
168 const UIOverrides* data = UIOverrides::Get(extension); 175 const UIOverrides* data = UIOverrides::Get(extension);
169 if (data) 176 if (data)
170 return data->manifest_permission->Clone(); 177 return data->manifest_permission->Clone();
171 return NULL; 178 return NULL;
172 } 179 }
173 const std::vector<std::string> UIOverridesHandler::Keys() const { 180 const std::vector<std::string> UIOverridesHandler::Keys() const {
174 return SingleKey(manifest_keys::kUIOverride); 181 return SingleKey(manifest_keys::kUIOverride);
175 } 182 }
176 183
177 } // namespace extensions 184 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698