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

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

Issue 612983004: Gather metrics on hosted app unlimitedStorage usage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "base/values.h" 6 #include "base/values.h"
7 #include "chrome/browser/content_settings/cookie_settings.h" 7 #include "chrome/browser/content_settings/cookie_settings.h"
8 #include "chrome/browser/extensions/extension_special_storage_policy.h" 8 #include "chrome/browser/extensions/extension_special_storage_policy.h"
9 #include "chrome/test/base/testing_profile.h" 9 #include "chrome/test/base/testing_profile.h"
10 #include "components/content_settings/core/common/content_settings.h" 10 #include "components/content_settings/core/common/content_settings.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 ExtensionSet empty_set; 191 ExtensionSet empty_set;
192 ExpectProtectedBy(empty_set, kHttpUrl); 192 ExpectProtectedBy(empty_set, kHttpUrl);
193 193
194 // This one is just based on the scheme. 194 // This one is just based on the scheme.
195 EXPECT_TRUE(policy_->IsStorageProtected(kExtensionUrl)); 195 EXPECT_TRUE(policy_->IsStorageProtected(kExtensionUrl));
196 EXPECT_TRUE(policy_->IsStorageProtected(app->url())); 196 EXPECT_TRUE(policy_->IsStorageProtected(app->url()));
197 } 197 }
198 198
199 TEST_F(ExtensionSpecialStoragePolicyTest, AppWithProtectedStorage) { 199 TEST_F(ExtensionSpecialStoragePolicyTest, AppWithProtectedStorage) {
200 scoped_refptr<Extension> extension(CreateProtectedApp()); 200 scoped_refptr<Extension> extension(CreateProtectedApp());
201 policy_->GrantRightsForExtension(extension.get()); 201 policy_->GrantRightsForExtension(extension.get(), NULL);
202 ExtensionSet protecting_extensions; 202 ExtensionSet protecting_extensions;
203 protecting_extensions.Insert(extension); 203 protecting_extensions.Insert(extension);
204 ExtensionSet empty_set; 204 ExtensionSet empty_set;
205 205
206 EXPECT_FALSE(policy_->IsStorageUnlimited(extension->url())); 206 EXPECT_FALSE(policy_->IsStorageUnlimited(extension->url()));
207 EXPECT_FALSE(policy_->IsStorageUnlimited(GURL("http://explicit/"))); 207 EXPECT_FALSE(policy_->IsStorageUnlimited(GURL("http://explicit/")));
208 ExpectProtectedBy(protecting_extensions, GURL("http://explicit/")); 208 ExpectProtectedBy(protecting_extensions, GURL("http://explicit/"));
209 ExpectProtectedBy(protecting_extensions, GURL("http://explicit:6000/")); 209 ExpectProtectedBy(protecting_extensions, GURL("http://explicit:6000/"));
210 ExpectProtectedBy(protecting_extensions, GURL("http://foo.wildcards/")); 210 ExpectProtectedBy(protecting_extensions, GURL("http://foo.wildcards/"));
211 ExpectProtectedBy(protecting_extensions, GURL("https://bar.wildcards/")); 211 ExpectProtectedBy(protecting_extensions, GURL("https://bar.wildcards/"));
212 ExpectProtectedBy(empty_set, GURL("http://not_listed/")); 212 ExpectProtectedBy(empty_set, GURL("http://not_listed/"));
213 213
214 policy_->RevokeRightsForExtension(extension.get()); 214 policy_->RevokeRightsForExtension(extension.get());
215 ExpectProtectedBy(empty_set, GURL("http://explicit/")); 215 ExpectProtectedBy(empty_set, GURL("http://explicit/"));
216 ExpectProtectedBy(empty_set, GURL("http://foo.wildcards/")); 216 ExpectProtectedBy(empty_set, GURL("http://foo.wildcards/"));
217 ExpectProtectedBy(empty_set, GURL("https://bar.wildcards/")); 217 ExpectProtectedBy(empty_set, GURL("https://bar.wildcards/"));
218 } 218 }
219 219
220 TEST_F(ExtensionSpecialStoragePolicyTest, AppWithUnlimitedStorage) { 220 TEST_F(ExtensionSpecialStoragePolicyTest, AppWithUnlimitedStorage) {
221 scoped_refptr<Extension> extension(CreateUnlimitedApp()); 221 scoped_refptr<Extension> extension(CreateUnlimitedApp());
222 policy_->GrantRightsForExtension(extension.get()); 222 policy_->GrantRightsForExtension(extension.get(), NULL);
223 ExtensionSet protecting_extensions; 223 ExtensionSet protecting_extensions;
224 protecting_extensions.Insert(extension); 224 protecting_extensions.Insert(extension);
225 ExtensionSet empty_set; 225 ExtensionSet empty_set;
226 226
227 ExpectProtectedBy(protecting_extensions, GURL("http://explicit/")); 227 ExpectProtectedBy(protecting_extensions, GURL("http://explicit/"));
228 ExpectProtectedBy(protecting_extensions, GURL("http://explicit:6000/")); 228 ExpectProtectedBy(protecting_extensions, GURL("http://explicit:6000/"));
229 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/")); 229 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/"));
230 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/")); 230 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/"));
231 ExpectProtectedBy(protecting_extensions, GURL("http://bar.wildcards/")); 231 ExpectProtectedBy(protecting_extensions, GURL("http://bar.wildcards/"));
232 ExpectProtectedBy(empty_set, GURL("http://not_listed/")); 232 ExpectProtectedBy(empty_set, GURL("http://not_listed/"));
(...skipping 13 matching lines...) Expand all
246 EXPECT_FALSE(policy_->IsStorageUnlimited(GURL("https://foo.wildcards/"))); 246 EXPECT_FALSE(policy_->IsStorageUnlimited(GURL("https://foo.wildcards/")));
247 EXPECT_FALSE(policy_->IsStorageUnlimited(GURL("https://bar.wildcards/"))); 247 EXPECT_FALSE(policy_->IsStorageUnlimited(GURL("https://bar.wildcards/")));
248 } 248 }
249 249
250 TEST_F(ExtensionSpecialStoragePolicyTest, CanQueryDiskSize) { 250 TEST_F(ExtensionSpecialStoragePolicyTest, CanQueryDiskSize) {
251 const GURL kHttpUrl("http://foo"); 251 const GURL kHttpUrl("http://foo");
252 const GURL kExtensionUrl("chrome-extension://bar"); 252 const GURL kExtensionUrl("chrome-extension://bar");
253 scoped_refptr<Extension> regular_app(CreateRegularApp()); 253 scoped_refptr<Extension> regular_app(CreateRegularApp());
254 scoped_refptr<Extension> protected_app(CreateProtectedApp()); 254 scoped_refptr<Extension> protected_app(CreateProtectedApp());
255 scoped_refptr<Extension> unlimited_app(CreateUnlimitedApp()); 255 scoped_refptr<Extension> unlimited_app(CreateUnlimitedApp());
256 policy_->GrantRightsForExtension(regular_app.get()); 256 policy_->GrantRightsForExtension(regular_app.get(), NULL);
257 policy_->GrantRightsForExtension(protected_app.get()); 257 policy_->GrantRightsForExtension(protected_app.get(), NULL);
258 policy_->GrantRightsForExtension(unlimited_app.get()); 258 policy_->GrantRightsForExtension(unlimited_app.get(), NULL);
259 259
260 EXPECT_FALSE(policy_->CanQueryDiskSize(kHttpUrl)); 260 EXPECT_FALSE(policy_->CanQueryDiskSize(kHttpUrl));
261 EXPECT_FALSE(policy_->CanQueryDiskSize(kExtensionUrl)); 261 EXPECT_FALSE(policy_->CanQueryDiskSize(kExtensionUrl));
262 EXPECT_TRUE(policy_->CanQueryDiskSize(regular_app->url())); 262 EXPECT_TRUE(policy_->CanQueryDiskSize(regular_app->url()));
263 EXPECT_TRUE(policy_->CanQueryDiskSize(protected_app->url())); 263 EXPECT_TRUE(policy_->CanQueryDiskSize(protected_app->url()));
264 EXPECT_TRUE(policy_->CanQueryDiskSize(unlimited_app->url())); 264 EXPECT_TRUE(policy_->CanQueryDiskSize(unlimited_app->url()));
265 } 265 }
266 266
267 TEST_F(ExtensionSpecialStoragePolicyTest, HasIsolatedStorage) { 267 TEST_F(ExtensionSpecialStoragePolicyTest, HasIsolatedStorage) {
268 const GURL kHttpUrl("http://foo"); 268 const GURL kHttpUrl("http://foo");
269 const GURL kExtensionUrl("chrome-extension://bar"); 269 const GURL kExtensionUrl("chrome-extension://bar");
270 scoped_refptr<Extension> app(CreateRegularApp()); 270 scoped_refptr<Extension> app(CreateRegularApp());
271 policy_->GrantRightsForExtension(app.get()); 271 policy_->GrantRightsForExtension(app.get(), NULL);
272 272
273 EXPECT_FALSE(policy_->HasIsolatedStorage(kHttpUrl)); 273 EXPECT_FALSE(policy_->HasIsolatedStorage(kHttpUrl));
274 EXPECT_FALSE(policy_->HasIsolatedStorage(kExtensionUrl)); 274 EXPECT_FALSE(policy_->HasIsolatedStorage(kExtensionUrl));
275 EXPECT_TRUE(policy_->HasIsolatedStorage(app->url())); 275 EXPECT_TRUE(policy_->HasIsolatedStorage(app->url()));
276 } 276 }
277 277
278 TEST_F(ExtensionSpecialStoragePolicyTest, OverlappingApps) { 278 TEST_F(ExtensionSpecialStoragePolicyTest, OverlappingApps) {
279 scoped_refptr<Extension> protected_app(CreateProtectedApp()); 279 scoped_refptr<Extension> protected_app(CreateProtectedApp());
280 scoped_refptr<Extension> unlimited_app(CreateUnlimitedApp()); 280 scoped_refptr<Extension> unlimited_app(CreateUnlimitedApp());
281 policy_->GrantRightsForExtension(protected_app.get()); 281 policy_->GrantRightsForExtension(protected_app.get(), NULL);
282 policy_->GrantRightsForExtension(unlimited_app.get()); 282 policy_->GrantRightsForExtension(unlimited_app.get(), NULL);
283 ExtensionSet protecting_extensions; 283 ExtensionSet protecting_extensions;
284 ExtensionSet empty_set; 284 ExtensionSet empty_set;
285 protecting_extensions.Insert(protected_app); 285 protecting_extensions.Insert(protected_app);
286 protecting_extensions.Insert(unlimited_app); 286 protecting_extensions.Insert(unlimited_app);
287 287
288 ExpectProtectedBy(protecting_extensions, GURL("http://explicit/")); 288 ExpectProtectedBy(protecting_extensions, GURL("http://explicit/"));
289 ExpectProtectedBy(protecting_extensions, GURL("http://explicit:6000/")); 289 ExpectProtectedBy(protecting_extensions, GURL("http://explicit:6000/"));
290 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/")); 290 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/"));
291 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/")); 291 ExpectProtectedBy(protecting_extensions, GURL("https://foo.wildcards/"));
292 ExpectProtectedBy(protecting_extensions, GURL("http://bar.wildcards/")); 292 ExpectProtectedBy(protecting_extensions, GURL("http://bar.wildcards/"));
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 SpecialStoragePolicy::STORAGE_PROTECTED, 364 SpecialStoragePolicy::STORAGE_PROTECTED,
365 365
366 SpecialStoragePolicy::STORAGE_PROTECTED | 366 SpecialStoragePolicy::STORAGE_PROTECTED |
367 SpecialStoragePolicy::STORAGE_UNLIMITED, 367 SpecialStoragePolicy::STORAGE_UNLIMITED,
368 }; 368 };
369 369
370 ASSERT_EQ(arraysize(apps), arraysize(change_flags)); 370 ASSERT_EQ(arraysize(apps), arraysize(change_flags));
371 for (size_t i = 0; i < arraysize(apps); ++i) { 371 for (size_t i = 0; i < arraysize(apps); ++i) {
372 SCOPED_TRACE(testing::Message() << "i: " << i); 372 SCOPED_TRACE(testing::Message() << "i: " << i);
373 observer.ExpectGrant(apps[i]->id(), change_flags[i]); 373 observer.ExpectGrant(apps[i]->id(), change_flags[i]);
374 policy_->GrantRightsForExtension(apps[i].get()); 374 policy_->GrantRightsForExtension(apps[i].get(), NULL);
375 message_loop.RunUntilIdle(); 375 message_loop.RunUntilIdle();
376 EXPECT_TRUE(observer.IsCompleted()); 376 EXPECT_TRUE(observer.IsCompleted());
377 } 377 }
378 378
379 for (size_t i = 0; i < arraysize(apps); ++i) { 379 for (size_t i = 0; i < arraysize(apps); ++i) {
380 SCOPED_TRACE(testing::Message() << "i: " << i); 380 SCOPED_TRACE(testing::Message() << "i: " << i);
381 policy_->GrantRightsForExtension(apps[i].get()); 381 policy_->GrantRightsForExtension(apps[i].get(), NULL);
382 message_loop.RunUntilIdle(); 382 message_loop.RunUntilIdle();
383 EXPECT_TRUE(observer.IsCompleted()); 383 EXPECT_TRUE(observer.IsCompleted());
384 } 384 }
385 385
386 for (size_t i = 0; i < arraysize(apps); ++i) { 386 for (size_t i = 0; i < arraysize(apps); ++i) {
387 SCOPED_TRACE(testing::Message() << "i: " << i); 387 SCOPED_TRACE(testing::Message() << "i: " << i);
388 observer.ExpectRevoke(apps[i]->id(), change_flags[i]); 388 observer.ExpectRevoke(apps[i]->id(), change_flags[i]);
389 policy_->RevokeRightsForExtension(apps[i].get()); 389 policy_->RevokeRightsForExtension(apps[i].get());
390 message_loop.RunUntilIdle(); 390 message_loop.RunUntilIdle();
391 EXPECT_TRUE(observer.IsCompleted()); 391 EXPECT_TRUE(observer.IsCompleted());
392 } 392 }
393 393
394 for (size_t i = 0; i < arraysize(apps); ++i) { 394 for (size_t i = 0; i < arraysize(apps); ++i) {
395 SCOPED_TRACE(testing::Message() << "i: " << i); 395 SCOPED_TRACE(testing::Message() << "i: " << i);
396 policy_->RevokeRightsForExtension(apps[i].get()); 396 policy_->RevokeRightsForExtension(apps[i].get());
397 message_loop.RunUntilIdle(); 397 message_loop.RunUntilIdle();
398 EXPECT_TRUE(observer.IsCompleted()); 398 EXPECT_TRUE(observer.IsCompleted());
399 } 399 }
400 400
401 observer.ExpectClear(); 401 observer.ExpectClear();
402 policy_->RevokeRightsForAllExtensions(); 402 policy_->RevokeRightsForAllExtensions();
403 message_loop.RunUntilIdle(); 403 message_loop.RunUntilIdle();
404 EXPECT_TRUE(observer.IsCompleted()); 404 EXPECT_TRUE(observer.IsCompleted());
405 405
406 policy_->RemoveObserver(&observer); 406 policy_->RemoveObserver(&observer);
407 } 407 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698