Noticed a strange situation:
- Code: Select all
class my_filter : public CefResponseFilter
{
public:
my_filter(void* pointer_to_my_data, my_CEF__browser_* my_CEF__browser__this)
{
//.....
}
CefResponseFilter::FilterStatus Filter(void* data_in, size_t data_in_size, size_t& data_in_read, void* data_out, size_t data_out_size, size_t& data_out_written)
{
if (data_in_size != 0)
{
//processing code...
return RESPONSE_FILTER_NEED_MORE_DATA;
}
if (data_in_size == 0)
{
return RESPONSE_FILTER_DONE;
}
}
}
Filter call with data_in_size == 0 - may happen more than once even though I am returning the RESPONSE_FILTER_DONE.
How can this be explained?