Ensure content can be shared when retrieving from cache
svn path=/trunk/netsurf/; revision=10361
This commit is contained in:
parent
7577e2a1e6
commit
ff8791a3f7
|
@ -988,6 +988,17 @@ bool content_matches_quirks(struct content *c, bool quirks)
|
|||
return c->quirks == quirks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a content is shareable
|
||||
*
|
||||
* \param c Content to consider
|
||||
* \return True if content is shareable, false otherwise
|
||||
*/
|
||||
bool content_is_shareable(struct content *c)
|
||||
{
|
||||
return handler_map[c->type].no_share == false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message to all users.
|
||||
*/
|
||||
|
|
|
@ -104,6 +104,7 @@ void content_remove_user(struct content *c,
|
|||
|
||||
uint32_t content_count_users(struct content *c);
|
||||
bool content_matches_quirks(struct content *c, bool quirks);
|
||||
bool content_is_shareable(struct content *c);
|
||||
|
||||
const struct llcache_handle *content_get_llcache_handle(struct content *c);
|
||||
|
||||
|
|
|
@ -427,7 +427,6 @@ nserror hlcache_find_content(hlcache_retrieval_ctx *ctx)
|
|||
hlcache_handle entry_handle = { entry, NULL, NULL };
|
||||
const llcache_handle *entry_llcache;
|
||||
|
||||
/** \todo Need to ensure that content is shareable */
|
||||
/** \todo Need to ensure that content can be reused */
|
||||
if (entry->content == NULL)
|
||||
continue;
|
||||
|
@ -436,6 +435,10 @@ nserror hlcache_find_content(hlcache_retrieval_ctx *ctx)
|
|||
if (content_get_status(&entry_handle) == CONTENT_STATUS_ERROR)
|
||||
continue;
|
||||
|
||||
/* Ensure that content is shareable */
|
||||
if (content_is_shareable(entry->content) == false)
|
||||
continue;
|
||||
|
||||
/* Ensure that quirks mode is acceptable */
|
||||
if (content_matches_quirks(entry->content,
|
||||
ctx->child.quirks) == false)
|
||||
|
|
Loading…
Reference in New Issue