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

Side by Side Diff: chrome/browser/extensions/extension_install_prompt_unittest.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/extensions/extension_install_prompt.h"
6
5 #include <stddef.h> 7 #include <stddef.h>
6 8
7 #include <utility> 9 #include <utility>
8 10
9 #include "base/bind.h" 11 #include "base/bind.h"
10 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h"
11 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
12 #include "base/run_loop.h" 15 #include "base/run_loop.h"
13 #include "chrome/browser/extensions/extension_install_prompt.h"
14 #include "chrome/browser/extensions/extension_install_prompt_show_params.h" 16 #include "chrome/browser/extensions/extension_install_prompt_show_params.h"
15 #include "chrome/browser/extensions/extension_service_test_with_install.h" 17 #include "chrome/browser/extensions/extension_service_test_with_install.h"
16 #include "chrome/browser/extensions/extension_util.h" 18 #include "chrome/browser/extensions/extension_util.h"
17 #include "chrome/test/base/testing_profile.h" 19 #include "chrome/test/base/testing_profile.h"
18 #include "content/public/test/test_browser_thread_bundle.h" 20 #include "content/public/test/test_browser_thread_bundle.h"
19 #include "content/public/test/test_web_contents_factory.h" 21 #include "content/public/test/test_web_contents_factory.h"
20 #include "extensions/browser/image_loader.h" 22 #include "extensions/browser/image_loader.h"
21 #include "extensions/common/constants.h" 23 #include "extensions/common/constants.h"
22 #include "extensions/common/extension.h" 24 #include "extensions/common/extension.h"
23 #include "extensions/common/extension_builder.h" 25 #include "extensions/common/extension_builder.h"
(...skipping 11 matching lines...) Expand all
35 37
36 namespace extensions { 38 namespace extensions {
37 39
38 namespace { 40 namespace {
39 41
40 void VerifyPromptIconCallback( 42 void VerifyPromptIconCallback(
41 const base::Closure& quit_closure, 43 const base::Closure& quit_closure,
42 const SkBitmap& expected_bitmap, 44 const SkBitmap& expected_bitmap,
43 ExtensionInstallPromptShowParams* params, 45 ExtensionInstallPromptShowParams* params,
44 const ExtensionInstallPrompt::DoneCallback& done_callback, 46 const ExtensionInstallPrompt::DoneCallback& done_callback,
45 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt) { 47 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt) {
46 EXPECT_TRUE(gfx::BitmapsAreEqual(prompt->icon().AsBitmap(), expected_bitmap)); 48 EXPECT_TRUE(gfx::BitmapsAreEqual(prompt->icon().AsBitmap(), expected_bitmap));
47 quit_closure.Run(); 49 quit_closure.Run();
48 } 50 }
49 51
50 void VerifyPromptPermissionsCallback( 52 void VerifyPromptPermissionsCallback(
51 const base::Closure& quit_closure, 53 const base::Closure& quit_closure,
52 size_t regular_permissions_count, 54 size_t regular_permissions_count,
53 size_t withheld_permissions_count, 55 size_t withheld_permissions_count,
54 ExtensionInstallPromptShowParams* params, 56 ExtensionInstallPromptShowParams* params,
55 const ExtensionInstallPrompt::DoneCallback& done_callback, 57 const ExtensionInstallPrompt::DoneCallback& done_callback,
56 scoped_ptr<ExtensionInstallPrompt::Prompt> install_prompt) { 58 std::unique_ptr<ExtensionInstallPrompt::Prompt> install_prompt) {
57 ASSERT_TRUE(install_prompt.get()); 59 ASSERT_TRUE(install_prompt.get());
58 EXPECT_EQ(regular_permissions_count, 60 EXPECT_EQ(regular_permissions_count,
59 install_prompt->GetPermissionCount( 61 install_prompt->GetPermissionCount(
60 ExtensionInstallPrompt::REGULAR_PERMISSIONS)); 62 ExtensionInstallPrompt::REGULAR_PERMISSIONS));
61 EXPECT_EQ(withheld_permissions_count, 63 EXPECT_EQ(withheld_permissions_count,
62 install_prompt->GetPermissionCount( 64 install_prompt->GetPermissionCount(
63 ExtensionInstallPrompt::WITHHELD_PERMISSIONS)); 65 ExtensionInstallPrompt::WITHHELD_PERMISSIONS));
64 quit_closure.Run(); 66 quit_closure.Run();
65 } 67 }
66 68
(...skipping 14 matching lines...) Expand all
81 profile_.reset(new TestingProfile()); 83 profile_.reset(new TestingProfile());
82 } 84 }
83 void TearDown() override { 85 void TearDown() override {
84 profile_.reset(); 86 profile_.reset();
85 } 87 }
86 88
87 Profile* profile() { return profile_.get(); } 89 Profile* profile() { return profile_.get(); }
88 90
89 private: 91 private:
90 content::TestBrowserThreadBundle thread_bundle_; 92 content::TestBrowserThreadBundle thread_bundle_;
91 scoped_ptr<TestingProfile> profile_; 93 std::unique_ptr<TestingProfile> profile_;
92 94
93 DISALLOW_COPY_AND_ASSIGN(ExtensionInstallPromptUnitTest); 95 DISALLOW_COPY_AND_ASSIGN(ExtensionInstallPromptUnitTest);
94 }; 96 };
95 97
96 } // namespace 98 } // namespace
97 99
98 TEST_F(ExtensionInstallPromptUnitTest, PromptShowsPermissionWarnings) { 100 TEST_F(ExtensionInstallPromptUnitTest, PromptShowsPermissionWarnings) {
99 APIPermissionSet api_permissions; 101 APIPermissionSet api_permissions;
100 api_permissions.insert(APIPermission::kTab); 102 api_permissions.insert(APIPermission::kTab);
101 scoped_ptr<const PermissionSet> permission_set( 103 std::unique_ptr<const PermissionSet> permission_set(
102 new PermissionSet(api_permissions, ManifestPermissionSet(), 104 new PermissionSet(api_permissions, ManifestPermissionSet(),
103 URLPatternSet(), URLPatternSet())); 105 URLPatternSet(), URLPatternSet()));
104 scoped_refptr<const Extension> extension = 106 scoped_refptr<const Extension> extension =
105 ExtensionBuilder() 107 ExtensionBuilder()
106 .SetManifest(DictionaryBuilder() 108 .SetManifest(DictionaryBuilder()
107 .Set("name", "foo") 109 .Set("name", "foo")
108 .Set("version", "1.0") 110 .Set("version", "1.0")
109 .Set("manifest_version", 2) 111 .Set("manifest_version", 2)
110 .Set("description", "Random Ext") 112 .Set("description", "Random Ext")
111 .Build()) 113 .Build())
112 .Build(); 114 .Build();
113 115
114 content::TestWebContentsFactory factory; 116 content::TestWebContentsFactory factory;
115 ExtensionInstallPrompt prompt(factory.CreateWebContents(profile())); 117 ExtensionInstallPrompt prompt(factory.CreateWebContents(profile()));
116 base::RunLoop run_loop; 118 base::RunLoop run_loop;
117 prompt.ShowDialog( 119 prompt.ShowDialog(
118 ExtensionInstallPrompt::DoneCallback(), extension.get(), nullptr, 120 ExtensionInstallPrompt::DoneCallback(), extension.get(), nullptr,
119 make_scoped_ptr(new ExtensionInstallPrompt::Prompt( 121 base::WrapUnique(new ExtensionInstallPrompt::Prompt(
120 ExtensionInstallPrompt::PERMISSIONS_PROMPT)), 122 ExtensionInstallPrompt::PERMISSIONS_PROMPT)),
121 std::move(permission_set), 123 std::move(permission_set),
122 base::Bind(&VerifyPromptPermissionsCallback, run_loop.QuitClosure(), 124 base::Bind(&VerifyPromptPermissionsCallback, run_loop.QuitClosure(),
123 1u, // |regular_permissions_count|. 125 1u, // |regular_permissions_count|.
124 0u)); // |withheld_permissions_count|. 126 0u)); // |withheld_permissions_count|.
125 run_loop.Run(); 127 run_loop.Run();
126 } 128 }
127 129
128 TEST_F(ExtensionInstallPromptUnitTest, PromptShowsWithheldPermissions) { 130 TEST_F(ExtensionInstallPromptUnitTest, PromptShowsWithheldPermissions) {
129 // Enable consent flag so that <all_hosts> permissions get withheld. 131 // Enable consent flag so that <all_hosts> permissions get withheld.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 ListBuilder().Append("clipboardRead").Build()) 175 ListBuilder().Append("clipboardRead").Build())
174 .Set("optional_permissions", 176 .Set("optional_permissions",
175 ListBuilder().Append("tabs").Build()) 177 ListBuilder().Append("tabs").Build())
176 .Build()) 178 .Build())
177 .Build(); 179 .Build();
178 180
179 content::TestWebContentsFactory factory; 181 content::TestWebContentsFactory factory;
180 ExtensionInstallPrompt prompt(factory.CreateWebContents(profile())); 182 ExtensionInstallPrompt prompt(factory.CreateWebContents(profile()));
181 base::RunLoop run_loop; 183 base::RunLoop run_loop;
182 184
183 scoped_ptr<ExtensionInstallPrompt::Prompt> sub_prompt( 185 std::unique_ptr<ExtensionInstallPrompt::Prompt> sub_prompt(
184 new ExtensionInstallPrompt::Prompt( 186 new ExtensionInstallPrompt::Prompt(
185 ExtensionInstallPrompt::DELEGATED_PERMISSIONS_PROMPT)); 187 ExtensionInstallPrompt::DELEGATED_PERMISSIONS_PROMPT));
186 sub_prompt->set_delegated_username("Username"); 188 sub_prompt->set_delegated_username("Username");
187 prompt.ShowDialog( 189 prompt.ShowDialog(
188 ExtensionInstallPrompt::DoneCallback(), extension.get(), nullptr, 190 ExtensionInstallPrompt::DoneCallback(), extension.get(), nullptr,
189 std::move(sub_prompt), 191 std::move(sub_prompt),
190 base::Bind(&VerifyPromptPermissionsCallback, run_loop.QuitClosure(), 192 base::Bind(&VerifyPromptPermissionsCallback, run_loop.QuitClosure(),
191 2u, // |regular_permissions_count|. 193 2u, // |regular_permissions_count|.
192 0u)); // |withheld_permissions_count|. 194 0u)); // |withheld_permissions_count|.
193 run_loop.Run(); 195 run_loop.Run();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 prompt.ShowDialog(ExtensionInstallPrompt::DoneCallback(), 240 prompt.ShowDialog(ExtensionInstallPrompt::DoneCallback(),
239 extension, 241 extension,
240 app_icon.bitmap(), // Use a different icon. 242 app_icon.bitmap(), // Use a different icon.
241 base::Bind(&VerifyPromptIconCallback, 243 base::Bind(&VerifyPromptIconCallback,
242 run_loop.QuitClosure(), *app_icon.bitmap())); 244 run_loop.QuitClosure(), *app_icon.bitmap()));
243 run_loop.Run(); 245 run_loop.Run();
244 } 246 }
245 } 247 }
246 248
247 } // namespace extensions 249 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698