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

Side by Side Diff: third_party/WebKit/Source/core/fetch/Resource.h

Issue 2407573002: Wait to notify completion until after a Lo-Fi image is reloaded. (Closed)
Patch Set: Created 4 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 /* 1 /*
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org> 3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org>
4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
6 rights reserved. 6 rights reserved.
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 367
368 SharedBuffer* data() const { return m_data.get(); } 368 SharedBuffer* data() const { return m_data.get(); }
369 void clearData() { m_data.clear(); } 369 void clearData() { m_data.clear(); }
370 370
371 class ProhibitAddRemoveClientInScope : public AutoReset<bool> { 371 class ProhibitAddRemoveClientInScope : public AutoReset<bool> {
372 public: 372 public:
373 ProhibitAddRemoveClientInScope(Resource* resource) 373 ProhibitAddRemoveClientInScope(Resource* resource)
374 : AutoReset(&resource->m_isAddRemoveClientProhibited, true) {} 374 : AutoReset(&resource->m_isAddRemoveClientProhibited, true) {}
375 }; 375 };
376 376
377 class ProhibitNotifyClientsOfCompletionInScope : public AutoReset<bool> {
378 public:
379 ProhibitNotifyClientsOfCompletionInScope(Resource* resource)
380 : AutoReset(&resource->m_isNotifyClientsOfCompletionProhibited, true) {}
381 };
382
383 bool isNotifyClientsOfCompletionProhibited() const {
384 return m_isNotifyClientsOfCompletionProhibited;
385 }
386
377 private: 387 private:
378 class ResourceCallback; 388 class ResourceCallback;
379 class CachedMetadataHandlerImpl; 389 class CachedMetadataHandlerImpl;
380 class ServiceWorkerResponseCachedMetadataHandler; 390 class ServiceWorkerResponseCachedMetadataHandler;
381 391
382 void cancelTimerFired(TimerBase*); 392 void cancelTimerFired(TimerBase*);
383 393
384 void revalidationSucceeded(const ResourceResponse&); 394 void revalidationSucceeded(const ResourceResponse&);
385 void revalidationFailed(); 395 void revalidationFailed();
386 396
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 unsigned m_needsSynchronousCacheHit : 1; 432 unsigned m_needsSynchronousCacheHit : 1;
423 unsigned m_linkPreload : 1; 433 unsigned m_linkPreload : 1;
424 bool m_isRevalidating : 1; 434 bool m_isRevalidating : 1;
425 bool m_isAlive : 1; 435 bool m_isAlive : 1;
426 436
427 ResourceIntegrityDisposition m_integrityDisposition; 437 ResourceIntegrityDisposition m_integrityDisposition;
428 IntegrityMetadataSet m_integrityMetadata; 438 IntegrityMetadataSet m_integrityMetadata;
429 439
430 bool m_isAddRemoveClientProhibited; 440 bool m_isAddRemoveClientProhibited;
431 441
442 bool m_isNotifyClientsOfCompletionProhibited;
443
432 // Ordered list of all redirects followed while fetching this resource. 444 // Ordered list of all redirects followed while fetching this resource.
433 Vector<RedirectPair> m_redirectChain; 445 Vector<RedirectPair> m_redirectChain;
434 446
435 HeapHashCountedSet<WeakMember<ResourceClient>> m_clients; 447 HeapHashCountedSet<WeakMember<ResourceClient>> m_clients;
436 HeapHashCountedSet<WeakMember<ResourceClient>> m_clientsAwaitingCallback; 448 HeapHashCountedSet<WeakMember<ResourceClient>> m_clientsAwaitingCallback;
437 HeapHashCountedSet<WeakMember<ResourceClient>> m_finishedClients; 449 HeapHashCountedSet<WeakMember<ResourceClient>> m_finishedClients;
438 450
439 ResourceLoaderOptions m_options; 451 ResourceLoaderOptions m_options;
440 452
441 double m_responseTimestamp; 453 double m_responseTimestamp;
(...skipping 23 matching lines...) Expand all
465 }; 477 };
466 478
467 #define DEFINE_RESOURCE_TYPE_CASTS(typeName) \ 479 #define DEFINE_RESOURCE_TYPE_CASTS(typeName) \
468 DEFINE_TYPE_CASTS(typeName##Resource, Resource, resource, \ 480 DEFINE_TYPE_CASTS(typeName##Resource, Resource, resource, \
469 resource->getType() == Resource::typeName, \ 481 resource->getType() == Resource::typeName, \
470 resource.getType() == Resource::typeName); 482 resource.getType() == Resource::typeName);
471 483
472 } // namespace blink 484 } // namespace blink
473 485
474 #endif 486 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698