Changeset 20242 in webkit
- Timestamp:
- Mar 16, 2007 3:29:52 PM (17 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r20240 r20242 1 2007-03-16 David Hyatt <hyatt@apple.com> 2 3 Fix for 13084, assertion failure in the Cache. Convert the client list 4 to a HashCountedSet so that multiple refs and derefs are allowed. 5 6 Fix RenderImage so that if it has the same image used as a background/border 7 and as the foreground that it will repaint properly (can be tested using 8 border-image and a foreground image). 9 10 Optimize list marker so that it doesn't waste time in the base class method, 11 since list markers don't support background or border images. 12 13 Reviewed by andersca 14 15 * ChangeLog: 16 * loader/CachedResource.cpp: 17 (WebCore::CachedResource::ref): 18 * loader/CachedResource.h: 19 * loader/CachedResourceClientWalker.cpp: 20 (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): 21 * loader/CachedResourceClientWalker.h: 22 * rendering/RenderImage.cpp: 23 (WebCore::RenderImage::imageChanged): 24 * rendering/RenderListMarker.cpp: 25 (WebCore::RenderListMarker::imageChanged): 26 1 27 2007-03-16 Geoffrey Garen <ggaren@apple.com> 2 28 -
trunk/WebCore/loader/CachedResource.cpp
r20199 r20242 95 95 void CachedResource::ref(CachedResourceClient *c) 96 96 { 97 ASSERT(!m_clients.contains(c));98 97 if (!referenced() && inCache()) 99 98 cache()->addToLiveObjectSize(size()); -
trunk/WebCore/loader/CachedResource.h
r20182 r20242 33 33 #include "ResourceResponse.h" 34 34 #include "SharedBuffer.h" 35 #include <wtf/Hash Set.h>35 #include <wtf/HashCountedSet.h> 36 36 #include <wtf/Vector.h> 37 37 #include <time.h> … … 137 137 void setEncodedSize(unsigned); 138 138 139 Hash Set<CachedResourceClient*> m_clients;139 HashCountedSet<CachedResourceClient*> m_clients; 140 140 141 141 String m_url; -
trunk/WebCore/loader/CachedResourceClientWalker.cpp
r15269 r20242 31 31 namespace WebCore { 32 32 33 CachedResourceClientWalker::CachedResourceClientWalker(const Hash Set<CachedResourceClient*>& set)33 CachedResourceClientWalker::CachedResourceClientWalker(const HashCountedSet<CachedResourceClient*>& set) 34 34 : m_clientSet(set), m_clientVector(set.size()), m_index(0) 35 35 { 36 typedef Hash Set<CachedResourceClient*>::const_iterator Iterator;36 typedef HashCountedSet<CachedResourceClient*>::const_iterator Iterator; 37 37 Iterator end = set.end(); 38 38 size_t clientIndex = 0; 39 39 for (Iterator current = set.begin(); current != end; ++current) 40 m_clientVector[clientIndex++] = *current;40 m_clientVector[clientIndex++] = current->first; 41 41 } 42 42 -
trunk/WebCore/loader/CachedResourceClientWalker.h
r15269 r20242 28 28 #define CachedResourceClientWalker_h 29 29 30 #include <wtf/Hash Set.h>30 #include <wtf/HashCountedSet.h> 31 31 #include <wtf/Vector.h> 32 32 … … 39 39 class CachedResourceClientWalker { 40 40 public: 41 CachedResourceClientWalker(const Hash Set<CachedResourceClient*>&);41 CachedResourceClientWalker(const HashCountedSet<CachedResourceClient*>&); 42 42 CachedResourceClient* next(); 43 43 private: 44 const Hash Set<CachedResourceClient*>& m_clientSet;44 const HashCountedSet<CachedResourceClient*>& m_clientSet; 45 45 Vector<CachedResourceClient*> m_clientVector; 46 46 size_t m_index; -
trunk/WebCore/rendering/RenderImage.cpp
r19997 r20242 129 129 return; 130 130 131 if (newImage != m_cachedImage) { 132 RenderReplaced::imageChanged(newImage); 133 return; 134 } 131 RenderReplaced::imageChanged(newImage); 132 if (newImage != m_cachedImage) 133 return; 135 134 136 135 bool imageSizeChanged = false; -
trunk/WebCore/rendering/RenderListMarker.cpp
r19952 r20242 632 632 void RenderListMarker::imageChanged(CachedImage* o) 633 633 { 634 if (o != m_image) {635 RenderBox::imageChanged(o);634 // A list marker can't have a background or border image, so no need to call the base class method. 635 if (o != m_image) 636 636 return; 637 }638 637 639 638 if (m_width != m_image->imageSize().width() || m_height != m_image->imageSize().height())
Note: See TracChangeset
for help on using the changeset viewer.