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

Side by Side Diff: third_party/WebKit/Source/core/fetch/MemoryCacheTest.cpp

Issue 1852663002: Oilpan: Remove WillBe types (part 9) (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 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 26 matching lines...) Expand all
37 #include "public/platform/Platform.h" 37 #include "public/platform/Platform.h"
38 #include "testing/gtest/include/gtest/gtest.h" 38 #include "testing/gtest/include/gtest/gtest.h"
39 #include "wtf/OwnPtr.h" 39 #include "wtf/OwnPtr.h"
40 40
41 namespace blink { 41 namespace blink {
42 42
43 class MemoryCacheTest : public ::testing::Test { 43 class MemoryCacheTest : public ::testing::Test {
44 public: 44 public:
45 class FakeDecodedResource : public Resource { 45 class FakeDecodedResource : public Resource {
46 public: 46 public:
47 static RefPtrWillBeRawPtr<FakeDecodedResource> create(const ResourceRequ est& request, Type type) 47 static RawPtr<FakeDecodedResource> create(const ResourceRequest& request , Type type)
48 { 48 {
49 return adoptRefWillBeNoop(new FakeDecodedResource(request, type, Res ourceLoaderOptions())); 49 return new FakeDecodedResource(request, type, ResourceLoaderOptions( ));
50 } 50 }
51 51
52 virtual void appendData(const char* data, size_t len) 52 virtual void appendData(const char* data, size_t len)
53 { 53 {
54 Resource::appendData(data, len); 54 Resource::appendData(data, len);
55 setDecodedSize(this->size()); 55 setDecodedSize(this->size());
56 } 56 }
57 57
58 protected: 58 protected:
59 FakeDecodedResource(const ResourceRequest& request, Type type, const Res ourceLoaderOptions& options) 59 FakeDecodedResource(const ResourceRequest& request, Type type, const Res ourceLoaderOptions& options)
60 : Resource(request, type, options) 60 : Resource(request, type, options)
61 { 61 {
62 } 62 }
63 63
64 void destroyDecodedDataIfPossible() override 64 void destroyDecodedDataIfPossible() override
65 { 65 {
66 setDecodedSize(0); 66 setDecodedSize(0);
67 } 67 }
68 }; 68 };
69 69
70 class FakeResource : public Resource { 70 class FakeResource : public Resource {
71 public: 71 public:
72 static RefPtrWillBeRawPtr<FakeResource> create(const ResourceRequest& re quest, Type type) 72 static RawPtr<FakeResource> create(const ResourceRequest& request, Type type)
73 { 73 {
74 return adoptRefWillBeNoop(new FakeResource(request, type, ResourceLo aderOptions())); 74 return new FakeResource(request, type, ResourceLoaderOptions());
75 } 75 }
76 76
77 void fakeEncodedSize(size_t size) 77 void fakeEncodedSize(size_t size)
78 { 78 {
79 setEncodedSize(size); 79 setEncodedSize(size);
80 } 80 }
81 81
82 private: 82 private:
83 FakeResource(const ResourceRequest& request, Type type, const ResourceLo aderOptions& options) 83 FakeResource(const ResourceRequest& request, Type type, const ResourceLo aderOptions& options)
84 : Resource(request, type, options) 84 : Resource(request, type, options)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 116
117 TEST_F(MemoryCacheTest, VeryLargeResourceAccounting) 117 TEST_F(MemoryCacheTest, VeryLargeResourceAccounting)
118 { 118 {
119 const size_t sizeMax = ~static_cast<size_t>(0); 119 const size_t sizeMax = ~static_cast<size_t>(0);
120 const size_t totalCapacity = sizeMax / 4; 120 const size_t totalCapacity = sizeMax / 4;
121 const size_t minDeadCapacity = sizeMax / 16; 121 const size_t minDeadCapacity = sizeMax / 16;
122 const size_t maxDeadCapacity = sizeMax / 8; 122 const size_t maxDeadCapacity = sizeMax / 8;
123 const size_t resourceSize1 = sizeMax / 16; 123 const size_t resourceSize1 = sizeMax / 16;
124 const size_t resourceSize2 = sizeMax / 20; 124 const size_t resourceSize2 = sizeMax / 20;
125 memoryCache()->setCapacities(minDeadCapacity, maxDeadCapacity, totalCapacity ); 125 memoryCache()->setCapacities(minDeadCapacity, maxDeadCapacity, totalCapacity );
126 RefPtrWillBeRawPtr<FakeResource> cachedResource = 126 RawPtr<FakeResource> cachedResource =
127 FakeResource::create(ResourceRequest("http://test/resource"), Resource:: Raw); 127 FakeResource::create(ResourceRequest("http://test/resource"), Resource:: Raw);
128 cachedResource->fakeEncodedSize(resourceSize1); 128 cachedResource->fakeEncodedSize(resourceSize1);
129 129
130 ASSERT_EQ(0u, memoryCache()->deadSize()); 130 ASSERT_EQ(0u, memoryCache()->deadSize());
131 ASSERT_EQ(0u, memoryCache()->liveSize()); 131 ASSERT_EQ(0u, memoryCache()->liveSize());
132 memoryCache()->add(cachedResource.get()); 132 memoryCache()->add(cachedResource.get());
133 ASSERT_EQ(cachedResource->size(), memoryCache()->deadSize()); 133 ASSERT_EQ(cachedResource->size(), memoryCache()->deadSize());
134 ASSERT_EQ(0u, memoryCache()->liveSize()); 134 ASSERT_EQ(0u, memoryCache()->liveSize());
135 135
136 MockResourceClient client(cachedResource); 136 MockResourceClient client(cachedResource);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 ASSERT_EQ(resource1->size() + resource2->size(), memoryCache()->deadSize()); 173 ASSERT_EQ(resource1->size() + resource2->size(), memoryCache()->deadSize());
174 ASSERT_EQ(0u, memoryCache()->liveSize()); 174 ASSERT_EQ(0u, memoryCache()->liveSize());
175 175
176 memoryCache()->prune(); 176 memoryCache()->prune();
177 ASSERT_EQ(0u, memoryCache()->deadSize()); 177 ASSERT_EQ(0u, memoryCache()->deadSize());
178 ASSERT_EQ(0u, memoryCache()->liveSize()); 178 ASSERT_EQ(0u, memoryCache()->liveSize());
179 } 179 }
180 180
181 TEST_F(MemoryCacheTest, DeadResourceEviction_Basic) 181 TEST_F(MemoryCacheTest, DeadResourceEviction_Basic)
182 { 182 {
183 RefPtrWillBeRawPtr<Resource> resource1 = 183 RawPtr<Resource> resource1 =
184 Resource::create(ResourceRequest("http://test/resource1"), Resource::Raw ); 184 Resource::create(ResourceRequest("http://test/resource1"), Resource::Raw );
185 RefPtrWillBeRawPtr<Resource> resource2 = 185 RawPtr<Resource> resource2 =
186 Resource::create(ResourceRequest("http://test/resource2"), Resource::Raw ); 186 Resource::create(ResourceRequest("http://test/resource2"), Resource::Raw );
187 TestDeadResourceEviction(resource1.get(), resource2.get()); 187 TestDeadResourceEviction(resource1.get(), resource2.get());
188 } 188 }
189 189
190 TEST_F(MemoryCacheTest, DeadResourceEviction_MultipleResourceMaps) 190 TEST_F(MemoryCacheTest, DeadResourceEviction_MultipleResourceMaps)
191 { 191 {
192 RefPtrWillBeRawPtr<Resource> resource1 = 192 RawPtr<Resource> resource1 =
193 Resource::create(ResourceRequest("http://test/resource1"), Resource::Raw ); 193 Resource::create(ResourceRequest("http://test/resource1"), Resource::Raw );
194 RefPtrWillBeRawPtr<Resource> resource2 = 194 RawPtr<Resource> resource2 =
195 Resource::create(ResourceRequest("http://test/resource2"), Resource::Raw ); 195 Resource::create(ResourceRequest("http://test/resource2"), Resource::Raw );
196 resource2->setCacheIdentifier("foo"); 196 resource2->setCacheIdentifier("foo");
197 TestDeadResourceEviction(resource1.get(), resource2.get()); 197 TestDeadResourceEviction(resource1.get(), resource2.get());
198 } 198 }
199 199
200 static void runTask1(Resource* live, Resource* dead) 200 static void runTask1(Resource* live, Resource* dead)
201 { 201 {
202 // The resource size has to be nonzero for this test to be meaningful, but 202 // The resource size has to be nonzero for this test to be meaningful, but
203 // we do not rely on it having any particular value. 203 // we do not rely on it having any particular value.
204 ASSERT_GT(live->size(), 0u); 204 ASSERT_GT(live->size(), 0u);
(...skipping 29 matching lines...) Expand all
234 const unsigned minDeadCapacity = 0; 234 const unsigned minDeadCapacity = 0;
235 const unsigned maxDeadCapacity = 0; 235 const unsigned maxDeadCapacity = 0;
236 memoryCache()->setCapacities(minDeadCapacity, maxDeadCapacity, totalCapacity ); 236 memoryCache()->setCapacities(minDeadCapacity, maxDeadCapacity, totalCapacity );
237 const char data[6] = "abcde"; 237 const char data[6] = "abcde";
238 cachedDeadResource->appendData(data, 3u); 238 cachedDeadResource->appendData(data, 3u);
239 cachedDeadResource->finish(); 239 cachedDeadResource->finish();
240 MockResourceClient client(cachedLiveResource); 240 MockResourceClient client(cachedLiveResource);
241 cachedLiveResource->appendData(data, 4u); 241 cachedLiveResource->appendData(data, 4u);
242 cachedLiveResource->finish(); 242 cachedLiveResource->finish();
243 243
244 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, bind(&runTask1, PassRefPtrWillBeRawPtr<Resource>(cachedLiveResource), Pa ssRefPtrWillBeRawPtr<Resource>(cachedDeadResource))); 244 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, bind(&runTask1, RawPtr<Resource>(cachedLiveResource), RawPtr<Resource>(c achedDeadResource)));
245 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, bind(&runTask2, cachedLiveResource->encodedSize() + cachedLiveResource-> overheadSize())); 245 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, bind(&runTask2, cachedLiveResource->encodedSize() + cachedLiveResource-> overheadSize()));
246 testing::runPendingTasks(); 246 testing::runPendingTasks();
247 } 247 }
248 248
249 // Verified that when ordering a prune in a runLoop task, the prune 249 // Verified that when ordering a prune in a runLoop task, the prune
250 // is deferred to the end of the task. 250 // is deferred to the end of the task.
251 TEST_F(MemoryCacheTest, LiveResourceEvictionAtEndOfTask_Basic) 251 TEST_F(MemoryCacheTest, LiveResourceEvictionAtEndOfTask_Basic)
252 { 252 {
253 RefPtrWillBeRawPtr<Resource> cachedDeadResource = 253 RawPtr<Resource> cachedDeadResource =
254 Resource::create(ResourceRequest("hhtp://foo"), Resource::Raw); 254 Resource::create(ResourceRequest("hhtp://foo"), Resource::Raw);
255 RefPtrWillBeRawPtr<Resource> cachedLiveResource = 255 RawPtr<Resource> cachedLiveResource =
256 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Res ource::Raw); 256 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Res ource::Raw);
257 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLiveReso urce.get()); 257 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLiveReso urce.get());
258 } 258 }
259 259
260 TEST_F(MemoryCacheTest, LiveResourceEvictionAtEndOfTask_MultipleResourceMaps) 260 TEST_F(MemoryCacheTest, LiveResourceEvictionAtEndOfTask_MultipleResourceMaps)
261 { 261 {
262 { 262 {
263 RefPtrWillBeRawPtr<Resource> cachedDeadResource = 263 RawPtr<Resource> cachedDeadResource =
264 Resource::create(ResourceRequest("hhtp://foo"), Resource::Raw); 264 Resource::create(ResourceRequest("hhtp://foo"), Resource::Raw);
265 cachedDeadResource->setCacheIdentifier("foo"); 265 cachedDeadResource->setCacheIdentifier("foo");
266 RefPtrWillBeRawPtr<Resource> cachedLiveResource = 266 RawPtr<Resource> cachedLiveResource =
267 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 267 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
268 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLive Resource.get()); 268 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLive Resource.get());
269 memoryCache()->evictResources(); 269 memoryCache()->evictResources();
270 } 270 }
271 { 271 {
272 RefPtrWillBeRawPtr<Resource> cachedDeadResource = 272 RawPtr<Resource> cachedDeadResource =
273 Resource::create(ResourceRequest("hhtp://foo"), Resource::Raw); 273 Resource::create(ResourceRequest("hhtp://foo"), Resource::Raw);
274 RefPtrWillBeRawPtr<Resource> cachedLiveResource = 274 RawPtr<Resource> cachedLiveResource =
275 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 275 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
276 cachedLiveResource->setCacheIdentifier("foo"); 276 cachedLiveResource->setCacheIdentifier("foo");
277 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLive Resource.get()); 277 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLive Resource.get());
278 memoryCache()->evictResources(); 278 memoryCache()->evictResources();
279 } 279 }
280 { 280 {
281 RefPtrWillBeRawPtr<Resource> cachedDeadResource = 281 RawPtr<Resource> cachedDeadResource =
282 Resource::create(ResourceRequest("hhtp://test/resource"), Resource:: Raw); 282 Resource::create(ResourceRequest("hhtp://test/resource"), Resource:: Raw);
283 cachedDeadResource->setCacheIdentifier("foo"); 283 cachedDeadResource->setCacheIdentifier("foo");
284 RefPtrWillBeRawPtr<Resource> cachedLiveResource = 284 RawPtr<Resource> cachedLiveResource =
285 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 285 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
286 cachedLiveResource->setCacheIdentifier("bar"); 286 cachedLiveResource->setCacheIdentifier("bar");
287 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLive Resource.get()); 287 TestLiveResourceEvictionAtEndOfTask(cachedDeadResource.get(), cachedLive Resource.get());
288 memoryCache()->evictResources(); 288 memoryCache()->evictResources();
289 } 289 }
290 } 290 }
291 291
292 // Verifies that cached resources are evicted immediately after release when 292 // Verifies that cached resources are evicted immediately after release when
293 // the total dead resource size is more than double the dead resource capacity. 293 // the total dead resource size is more than double the dead resource capacity.
294 static void TestClientRemoval(Resource* resource1, Resource* resource2) 294 static void TestClientRemoval(Resource* resource1, Resource* resource2)
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 ASSERT_GT(resource1->decodedSize(), 0u); 329 ASSERT_GT(resource1->decodedSize(), 0u);
330 ASSERT_GT(resource2->decodedSize(), 0u); 330 ASSERT_GT(resource2->decodedSize(), 0u);
331 ASSERT_EQ(memoryCache()->deadSize(), resource1->size()); 331 ASSERT_EQ(memoryCache()->deadSize(), resource1->size());
332 ASSERT_EQ(memoryCache()->liveSize(), 0u); 332 ASSERT_EQ(memoryCache()->liveSize(), 0u);
333 ASSERT_TRUE(memoryCache()->contains(resource1)); 333 ASSERT_TRUE(memoryCache()->contains(resource1));
334 ASSERT_FALSE(memoryCache()->contains(resource2)); 334 ASSERT_FALSE(memoryCache()->contains(resource2));
335 } 335 }
336 336
337 TEST_F(MemoryCacheTest, ClientRemoval_Basic) 337 TEST_F(MemoryCacheTest, ClientRemoval_Basic)
338 { 338 {
339 RefPtrWillBeRawPtr<Resource> resource1 = 339 RawPtr<Resource> resource1 =
340 FakeDecodedResource::create(ResourceRequest("http://foo.com"), Resource: :Raw); 340 FakeDecodedResource::create(ResourceRequest("http://foo.com"), Resource: :Raw);
341 RefPtrWillBeRawPtr<Resource> resource2 = 341 RawPtr<Resource> resource2 =
342 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Res ource::Raw); 342 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Res ource::Raw);
343 TestClientRemoval(resource1.get(), resource2.get()); 343 TestClientRemoval(resource1.get(), resource2.get());
344 } 344 }
345 345
346 TEST_F(MemoryCacheTest, ClientRemoval_MultipleResourceMaps) 346 TEST_F(MemoryCacheTest, ClientRemoval_MultipleResourceMaps)
347 { 347 {
348 { 348 {
349 RefPtrWillBeRawPtr<Resource> resource1 = 349 RawPtr<Resource> resource1 =
350 FakeDecodedResource::create(ResourceRequest("http://foo.com"), Resou rce::Raw); 350 FakeDecodedResource::create(ResourceRequest("http://foo.com"), Resou rce::Raw);
351 resource1->setCacheIdentifier("foo"); 351 resource1->setCacheIdentifier("foo");
352 RefPtrWillBeRawPtr<Resource> resource2 = 352 RawPtr<Resource> resource2 =
353 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 353 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
354 TestClientRemoval(resource1.get(), resource2.get()); 354 TestClientRemoval(resource1.get(), resource2.get());
355 memoryCache()->evictResources(); 355 memoryCache()->evictResources();
356 } 356 }
357 { 357 {
358 RefPtrWillBeRawPtr<Resource> resource1 = 358 RawPtr<Resource> resource1 =
359 FakeDecodedResource::create(ResourceRequest("http://foo.com"), Resou rce::Raw); 359 FakeDecodedResource::create(ResourceRequest("http://foo.com"), Resou rce::Raw);
360 RefPtrWillBeRawPtr<Resource> resource2 = 360 RawPtr<Resource> resource2 =
361 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 361 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
362 resource2->setCacheIdentifier("foo"); 362 resource2->setCacheIdentifier("foo");
363 TestClientRemoval(resource1.get(), resource2.get()); 363 TestClientRemoval(resource1.get(), resource2.get());
364 memoryCache()->evictResources(); 364 memoryCache()->evictResources();
365 } 365 }
366 { 366 {
367 RefPtrWillBeRawPtr<Resource> resource1 = 367 RawPtr<Resource> resource1 =
368 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 368 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
369 resource1->setCacheIdentifier("foo"); 369 resource1->setCacheIdentifier("foo");
370 RefPtrWillBeRawPtr<Resource> resource2 = 370 RawPtr<Resource> resource2 =
371 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw); 371 FakeDecodedResource::create(ResourceRequest("http://test/resource"), Resource::Raw);
372 resource2->setCacheIdentifier("bar"); 372 resource2->setCacheIdentifier("bar");
373 TestClientRemoval(resource1.get(), resource2.get()); 373 TestClientRemoval(resource1.get(), resource2.get());
374 memoryCache()->evictResources(); 374 memoryCache()->evictResources();
375 } 375 }
376 } 376 }
377 377
378 TEST_F(MemoryCacheTest, RemoveDuringRevalidation) 378 TEST_F(MemoryCacheTest, RemoveDuringRevalidation)
379 { 379 {
380 RefPtrWillBeRawPtr<FakeResource> resource1 = FakeResource::create(ResourceRe quest("http://test/resource"), Resource::Raw); 380 RawPtr<FakeResource> resource1 = FakeResource::create(ResourceRequest("http: //test/resource"), Resource::Raw);
381 memoryCache()->add(resource1.get()); 381 memoryCache()->add(resource1.get());
382 382
383 RefPtrWillBeRawPtr<FakeResource> resource2 = FakeResource::create(ResourceRe quest("http://test/resource"), Resource::Raw); 383 RawPtr<FakeResource> resource2 = FakeResource::create(ResourceRequest("http: //test/resource"), Resource::Raw);
384 memoryCache()->remove(resource1.get()); 384 memoryCache()->remove(resource1.get());
385 memoryCache()->add(resource2.get()); 385 memoryCache()->add(resource2.get());
386 EXPECT_TRUE(memoryCache()->contains(resource2.get())); 386 EXPECT_TRUE(memoryCache()->contains(resource2.get()));
387 EXPECT_FALSE(memoryCache()->contains(resource1.get())); 387 EXPECT_FALSE(memoryCache()->contains(resource1.get()));
388 388
389 RefPtrWillBeRawPtr<FakeResource> resource3 = FakeResource::create(ResourceRe quest("http://test/resource"), Resource::Raw); 389 RawPtr<FakeResource> resource3 = FakeResource::create(ResourceRequest("http: //test/resource"), Resource::Raw);
390 memoryCache()->remove(resource2.get()); 390 memoryCache()->remove(resource2.get());
391 memoryCache()->add(resource3.get()); 391 memoryCache()->add(resource3.get());
392 EXPECT_TRUE(memoryCache()->contains(resource3.get())); 392 EXPECT_TRUE(memoryCache()->contains(resource3.get()));
393 EXPECT_FALSE(memoryCache()->contains(resource2.get())); 393 EXPECT_FALSE(memoryCache()->contains(resource2.get()));
394 } 394 }
395 395
396 TEST_F(MemoryCacheTest, ResourceMapIsolation) 396 TEST_F(MemoryCacheTest, ResourceMapIsolation)
397 { 397 {
398 RefPtrWillBeRawPtr<FakeResource> resource1 = FakeResource::create(ResourceRe quest("http://test/resource"), Resource::Raw); 398 RawPtr<FakeResource> resource1 = FakeResource::create(ResourceRequest("http: //test/resource"), Resource::Raw);
399 memoryCache()->add(resource1.get()); 399 memoryCache()->add(resource1.get());
400 400
401 RefPtrWillBeRawPtr<FakeResource> resource2 = FakeResource::create(ResourceRe quest("http://test/resource"), Resource::Raw); 401 RawPtr<FakeResource> resource2 = FakeResource::create(ResourceRequest("http: //test/resource"), Resource::Raw);
402 resource2->setCacheIdentifier("foo"); 402 resource2->setCacheIdentifier("foo");
403 memoryCache()->add(resource2.get()); 403 memoryCache()->add(resource2.get());
404 EXPECT_TRUE(memoryCache()->contains(resource1.get())); 404 EXPECT_TRUE(memoryCache()->contains(resource1.get()));
405 EXPECT_TRUE(memoryCache()->contains(resource2.get())); 405 EXPECT_TRUE(memoryCache()->contains(resource2.get()));
406 406
407 const KURL url = KURL(ParsedURLString, "http://test/resource"); 407 const KURL url = KURL(ParsedURLString, "http://test/resource");
408 EXPECT_EQ(resource1.get(), memoryCache()->resourceForURL(url)); 408 EXPECT_EQ(resource1.get(), memoryCache()->resourceForURL(url));
409 EXPECT_EQ(resource1.get(), memoryCache()->resourceForURL(url, memoryCache()- >defaultCacheIdentifier())); 409 EXPECT_EQ(resource1.get(), memoryCache()->resourceForURL(url, memoryCache()- >defaultCacheIdentifier()));
410 EXPECT_EQ(resource2.get(), memoryCache()->resourceForURL(url, "foo")); 410 EXPECT_EQ(resource2.get(), memoryCache()->resourceForURL(url, "foo"));
411 EXPECT_EQ(0, memoryCache()->resourceForURL(KURL())); 411 EXPECT_EQ(0, memoryCache()->resourceForURL(KURL()));
412 412
413 RefPtrWillBeRawPtr<FakeResource> resource3 = FakeResource::create(ResourceRe quest("http://test/resource"), Resource::Raw); 413 RawPtr<FakeResource> resource3 = FakeResource::create(ResourceRequest("http: //test/resource"), Resource::Raw);
414 resource3->setCacheIdentifier("foo"); 414 resource3->setCacheIdentifier("foo");
415 memoryCache()->remove(resource2.get()); 415 memoryCache()->remove(resource2.get());
416 memoryCache()->add(resource3.get()); 416 memoryCache()->add(resource3.get());
417 EXPECT_TRUE(memoryCache()->contains(resource1.get())); 417 EXPECT_TRUE(memoryCache()->contains(resource1.get()));
418 EXPECT_FALSE(memoryCache()->contains(resource2.get())); 418 EXPECT_FALSE(memoryCache()->contains(resource2.get()));
419 EXPECT_TRUE(memoryCache()->contains(resource3.get())); 419 EXPECT_TRUE(memoryCache()->contains(resource3.get()));
420 420
421 WillBeHeapVector<RawPtrWillBeMember<Resource>> resources = memoryCache()->re sourcesForURL(url); 421 HeapVector<Member<Resource>> resources = memoryCache()->resourcesForURL(url) ;
422 EXPECT_EQ(2u, resources.size()); 422 EXPECT_EQ(2u, resources.size());
423 423
424 memoryCache()->evictResources(); 424 memoryCache()->evictResources();
425 EXPECT_FALSE(memoryCache()->contains(resource1.get())); 425 EXPECT_FALSE(memoryCache()->contains(resource1.get()));
426 EXPECT_FALSE(memoryCache()->contains(resource3.get())); 426 EXPECT_FALSE(memoryCache()->contains(resource3.get()));
427 } 427 }
428 428
429 } // namespace blink 429 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/fetch/MemoryCache.cpp ('k') | third_party/WebKit/Source/core/fetch/MockResourceClients.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698