[webkit-reviews] review granted: [Bug 23036] Implement AppCache fallback entries : [Attachment 26313] proposed patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Dec 30 11:02:06 PST 2008
Darin Adler <darin at apple.com> has granted Alexey Proskuryakov <ap at webkit.org>'s
request for review:
Bug 23036: Implement AppCache fallback entries
https://bugs.webkit.org/show_bug.cgi?id=23036
Attachment 26313: proposed patch
https://bugs.webkit.org/attachment.cgi?id=26313&action=review
------- Additional Comments from Darin Adler <darin at apple.com>
> + if (!cache)
> + cache = applicationCache();
> + if (!cache)
> + return false;
I suggest nesting the second if statement inside the first.
> + data.clear();
> + data.append(resource->data()->data(),
resource->data()->size());
We recently changed clear() so that it actually shrinks the capacity of the
vector. This makes this an inefficient algorithm since it involves a free and
subsequent malloc. On the other hand, if the data is going to be kept around
for a while, then maybe it's the right thing to do. Another possibility is to
call shrink(0) instead of clear(). Or to call resize() and then memcpy()
instead of append().
> + unsigned fallbackCount = m_fallbackURLs.size();
> + for (unsigned i = 0; i < fallbackCount; ++i) {
We normally use size_t to iterate vectors. I'm concerned that using a vector
won't scale well if the number of URLs gets large.
> + void setFallbackURLs(const Vector<std::pair<KURL, KURL> >&);
I think this vector type could use a typedef. FallbackURLVector maybe?
> + unsigned fallbackCount = manifest.fallbackURLs.size();
> + for (unsigned i = 0; i < fallbackCount; ++i)
Again, size_t.
> + unsigned newestCacheID = (unsigned)statement.getColumnInt64(2);
> + group->setStorageID((unsigned)statement.getColumnInt64(0));
Lets use C++ casts instead of C casts. And for integer truncation, we normally
don't cast at all -- we use local variables and rely on the compiler allowing
that without a warning. Not a great approach, I guess, but I really believe in
keeping the casts down to a minimum and as clear as possible. Maybe we should
define our own truncation_cast function template?
> + unsigned fallbackCount = fallbackURLs.size();
> + for (unsigned i = 0; i < fallbackCount; ++i) {
size_t again.
> + namespaceURL.setRef(String());
Makes me wish for a clearRef() function.
r=me
More information about the webkit-reviews
mailing list